diff --git a/.github/workflows/master.yml b/.github/workflows/master.yml
index 93f6e75c0..69a19e81b 100644
--- a/.github/workflows/master.yml
+++ b/.github/workflows/master.yml
@@ -12,10 +12,10 @@ jobs:
strategy:
fail-fast: false
matrix:
- go: [ '1.16.x' ]
+ go: [ '1.17.x' ]
steps:
- name: Checkout
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3.0.0
with:
fetch-depth: 0
@@ -34,7 +34,7 @@ jobs:
shell: bash
- name: Go installation
- uses: actions/setup-go@v2.1.5
+ uses: actions/setup-go@v3.0.0
with:
go-version: ${{ matrix.go }}
@@ -45,7 +45,7 @@ jobs:
shell: bash
- name: Commit changes
- uses: EndBug/add-and-commit@v7.5.0
+ uses: EndBug/add-and-commit@v8.0.2
with:
add: 'netbox'
author_name: smutel
diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml
index 0967829fa..37fe171a2 100644
--- a/.github/workflows/pr.yml
+++ b/.github/workflows/pr.yml
@@ -10,10 +10,10 @@ jobs:
strategy:
fail-fast: false
matrix:
- go: [ '1.16.x' ]
+ go: [ '1.17.x' ]
steps:
- name: Check conventional commits in PR
- uses: Namchee/conventional-pr@v0.8.0
+ uses: Namchee/conventional-pr@v0.9.0
with:
access_token: ${{ secrets.github_token }}
label: "no-conventional-commits"
@@ -22,7 +22,7 @@ jobs:
strict: false
- name: Checkout
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3.0.0
with:
fetch-depth: 0
@@ -42,7 +42,7 @@ jobs:
shell: bash
- name: Go installation
- uses: actions/setup-go@v2.1.5
+ uses: actions/setup-go@v3.0.0
with:
go-version: ${{ matrix.go }}
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 39cd4ebdc..4bb496ce1 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -12,21 +12,21 @@ jobs:
strategy:
fail-fast: false
matrix:
- go: [ '1.16.x' ]
+ go: [ '1.17.x' ]
steps:
- name: Checkout
- uses: actions/checkout@v2.4.0
+ uses: actions/checkout@v3.0.0
with:
fetch-depth: 0
- name: Go installation
- uses: actions/setup-go@v2.1.5
+ uses: actions/setup-go@v3.0.0
with:
go-version: ${{ matrix.go }}
- name: Import GPG key
id: import_gpg
- uses: crazy-max/ghaction-import-gpg@v4.1.0
+ uses: crazy-max/ghaction-import-gpg@v4.2.0
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.PASSPHRASE }}
@@ -39,7 +39,7 @@ jobs:
run: ./utils/getChangelogRelease CHANGELOG.md ${{ steps.tag.outputs.tag }} > /tmp/RELEASE_CHANGELOG.md
- name: Run GoReleaser
- uses: goreleaser/goreleaser-action@v2.8.1
+ uses: goreleaser/goreleaser-action@v2.9.1
with:
version: latest
args: release --rm-dist --release-notes=/tmp/RELEASE_CHANGELOG.md
diff --git a/README.md b/README.md
index 20a369401..eb20c00d2 100644
--- a/README.md
+++ b/README.md
@@ -21,6 +21,7 @@ Terraform provider for [Netbox.](https://netbox.readthedocs.io/en/stable/)
| 2.8 | 0.x.y |
| 2.9 | 1.x.y |
| 2.11 | 2.x.y |
+| 3.0 | 3.x.y |
## Building the provider
diff --git a/docs/data-sources/json_circuits_circuit_terminations_list.md b/docs/data-sources/json_circuits_circuit_terminations_list.md
index 564013d59..f886eeaf7 100644
--- a/docs/data-sources/json_circuits_circuit_terminations_list.md
+++ b/docs/data-sources/json_circuits_circuit_terminations_list.md
@@ -6,10 +6,10 @@ Get json output from the circuits_circuit_terminations_list Netbox endpoint
```hcl
data "netbox_json_circuits_circuit_terminations_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_circuits_circuit_terminations_list.test.json)
+ value = jsondecode(data.netbox_json_circuits_circuit_terminations_list.test.json)
}
```
diff --git a/docs/data-sources/json_circuits_circuit_types_list.md b/docs/data-sources/json_circuits_circuit_types_list.md
index 86e0256d5..73e6eb0d4 100644
--- a/docs/data-sources/json_circuits_circuit_types_list.md
+++ b/docs/data-sources/json_circuits_circuit_types_list.md
@@ -6,10 +6,10 @@ Get json output from the circuits_circuit_types_list Netbox endpoint
```hcl
data "netbox_json_circuits_circuit_types_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_circuits_circuit_types_list.test.json)
+ value = jsondecode(data.netbox_json_circuits_circuit_types_list.test.json)
}
```
diff --git a/docs/data-sources/json_circuits_circuits_list.md b/docs/data-sources/json_circuits_circuits_list.md
index d8eec9446..6617ce1f6 100644
--- a/docs/data-sources/json_circuits_circuits_list.md
+++ b/docs/data-sources/json_circuits_circuits_list.md
@@ -6,10 +6,10 @@ Get json output from the circuits_circuits_list Netbox endpoint
```hcl
data "netbox_json_circuits_circuits_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_circuits_circuits_list.test.json)
+ value = jsondecode(data.netbox_json_circuits_circuits_list.test.json)
}
```
diff --git a/docs/data-sources/json_secrets_secret_roles_list.md b/docs/data-sources/json_circuits_provider_networks_list.md
similarity index 58%
rename from docs/data-sources/json_secrets_secret_roles_list.md
rename to docs/data-sources/json_circuits_provider_networks_list.md
index 299ac5712..446c328ce 100644
--- a/docs/data-sources/json_secrets_secret_roles_list.md
+++ b/docs/data-sources/json_circuits_provider_networks_list.md
@@ -1,15 +1,15 @@
-# netbox\_json\_secrets\_secret\_roles\_list Data Source
+# netbox\_json\_circuits\_provider\_networks\_list Data Source
-Get json output from the secrets_secret_roles_list Netbox endpoint
+Get json output from the circuits_provider_networks_list Netbox endpoint
## Example Usage
```hcl
-data "netbox_json_secrets_secret_roles_list" "test" {
- limit = 0
+data "netbox_json_circuits_provider_networks_list" "test" {
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_secrets_secret_roles_list.test.json)
+ value = jsondecode(data.netbox_json_circuits_provider_networks_list.test.json)
}
```
diff --git a/docs/data-sources/json_circuits_providers_list.md b/docs/data-sources/json_circuits_providers_list.md
index c96bdf01c..bfe751fe0 100644
--- a/docs/data-sources/json_circuits_providers_list.md
+++ b/docs/data-sources/json_circuits_providers_list.md
@@ -6,10 +6,10 @@ Get json output from the circuits_providers_list Netbox endpoint
```hcl
data "netbox_json_circuits_providers_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_circuits_providers_list.test.json)
+ value = jsondecode(data.netbox_json_circuits_providers_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_cables_list.md b/docs/data-sources/json_dcim_cables_list.md
index c7262dc45..2f4903e57 100644
--- a/docs/data-sources/json_dcim_cables_list.md
+++ b/docs/data-sources/json_dcim_cables_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_cables_list Netbox endpoint
```hcl
data "netbox_json_dcim_cables_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_cables_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_cables_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_console_port_templates_list.md b/docs/data-sources/json_dcim_console_port_templates_list.md
index 31d55cddc..80a38118e 100644
--- a/docs/data-sources/json_dcim_console_port_templates_list.md
+++ b/docs/data-sources/json_dcim_console_port_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_console_port_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_console_port_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_console_port_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_console_port_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_console_ports_list.md b/docs/data-sources/json_dcim_console_ports_list.md
index daa1cce57..251aabae8 100644
--- a/docs/data-sources/json_dcim_console_ports_list.md
+++ b/docs/data-sources/json_dcim_console_ports_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_console_ports_list Netbox endpoint
```hcl
data "netbox_json_dcim_console_ports_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_console_ports_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_console_ports_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_console_server_port_templates_list.md b/docs/data-sources/json_dcim_console_server_port_templates_list.md
index 1a89b2942..880c2e719 100644
--- a/docs/data-sources/json_dcim_console_server_port_templates_list.md
+++ b/docs/data-sources/json_dcim_console_server_port_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_console_server_port_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_console_server_port_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_console_server_port_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_console_server_port_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_console_server_ports_list.md b/docs/data-sources/json_dcim_console_server_ports_list.md
index 2f4e38f2e..1d5352706 100644
--- a/docs/data-sources/json_dcim_console_server_ports_list.md
+++ b/docs/data-sources/json_dcim_console_server_ports_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_console_server_ports_list Netbox endpoint
```hcl
data "netbox_json_dcim_console_server_ports_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_console_server_ports_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_console_server_ports_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_device_bay_templates_list.md b/docs/data-sources/json_dcim_device_bay_templates_list.md
index 631e74e5e..e48c43140 100644
--- a/docs/data-sources/json_dcim_device_bay_templates_list.md
+++ b/docs/data-sources/json_dcim_device_bay_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_device_bay_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_device_bay_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_device_bay_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_device_bay_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_device_bays_list.md b/docs/data-sources/json_dcim_device_bays_list.md
index fdd4425da..f39e7d33d 100644
--- a/docs/data-sources/json_dcim_device_bays_list.md
+++ b/docs/data-sources/json_dcim_device_bays_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_device_bays_list Netbox endpoint
```hcl
data "netbox_json_dcim_device_bays_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_device_bays_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_device_bays_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_device_roles_list.md b/docs/data-sources/json_dcim_device_roles_list.md
index b4145e401..2a713e594 100644
--- a/docs/data-sources/json_dcim_device_roles_list.md
+++ b/docs/data-sources/json_dcim_device_roles_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_device_roles_list Netbox endpoint
```hcl
data "netbox_json_dcim_device_roles_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_device_roles_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_device_roles_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_device_types_list.md b/docs/data-sources/json_dcim_device_types_list.md
index 695909bfd..14ef26202 100644
--- a/docs/data-sources/json_dcim_device_types_list.md
+++ b/docs/data-sources/json_dcim_device_types_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_device_types_list Netbox endpoint
```hcl
data "netbox_json_dcim_device_types_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_device_types_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_device_types_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_devices_list.md b/docs/data-sources/json_dcim_devices_list.md
index 5aa21e24b..c83a0bc4e 100644
--- a/docs/data-sources/json_dcim_devices_list.md
+++ b/docs/data-sources/json_dcim_devices_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_devices_list Netbox endpoint
```hcl
data "netbox_json_dcim_devices_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_devices_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_devices_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_front_port_templates_list.md b/docs/data-sources/json_dcim_front_port_templates_list.md
index 4f92e89b7..1f3e7b2e9 100644
--- a/docs/data-sources/json_dcim_front_port_templates_list.md
+++ b/docs/data-sources/json_dcim_front_port_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_front_port_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_front_port_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_front_port_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_front_port_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_front_ports_list.md b/docs/data-sources/json_dcim_front_ports_list.md
index f193cadd0..26a9e6979 100644
--- a/docs/data-sources/json_dcim_front_ports_list.md
+++ b/docs/data-sources/json_dcim_front_ports_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_front_ports_list Netbox endpoint
```hcl
data "netbox_json_dcim_front_ports_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_front_ports_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_front_ports_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_interface_connections_list.md b/docs/data-sources/json_dcim_interface_connections_list.md
deleted file mode 100644
index 8776170c8..000000000
--- a/docs/data-sources/json_dcim_interface_connections_list.md
+++ /dev/null
@@ -1,24 +0,0 @@
-# netbox\_json\_dcim\_interface\_connections\_list Data Source
-
-Get json output from the dcim_interface_connections_list Netbox endpoint
-
-## Example Usage
-
-```hcl
-data "netbox_json_dcim_interface_connections_list" "test" {
- limit = 0
-}
-output "example" {
- value = jsondecode(data.netbox_json_dcim_interface_connections_list.test.json)
-}
-```
-
-## Argument Reference
-
-* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
-
-## Attributes Reference
-
-In addition to the above arguments, the following attributes are exported:
-* ``json`` - JSON output of the list of objects for this Netbox endpoint.
-
diff --git a/docs/data-sources/json_dcim_interface_templates_list.md b/docs/data-sources/json_dcim_interface_templates_list.md
index 06c7c4205..348343f2b 100644
--- a/docs/data-sources/json_dcim_interface_templates_list.md
+++ b/docs/data-sources/json_dcim_interface_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_interface_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_interface_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_interface_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_interface_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_interfaces_list.md b/docs/data-sources/json_dcim_interfaces_list.md
index a0d6188d1..132a06151 100644
--- a/docs/data-sources/json_dcim_interfaces_list.md
+++ b/docs/data-sources/json_dcim_interfaces_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_interfaces_list Netbox endpoint
```hcl
data "netbox_json_dcim_interfaces_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_interfaces_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_interfaces_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_inventory_items_list.md b/docs/data-sources/json_dcim_inventory_items_list.md
index eeb9246fe..4a891fb71 100644
--- a/docs/data-sources/json_dcim_inventory_items_list.md
+++ b/docs/data-sources/json_dcim_inventory_items_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_inventory_items_list Netbox endpoint
```hcl
data "netbox_json_dcim_inventory_items_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_inventory_items_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_inventory_items_list.test.json)
}
```
diff --git a/docs/data-sources/json_secrets_secrets_list.md b/docs/data-sources/json_dcim_locations_list.md
similarity index 58%
rename from docs/data-sources/json_secrets_secrets_list.md
rename to docs/data-sources/json_dcim_locations_list.md
index e23e93270..7333dba59 100644
--- a/docs/data-sources/json_secrets_secrets_list.md
+++ b/docs/data-sources/json_dcim_locations_list.md
@@ -1,15 +1,15 @@
-# netbox\_json\_secrets\_secrets\_list Data Source
+# netbox\_json\_dcim\_locations\_list Data Source
-Get json output from the secrets_secrets_list Netbox endpoint
+Get json output from the dcim_locations_list Netbox endpoint
## Example Usage
```hcl
-data "netbox_json_secrets_secrets_list" "test" {
- limit = 0
+data "netbox_json_dcim_locations_list" "test" {
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_secrets_secrets_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_locations_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_manufacturers_list.md b/docs/data-sources/json_dcim_manufacturers_list.md
index 333015b12..520767bc1 100644
--- a/docs/data-sources/json_dcim_manufacturers_list.md
+++ b/docs/data-sources/json_dcim_manufacturers_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_manufacturers_list Netbox endpoint
```hcl
data "netbox_json_dcim_manufacturers_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_manufacturers_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_manufacturers_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_platforms_list.md b/docs/data-sources/json_dcim_platforms_list.md
index e649a763a..e5bbecdcf 100644
--- a/docs/data-sources/json_dcim_platforms_list.md
+++ b/docs/data-sources/json_dcim_platforms_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_platforms_list Netbox endpoint
```hcl
data "netbox_json_dcim_platforms_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_platforms_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_platforms_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_feeds_list.md b/docs/data-sources/json_dcim_power_feeds_list.md
index 4535b3883..f989586b3 100644
--- a/docs/data-sources/json_dcim_power_feeds_list.md
+++ b/docs/data-sources/json_dcim_power_feeds_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_feeds_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_feeds_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_feeds_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_feeds_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_outlet_templates_list.md b/docs/data-sources/json_dcim_power_outlet_templates_list.md
index 4d1650428..0c7244f76 100644
--- a/docs/data-sources/json_dcim_power_outlet_templates_list.md
+++ b/docs/data-sources/json_dcim_power_outlet_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_outlet_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_outlet_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_outlet_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_outlet_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_outlets_list.md b/docs/data-sources/json_dcim_power_outlets_list.md
index 899555f1c..290d99ad0 100644
--- a/docs/data-sources/json_dcim_power_outlets_list.md
+++ b/docs/data-sources/json_dcim_power_outlets_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_outlets_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_outlets_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_outlets_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_outlets_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_panels_list.md b/docs/data-sources/json_dcim_power_panels_list.md
index 8164a5ac0..30c300cd3 100644
--- a/docs/data-sources/json_dcim_power_panels_list.md
+++ b/docs/data-sources/json_dcim_power_panels_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_panels_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_panels_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_panels_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_panels_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_port_templates_list.md b/docs/data-sources/json_dcim_power_port_templates_list.md
index 4c0b2e776..2e7b818d8 100644
--- a/docs/data-sources/json_dcim_power_port_templates_list.md
+++ b/docs/data-sources/json_dcim_power_port_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_port_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_port_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_port_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_port_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_ports_list.md b/docs/data-sources/json_dcim_power_ports_list.md
index 422bd6940..be4bbcdb2 100644
--- a/docs/data-sources/json_dcim_power_ports_list.md
+++ b/docs/data-sources/json_dcim_power_ports_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_power_ports_list Netbox endpoint
```hcl
data "netbox_json_dcim_power_ports_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_ports_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_power_ports_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_rack_reservations_list.md b/docs/data-sources/json_dcim_rack_reservations_list.md
index 76c4b6ee9..c1692eb3d 100644
--- a/docs/data-sources/json_dcim_rack_reservations_list.md
+++ b/docs/data-sources/json_dcim_rack_reservations_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_rack_reservations_list Netbox endpoint
```hcl
data "netbox_json_dcim_rack_reservations_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_rack_reservations_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_rack_reservations_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_rack_roles_list.md b/docs/data-sources/json_dcim_rack_roles_list.md
index 189c62ad3..395354602 100644
--- a/docs/data-sources/json_dcim_rack_roles_list.md
+++ b/docs/data-sources/json_dcim_rack_roles_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_rack_roles_list Netbox endpoint
```hcl
data "netbox_json_dcim_rack_roles_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_rack_roles_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_rack_roles_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_racks_list.md b/docs/data-sources/json_dcim_racks_list.md
index e37f49743..73ed54e92 100644
--- a/docs/data-sources/json_dcim_racks_list.md
+++ b/docs/data-sources/json_dcim_racks_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_racks_list Netbox endpoint
```hcl
data "netbox_json_dcim_racks_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_racks_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_racks_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_rear_port_templates_list.md b/docs/data-sources/json_dcim_rear_port_templates_list.md
index 8eda4287f..93ec09668 100644
--- a/docs/data-sources/json_dcim_rear_port_templates_list.md
+++ b/docs/data-sources/json_dcim_rear_port_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_rear_port_templates_list Netbox endpoint
```hcl
data "netbox_json_dcim_rear_port_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_rear_port_templates_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_rear_port_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_rear_ports_list.md b/docs/data-sources/json_dcim_rear_ports_list.md
index 7353d936d..7cff121b1 100644
--- a/docs/data-sources/json_dcim_rear_ports_list.md
+++ b/docs/data-sources/json_dcim_rear_ports_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_rear_ports_list Netbox endpoint
```hcl
data "netbox_json_dcim_rear_ports_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_rear_ports_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_rear_ports_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_regions_list.md b/docs/data-sources/json_dcim_regions_list.md
index bfe3e38ab..b769105fe 100644
--- a/docs/data-sources/json_dcim_regions_list.md
+++ b/docs/data-sources/json_dcim_regions_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_regions_list Netbox endpoint
```hcl
data "netbox_json_dcim_regions_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_regions_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_regions_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_console_connections_list.md b/docs/data-sources/json_dcim_site_groups_list.md
similarity index 55%
rename from docs/data-sources/json_dcim_console_connections_list.md
rename to docs/data-sources/json_dcim_site_groups_list.md
index bb850aeb2..eb9c4513d 100644
--- a/docs/data-sources/json_dcim_console_connections_list.md
+++ b/docs/data-sources/json_dcim_site_groups_list.md
@@ -1,15 +1,15 @@
-# netbox\_json\_dcim\_console\_connections\_list Data Source
+# netbox\_json\_dcim\_site\_groups\_list Data Source
-Get json output from the dcim_console_connections_list Netbox endpoint
+Get json output from the dcim_site_groups_list Netbox endpoint
## Example Usage
```hcl
-data "netbox_json_dcim_console_connections_list" "test" {
- limit = 0
+data "netbox_json_dcim_site_groups_list" "test" {
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_console_connections_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_site_groups_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_sites_list.md b/docs/data-sources/json_dcim_sites_list.md
index ed415fd29..ec2984ce8 100644
--- a/docs/data-sources/json_dcim_sites_list.md
+++ b/docs/data-sources/json_dcim_sites_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_sites_list Netbox endpoint
```hcl
data "netbox_json_dcim_sites_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_sites_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_sites_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_virtual_chassis_list.md b/docs/data-sources/json_dcim_virtual_chassis_list.md
index eece1f390..2d66c565a 100644
--- a/docs/data-sources/json_dcim_virtual_chassis_list.md
+++ b/docs/data-sources/json_dcim_virtual_chassis_list.md
@@ -6,10 +6,10 @@ Get json output from the dcim_virtual_chassis_list Netbox endpoint
```hcl
data "netbox_json_dcim_virtual_chassis_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_virtual_chassis_list.test.json)
+ value = jsondecode(data.netbox_json_dcim_virtual_chassis_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_config_contexts_list.md b/docs/data-sources/json_extras_config_contexts_list.md
index cbd962dca..e67e2e23c 100644
--- a/docs/data-sources/json_extras_config_contexts_list.md
+++ b/docs/data-sources/json_extras_config_contexts_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_config_contexts_list Netbox endpoint
```hcl
data "netbox_json_extras_config_contexts_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_config_contexts_list.test.json)
+ value = jsondecode(data.netbox_json_extras_config_contexts_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_content_types_list.md b/docs/data-sources/json_extras_content_types_list.md
new file mode 100644
index 000000000..2359b9c11
--- /dev/null
+++ b/docs/data-sources/json_extras_content_types_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_extras\_content\_types\_list Data Source
+
+Get json output from the extras_content_types_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_extras_content_types_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_extras_content_types_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_extras_custom_fields_list.md b/docs/data-sources/json_extras_custom_fields_list.md
new file mode 100644
index 000000000..503066176
--- /dev/null
+++ b/docs/data-sources/json_extras_custom_fields_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_extras\_custom\_fields\_list Data Source
+
+Get json output from the extras_custom_fields_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_extras_custom_fields_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_extras_custom_fields_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_extras_custom_links_list.md b/docs/data-sources/json_extras_custom_links_list.md
new file mode 100644
index 000000000..0b5f9ac0d
--- /dev/null
+++ b/docs/data-sources/json_extras_custom_links_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_extras\_custom\_links\_list Data Source
+
+Get json output from the extras_custom_links_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_extras_custom_links_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_extras_custom_links_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_extras_export_templates_list.md b/docs/data-sources/json_extras_export_templates_list.md
index e06d73030..4674f902a 100644
--- a/docs/data-sources/json_extras_export_templates_list.md
+++ b/docs/data-sources/json_extras_export_templates_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_export_templates_list Netbox endpoint
```hcl
data "netbox_json_extras_export_templates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_export_templates_list.test.json)
+ value = jsondecode(data.netbox_json_extras_export_templates_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_image_attachments_list.md b/docs/data-sources/json_extras_image_attachments_list.md
index fe699e224..4d74b7e60 100644
--- a/docs/data-sources/json_extras_image_attachments_list.md
+++ b/docs/data-sources/json_extras_image_attachments_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_image_attachments_list Netbox endpoint
```hcl
data "netbox_json_extras_image_attachments_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_image_attachments_list.test.json)
+ value = jsondecode(data.netbox_json_extras_image_attachments_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_job_results_list.md b/docs/data-sources/json_extras_job_results_list.md
index c0b70004f..4f210aa30 100644
--- a/docs/data-sources/json_extras_job_results_list.md
+++ b/docs/data-sources/json_extras_job_results_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_job_results_list Netbox endpoint
```hcl
data "netbox_json_extras_job_results_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_job_results_list.test.json)
+ value = jsondecode(data.netbox_json_extras_job_results_list.test.json)
}
```
diff --git a/docs/data-sources/json_dcim_power_connections_list.md b/docs/data-sources/json_extras_journal_entries_list.md
similarity index 56%
rename from docs/data-sources/json_dcim_power_connections_list.md
rename to docs/data-sources/json_extras_journal_entries_list.md
index 9ad2e0f19..2fa91907e 100644
--- a/docs/data-sources/json_dcim_power_connections_list.md
+++ b/docs/data-sources/json_extras_journal_entries_list.md
@@ -1,15 +1,15 @@
-# netbox\_json\_dcim\_power\_connections\_list Data Source
+# netbox\_json\_extras\_journal\_entries\_list Data Source
-Get json output from the dcim_power_connections_list Netbox endpoint
+Get json output from the extras_journal_entries_list Netbox endpoint
## Example Usage
```hcl
-data "netbox_json_dcim_power_connections_list" "test" {
- limit = 0
+data "netbox_json_extras_journal_entries_list" "test" {
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_dcim_power_connections_list.test.json)
+ value = jsondecode(data.netbox_json_extras_journal_entries_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_object_changes_list.md b/docs/data-sources/json_extras_object_changes_list.md
index b0b5be825..2d22db6aa 100644
--- a/docs/data-sources/json_extras_object_changes_list.md
+++ b/docs/data-sources/json_extras_object_changes_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_object_changes_list Netbox endpoint
```hcl
data "netbox_json_extras_object_changes_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_object_changes_list.test.json)
+ value = jsondecode(data.netbox_json_extras_object_changes_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_tags_list.md b/docs/data-sources/json_extras_tags_list.md
index 6e04a04de..1b214766f 100644
--- a/docs/data-sources/json_extras_tags_list.md
+++ b/docs/data-sources/json_extras_tags_list.md
@@ -6,10 +6,10 @@ Get json output from the extras_tags_list Netbox endpoint
```hcl
data "netbox_json_extras_tags_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_extras_tags_list.test.json)
+ value = jsondecode(data.netbox_json_extras_tags_list.test.json)
}
```
diff --git a/docs/data-sources/json_extras_webhooks_list.md b/docs/data-sources/json_extras_webhooks_list.md
new file mode 100644
index 000000000..e963b185d
--- /dev/null
+++ b/docs/data-sources/json_extras_webhooks_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_extras\_webhooks\_list Data Source
+
+Get json output from the extras_webhooks_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_extras_webhooks_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_extras_webhooks_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_ipam_aggregates_list.md b/docs/data-sources/json_ipam_aggregates_list.md
index 833a17751..0bbb60caa 100644
--- a/docs/data-sources/json_ipam_aggregates_list.md
+++ b/docs/data-sources/json_ipam_aggregates_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_aggregates_list Netbox endpoint
```hcl
data "netbox_json_ipam_aggregates_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_aggregates_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_aggregates_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_ip_addresses_list.md b/docs/data-sources/json_ipam_ip_addresses_list.md
index 62f49d896..f80d9d872 100644
--- a/docs/data-sources/json_ipam_ip_addresses_list.md
+++ b/docs/data-sources/json_ipam_ip_addresses_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_ip_addresses_list Netbox endpoint
```hcl
data "netbox_json_ipam_ip_addresses_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_ip_addresses_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_ip_addresses_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_ip_ranges_list.md b/docs/data-sources/json_ipam_ip_ranges_list.md
new file mode 100644
index 000000000..44d2d0352
--- /dev/null
+++ b/docs/data-sources/json_ipam_ip_ranges_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_ipam\_ip\_ranges\_list Data Source
+
+Get json output from the ipam_ip_ranges_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_ipam_ip_ranges_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_ipam_ip_ranges_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_ipam_prefixes_list.md b/docs/data-sources/json_ipam_prefixes_list.md
index 5dcfe1f51..b9cb95e02 100644
--- a/docs/data-sources/json_ipam_prefixes_list.md
+++ b/docs/data-sources/json_ipam_prefixes_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_prefixes_list Netbox endpoint
```hcl
data "netbox_json_ipam_prefixes_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_prefixes_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_prefixes_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_rirs_list.md b/docs/data-sources/json_ipam_rirs_list.md
index 6c7b641c1..8c681a6d2 100644
--- a/docs/data-sources/json_ipam_rirs_list.md
+++ b/docs/data-sources/json_ipam_rirs_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_rirs_list Netbox endpoint
```hcl
data "netbox_json_ipam_rirs_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_rirs_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_rirs_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_roles_list.md b/docs/data-sources/json_ipam_roles_list.md
index 40492a8a4..9a230dee2 100644
--- a/docs/data-sources/json_ipam_roles_list.md
+++ b/docs/data-sources/json_ipam_roles_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_roles_list Netbox endpoint
```hcl
data "netbox_json_ipam_roles_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_roles_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_roles_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_route_targets_list.md b/docs/data-sources/json_ipam_route_targets_list.md
new file mode 100644
index 000000000..4d53ae3f7
--- /dev/null
+++ b/docs/data-sources/json_ipam_route_targets_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_ipam\_route\_targets\_list Data Source
+
+Get json output from the ipam_route_targets_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_ipam_route_targets_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_ipam_route_targets_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_ipam_services_list.md b/docs/data-sources/json_ipam_services_list.md
index c9b1901a9..38824bb5e 100644
--- a/docs/data-sources/json_ipam_services_list.md
+++ b/docs/data-sources/json_ipam_services_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_services_list Netbox endpoint
```hcl
data "netbox_json_ipam_services_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_services_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_services_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_vlan_groups_list.md b/docs/data-sources/json_ipam_vlan_groups_list.md
index 7e99ce5f4..c298814cc 100644
--- a/docs/data-sources/json_ipam_vlan_groups_list.md
+++ b/docs/data-sources/json_ipam_vlan_groups_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_vlan_groups_list Netbox endpoint
```hcl
data "netbox_json_ipam_vlan_groups_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_vlan_groups_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_vlan_groups_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_vlans_list.md b/docs/data-sources/json_ipam_vlans_list.md
index a972480b9..b4a5a0b15 100644
--- a/docs/data-sources/json_ipam_vlans_list.md
+++ b/docs/data-sources/json_ipam_vlans_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_vlans_list Netbox endpoint
```hcl
data "netbox_json_ipam_vlans_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_vlans_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_vlans_list.test.json)
}
```
diff --git a/docs/data-sources/json_ipam_vrfs_list.md b/docs/data-sources/json_ipam_vrfs_list.md
index cabdf583e..88fe3eac9 100644
--- a/docs/data-sources/json_ipam_vrfs_list.md
+++ b/docs/data-sources/json_ipam_vrfs_list.md
@@ -6,10 +6,10 @@ Get json output from the ipam_vrfs_list Netbox endpoint
```hcl
data "netbox_json_ipam_vrfs_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_ipam_vrfs_list.test.json)
+ value = jsondecode(data.netbox_json_ipam_vrfs_list.test.json)
}
```
diff --git a/docs/data-sources/json_tenancy_tenant_groups_list.md b/docs/data-sources/json_tenancy_tenant_groups_list.md
index 8a0c34995..a0a3f9b05 100644
--- a/docs/data-sources/json_tenancy_tenant_groups_list.md
+++ b/docs/data-sources/json_tenancy_tenant_groups_list.md
@@ -6,10 +6,10 @@ Get json output from the tenancy_tenant_groups_list Netbox endpoint
```hcl
data "netbox_json_tenancy_tenant_groups_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_tenancy_tenant_groups_list.test.json)
+ value = jsondecode(data.netbox_json_tenancy_tenant_groups_list.test.json)
}
```
diff --git a/docs/data-sources/json_tenancy_tenants_list.md b/docs/data-sources/json_tenancy_tenants_list.md
index 2d7765ac0..79b9d79ff 100644
--- a/docs/data-sources/json_tenancy_tenants_list.md
+++ b/docs/data-sources/json_tenancy_tenants_list.md
@@ -6,10 +6,10 @@ Get json output from the tenancy_tenants_list Netbox endpoint
```hcl
data "netbox_json_tenancy_tenants_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_tenancy_tenants_list.test.json)
+ value = jsondecode(data.netbox_json_tenancy_tenants_list.test.json)
}
```
diff --git a/docs/data-sources/json_users_groups_list.md b/docs/data-sources/json_users_groups_list.md
index 65e87f8e2..8ba840f70 100644
--- a/docs/data-sources/json_users_groups_list.md
+++ b/docs/data-sources/json_users_groups_list.md
@@ -6,10 +6,10 @@ Get json output from the users_groups_list Netbox endpoint
```hcl
data "netbox_json_users_groups_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_users_groups_list.test.json)
+ value = jsondecode(data.netbox_json_users_groups_list.test.json)
}
```
diff --git a/docs/data-sources/json_users_permissions_list.md b/docs/data-sources/json_users_permissions_list.md
index e71579e5b..148473b41 100644
--- a/docs/data-sources/json_users_permissions_list.md
+++ b/docs/data-sources/json_users_permissions_list.md
@@ -6,10 +6,10 @@ Get json output from the users_permissions_list Netbox endpoint
```hcl
data "netbox_json_users_permissions_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_users_permissions_list.test.json)
+ value = jsondecode(data.netbox_json_users_permissions_list.test.json)
}
```
diff --git a/docs/data-sources/json_users_tokens_list.md b/docs/data-sources/json_users_tokens_list.md
new file mode 100644
index 000000000..c28f9c499
--- /dev/null
+++ b/docs/data-sources/json_users_tokens_list.md
@@ -0,0 +1,24 @@
+# netbox\_json\_users\_tokens\_list Data Source
+
+Get json output from the users_tokens_list Netbox endpoint
+
+## Example Usage
+
+```hcl
+data "netbox_json_users_tokens_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_users_tokens_list.test.json)
+}
+```
+
+## Argument Reference
+
+* ``limit`` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* ``json`` - JSON output of the list of objects for this Netbox endpoint.
+
diff --git a/docs/data-sources/json_users_users_list.md b/docs/data-sources/json_users_users_list.md
index 72e5252ae..3a71ba233 100644
--- a/docs/data-sources/json_users_users_list.md
+++ b/docs/data-sources/json_users_users_list.md
@@ -6,10 +6,10 @@ Get json output from the users_users_list Netbox endpoint
```hcl
data "netbox_json_users_users_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_users_users_list.test.json)
+ value = jsondecode(data.netbox_json_users_users_list.test.json)
}
```
diff --git a/docs/data-sources/json_virtualization_cluster_groups_list.md b/docs/data-sources/json_virtualization_cluster_groups_list.md
index afa604a86..9d120bbee 100644
--- a/docs/data-sources/json_virtualization_cluster_groups_list.md
+++ b/docs/data-sources/json_virtualization_cluster_groups_list.md
@@ -6,10 +6,10 @@ Get json output from the virtualization_cluster_groups_list Netbox endpoint
```hcl
data "netbox_json_virtualization_cluster_groups_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_virtualization_cluster_groups_list.test.json)
+ value = jsondecode(data.netbox_json_virtualization_cluster_groups_list.test.json)
}
```
diff --git a/docs/data-sources/json_virtualization_cluster_types_list.md b/docs/data-sources/json_virtualization_cluster_types_list.md
index 0fe9add30..dae52c6e7 100644
--- a/docs/data-sources/json_virtualization_cluster_types_list.md
+++ b/docs/data-sources/json_virtualization_cluster_types_list.md
@@ -6,10 +6,10 @@ Get json output from the virtualization_cluster_types_list Netbox endpoint
```hcl
data "netbox_json_virtualization_cluster_types_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_virtualization_cluster_types_list.test.json)
+ value = jsondecode(data.netbox_json_virtualization_cluster_types_list.test.json)
}
```
diff --git a/docs/data-sources/json_virtualization_clusters_list.md b/docs/data-sources/json_virtualization_clusters_list.md
index eac87f454..493f868ef 100644
--- a/docs/data-sources/json_virtualization_clusters_list.md
+++ b/docs/data-sources/json_virtualization_clusters_list.md
@@ -6,10 +6,10 @@ Get json output from the virtualization_clusters_list Netbox endpoint
```hcl
data "netbox_json_virtualization_clusters_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_virtualization_clusters_list.test.json)
+ value = jsondecode(data.netbox_json_virtualization_clusters_list.test.json)
}
```
diff --git a/docs/data-sources/json_virtualization_interfaces_list.md b/docs/data-sources/json_virtualization_interfaces_list.md
index c8c038de2..900f99ffb 100644
--- a/docs/data-sources/json_virtualization_interfaces_list.md
+++ b/docs/data-sources/json_virtualization_interfaces_list.md
@@ -6,10 +6,10 @@ Get json output from the virtualization_interfaces_list Netbox endpoint
```hcl
data "netbox_json_virtualization_interfaces_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_virtualization_interfaces_list.test.json)
+ value = jsondecode(data.netbox_json_virtualization_interfaces_list.test.json)
}
```
diff --git a/docs/data-sources/json_virtualization_virtual_machines_list.md b/docs/data-sources/json_virtualization_virtual_machines_list.md
index e750759ad..393cdd857 100644
--- a/docs/data-sources/json_virtualization_virtual_machines_list.md
+++ b/docs/data-sources/json_virtualization_virtual_machines_list.md
@@ -6,10 +6,10 @@ Get json output from the virtualization_virtual_machines_list Netbox endpoint
```hcl
data "netbox_json_virtualization_virtual_machines_list" "test" {
- limit = 0
+ limit = 0
}
output "example" {
- value = jsondecode(data.netbox_json_virtualization_virtual_machines_list.test.json)
+ value = jsondecode(data.netbox_json_virtualization_virtual_machines_list.test.json)
}
```
diff --git a/go.mod b/go.mod
index 3c643a8c4..731cba4e6 100644
--- a/go.mod
+++ b/go.mod
@@ -3,51 +3,44 @@ module github.com/smutel/terraform-provider-netbox
go 1.15
require (
- cloud.google.com/go v0.95.0 // indirect
- cloud.google.com/go/storage v1.16.1 // indirect
+ cloud.google.com/go/iam v0.3.0 // indirect
+ cloud.google.com/go/storage v1.21.0 // indirect
github.com/Masterminds/goutils v1.1.1 // indirect
github.com/agext/levenshtein v1.2.3 // indirect
- github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
- github.com/aws/aws-sdk-go v1.40.48 // indirect
+ github.com/aws/aws-sdk-go v1.43.16 // indirect
github.com/fatih/color v1.13.0 // indirect
- github.com/go-openapi/analysis v0.20.1 // indirect
- github.com/go-openapi/errors v0.20.1 // indirect
- github.com/go-openapi/jsonreference v0.19.6 // indirect
- github.com/go-openapi/runtime v0.19.31
- github.com/go-openapi/strfmt v0.20.2
- github.com/go-openapi/swag v0.19.15 // indirect
- github.com/go-openapi/validate v0.20.2 // indirect
- github.com/go-stack/stack v1.8.1 // indirect
+ github.com/go-openapi/runtime v0.23.2
+ github.com/go-openapi/strfmt v0.21.2
github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
github.com/golang/snappy v0.0.4 // indirect
github.com/google/uuid v1.3.0 // indirect
- github.com/googleapis/gax-go/v2 v2.1.1 // indirect
github.com/hashicorp/errwrap v1.1.0 // indirect
- github.com/hashicorp/go-getter v1.5.8 // indirect
- github.com/hashicorp/go-hclog v0.16.2 // indirect
+ github.com/hashicorp/go-getter v1.5.11 // indirect
+ github.com/hashicorp/go-hclog v1.2.0 // indirect
github.com/hashicorp/go-multierror v1.1.1 // indirect
github.com/hashicorp/go-plugin v1.4.3 // indirect
github.com/hashicorp/go-uuid v1.0.2 // indirect
- github.com/hashicorp/hcl/v2 v2.10.1 // indirect
+ github.com/hashicorp/go-version v1.4.0 // indirect
+ github.com/hashicorp/hcl/v2 v2.11.1 // indirect
github.com/hashicorp/terraform-plugin-sdk v1.17.2
- github.com/hashicorp/yamux v0.0.0-20210826001029-26ff87cf9493 // indirect
- github.com/klauspost/compress v1.13.6 // indirect
- github.com/mailru/easyjson v0.7.7 // indirect
+ github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 // indirect
+ github.com/klauspost/compress v1.15.1 // indirect
+ github.com/mattn/go-colorable v0.1.12 // indirect
github.com/mitchellh/copystructure v1.2.0 // indirect
github.com/mitchellh/go-testing-interface v1.14.1 // indirect
github.com/mitchellh/go-wordwrap v1.0.1 // indirect
- github.com/mitchellh/mapstructure v1.4.2 // indirect
github.com/oklog/run v1.1.0 // indirect
github.com/posener/complete v1.2.3 // indirect
- github.com/smutel/go-netbox v2.11.0+incompatible
- github.com/spf13/afero v1.6.0 // indirect
+ github.com/smutel/go-netbox v3.0.0+incompatible
+ github.com/spf13/afero v1.8.2 // indirect
github.com/ulikunitz/xz v0.5.10 // indirect
github.com/vmihailenco/tagparser v0.1.2 // indirect
- github.com/zclconf/go-cty v1.9.1 // indirect
- go.mongodb.org/mongo-driver v1.7.2 // indirect
- golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 // indirect
- golang.org/x/net v0.0.0-20210924054057-cf34111cab4d // indirect
- golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7 // indirect
- golang.org/x/text v0.3.7 // indirect
- google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0 // indirect
+ github.com/zclconf/go-cty v1.10.0 // indirect
+ go.mongodb.org/mongo-driver v1.8.4 // indirect
+ golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70 // indirect
+ golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a // indirect
+ golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 // indirect
+ google.golang.org/api v0.71.0 // indirect
+ google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6 // indirect
+ google.golang.org/grpc v1.45.0 // indirect
)
diff --git a/go.sum b/go.sum
index 547103472..7ccd245be 100644
--- a/go.sum
+++ b/go.sum
@@ -3,6 +3,7 @@ cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
@@ -15,6 +16,7 @@ cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOY
cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
@@ -24,16 +26,27 @@ cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWc
cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
-cloud.google.com/go v0.95.0 h1:JVWssQIj9cLwHmLjqWLptFa83o7HgqUictM6eyvGWJE=
-cloud.google.com/go v0.95.0/go.mod h1:MzZUAH870Y7E+c14j23Ir66FC1+PK8WLG7OG4SjP+0k=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.2.0/go.mod h1:xlogom/6gr8RJGBe7nT2eGsQYAFUbbv8dbC29qE3Xmw=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/compute v1.5.0 h1:b1zWmYuuHz7gO9kDcM/EpHGr06UgsYNRpNJzI2kFiLM=
+cloud.google.com/go/compute v1.5.0/go.mod h1:9SMHyhJlzhlkJqrPAc839t2BZFTSk6Jdj6mkzQJeu0M=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/iam v0.1.1/go.mod h1:CKqrcnI/suGpybEHxZ7BMehL0oA4LpdyJdUlTl9jVMw=
+cloud.google.com/go/iam v0.3.0 h1:exkAomrVUuzx9kWFI1wm3KI0uoDeUFPB4kKGzx6x+Gc=
+cloud.google.com/go/iam v0.3.0/go.mod h1:XzJPvDayI+9zsASAFO68Hk07u3z+f+JrT2xXNdp4bnY=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -43,8 +56,9 @@ cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0Zeo
cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-cloud.google.com/go/storage v1.16.1 h1:sMEIc4wxvoY3NXG7Rn9iP7jb/2buJgWR1vNXCR/UPfs=
-cloud.google.com/go/storage v1.16.1/go.mod h1:LaNorbty3ehnU3rEjXSNV/NRgQA0O8Y+uh6bPe5UOk4=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+cloud.google.com/go/storage v1.21.0 h1:HwnT2u2D309SFDHQII6m18HlrCi3jAXhUMTLOWXYH14=
+cloud.google.com/go/storage v1.21.0/go.mod h1:XmRlxkgPjlBONznT2dDUU/5XlpU2OjMnKuqnZI01LAA=
dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
@@ -58,7 +72,6 @@ github.com/Masterminds/sprig v2.22.0+incompatible/go.mod h1:y6hNFY5UBTIWBxnzTeuN
github.com/Microsoft/go-winio v0.4.14/go.mod h1:qXqCSQ3Xa7+6tgxaGTIe4Kpcdsi+P8jBhyzoq1bpyYA=
github.com/Microsoft/go-winio v0.4.16/go.mod h1:XB6nPKklQyQ7GC9LdcBEcBl8PF76WugXOPRXwdLnMv0=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
@@ -68,9 +81,7 @@ github.com/agext/levenshtein v1.2.2/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki
github.com/agext/levenshtein v1.2.3 h1:YB2fHEn0UJagG8T1rrWknE3ZQzWM06O8AMAatNn7lmo=
github.com/agext/levenshtein v1.2.3/go.mod h1:JEDfjyjHDjOF/1e4FlBE/PkbqA9OfWu2ki2W0IB5558=
github.com/agl/ed25519 v0.0.0-20170116200512-5312a6153412/go.mod h1:WPjqKcmVOxf0XSf3YxCJs6N6AOSrOx3obionmG7T0y0=
-github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
github.com/alcortesm/tgz v0.0.0-20161220082320-9c5fe88206d7/go.mod h1:6zEj6s6u/ghQa61ZWa/C2Aw3RkjiTBOix7dkqa1VLIs=
-github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
github.com/andybalholm/crlf v0.0.0-20171020200849-670099aa064f/go.mod h1:k8feO4+kXDxro6ErPXBRTJ/ro2mf0SsFG8s7doP9kJE=
github.com/anmitsu/go-shlex v0.0.0-20161002113705-648efa622239/go.mod h1:2FmKhYUyUczH0OGQWaF5ceTx0UBShxjsH6f8oGKYe2c=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
@@ -88,24 +99,20 @@ github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj
github.com/armon/go-radix v1.0.0 h1:F4z6KzEeeQIMeLFa97iZU6vupzoecKdU5TX24SNppXI=
github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8=
github.com/armon/go-socks5 v0.0.0-20160902184237-e75332964ef5/go.mod h1:wHh0iHkYZB8zMSxRWpUBQtwG5a7fFgvEO+odwuTv2gs=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/aws/aws-sdk-go v1.15.78/go.mod h1:E3/ieXAlvM0XWO57iftYVDLLvQ824smPP3ATZkfNZeM=
-github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/aws/aws-sdk-go v1.37.0/go.mod h1:hcU610XS61/+aQV88ixoOzUoG7v3b31pl2zKMmprdro=
-github.com/aws/aws-sdk-go v1.40.48 h1:9lKz7AoFl2vYuVwWB7el9SmMBvOj83NixEvfNrojLEo=
-github.com/aws/aws-sdk-go v1.40.48/go.mod h1:585smgzpB/KqRA+K3y/NL/oYRqQvpNJYvLm+LY1U59Q=
+github.com/aws/aws-sdk-go v1.43.16 h1:Y7wBby44f+tINqJjw5fLH3vA+gFq4uMITIKqditwM14=
+github.com/aws/aws-sdk-go v1.43.16/go.mod h1:y4AeaBuwd2Lk+GepC1E9v0qOiTws0MIWAX4oIKwKHZo=
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d h1:xDfNPAt8lFiC1UJrqV3uuy861HCTo708pDMbjHHdCas=
github.com/bgentry/go-netrc v0.0.0-20140422174119-9fd32a8b3d3d/go.mod h1:6QX/PXZ00z/TKoufEY6K/a0k6AhaJrQKdFe6OfVXsa4=
github.com/bgentry/speakeasy v0.1.0 h1:ByYyxL9InA1OWqxJqqp2A5pYHUrCiAL6K3J+LKSsQkY=
github.com/bgentry/speakeasy v0.1.0/go.mod h1:+zsyZBPWlz7T6j88CTgSN5bM796AkVf0kBD4zp0CCIs=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/cheggaaa/pb v1.0.27/go.mod h1:pQciLPpbU0oxA0h+VJYYLxO+XeDQb5pZijXscXHm81s=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
@@ -114,12 +121,15 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/emirpasic/gods v1.12.0/go.mod h1:YfzfFFoVP/catgzJb4IKIqXjX78Ha8FMSDh3ymbK86o=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@@ -129,6 +139,7 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4=
github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w=
@@ -136,8 +147,6 @@ github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYF
github.com/flynn/go-shlex v0.0.0-20150515145356-3f9db97f8568/go.mod h1:xEzjJPgXI435gkrCt3MPfRiAkVrwSbHsst4LCFVfpJc=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/gliderlabs/ssh v0.2.2/go.mod h1:U7qILu1NlMHj9FlMhZLlkCdDnU1DBEAqr0aevW3Awn0=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
github.com/go-git/gcfg v1.5.0/go.mod h1:5m20vg6GwYabIxaOonVkTdrILxQMpEShl1xiMF4ua+E=
github.com/go-git/go-billy/v5 v5.0.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
github.com/go-git/go-billy/v5 v5.1.0/go.mod h1:pmpqyWchKfYfrkb/UVH4otLvyi/5gJlGI4Hb3ZqZ3W0=
@@ -146,102 +155,33 @@ github.com/go-git/go-git/v5 v5.3.0/go.mod h1:xdX4bWJ48aOrdhnl2XqHYstHbbp6+LFS4r4
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
-github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
-github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og=
-github.com/go-openapi/analysis v0.20.1 h1:zdVbw8yoD4SWZeq+cWdGgquaB0W4VrsJvDJHJND/Ktc=
-github.com/go-openapi/analysis v0.20.1/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
+github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
+github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.20.1 h1:j23mMDtRxMwIobkpId7sWh7Ddcx4ivaoqUbfXx5P+a8=
-github.com/go-openapi/errors v0.20.1/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
+github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
+github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
-github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
-github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
-github.com/go-openapi/loads v0.20.2 h1:z5p5Xf5wujMxS1y8aP+vxwW5qYT2zdJBbXKmQUG3lcc=
-github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
-github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
-github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
-github.com/go-openapi/runtime v0.19.31 h1:GX+MgBxN12s/tQiHNJpvHDIoZiEXAz6j6Rqg0oJcnpg=
-github.com/go-openapi/runtime v0.19.31/go.mod h1:BvrQtn6iVb2QmiVXRsFAm6ZCAZBpbVKFfN6QWCp582M=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
-github.com/go-openapi/spec v0.20.3 h1:uH9RQ6vdyPSs2pSy9fL8QPspDF2AMIMPtmK5coSSjtQ=
-github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/strfmt v0.20.2 h1:6XZL+fF4VZYFxKQGLAUB358hOrRh/wS51uWEtlONADE=
-github.com/go-openapi/strfmt v0.20.2/go.mod h1:43urheQI9dNtE5lTZQfuFJvjYJKPrxicATpEfZwHUNk=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
+github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0=
+github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
+github.com/go-openapi/runtime v0.23.2 h1:SLoYVM3ovq+lynpgrHQZ5WQcx+CBE0HHHCZU3c2jQoo=
+github.com/go-openapi/runtime v0.23.2/go.mod h1:AKurw9fNre+h3ELZfk6ILsfvPN+bvvlaU/M9q/r9hpk=
+github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
+github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
+github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
+github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
+github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os=
+github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
-github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
-github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
-github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
-github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
-github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
-github.com/go-openapi/validate v0.20.2 h1:AhqDegYV3J3iQkMPJSXkvzymHKMTw0BST3RK3hTT4ts=
-github.com/go-openapi/validate v0.20.2/go.mod h1:e7OJoKNgd0twXZwIn0A43tHbvIcr/rZIVCbJBpTUoY0=
-github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU=
+github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI=
+github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
@@ -323,8 +263,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -340,13 +281,13 @@ github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hf
github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I=
@@ -356,6 +297,7 @@ github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5m
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU=
github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4=
github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I=
@@ -366,13 +308,13 @@ github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtng
github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ=
github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48=
github.com/hashicorp/go-getter v1.5.3/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI=
-github.com/hashicorp/go-getter v1.5.8 h1:qx5CZXxXz5YFpALPkbf/F1iZZoRE+f6T1i/AWw/Zkic=
-github.com/hashicorp/go-getter v1.5.8/go.mod h1:BrrV/1clo8cCYu6mxvboYg+KutTiFnXjMEgDD8+i7ZI=
+github.com/hashicorp/go-getter v1.5.11 h1:wioTuNmaBU3IE9vdFtFMcmZWj0QzLc6DYaP6sNe5onY=
+github.com/hashicorp/go-getter v1.5.11/go.mod h1:9i48BP6wpWweI/0/+FBjqLrp9S8XtwUGjiu0QkWHEaY=
github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI=
github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ=
github.com/hashicorp/go-hclog v0.14.1/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
-github.com/hashicorp/go-hclog v0.16.2 h1:K4ev2ib4LdQETX5cSZBG0DVLk1jwGqSPXBjdah3veNs=
-github.com/hashicorp/go-hclog v0.16.2/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
+github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM=
+github.com/hashicorp/go-hclog v1.2.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ=
github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk=
github.com/hashicorp/go-multierror v1.1.1 h1:H5DkEtf6CXdFp0N0Em5UCwQpXMWke8IA0+lD48awMYo=
github.com/hashicorp/go-multierror v1.1.1/go.mod h1:iw975J/qwKPdAO1clOe2L8331t/9/fmwbPZ6JB6eMoM=
@@ -387,16 +329,17 @@ github.com/hashicorp/go-uuid v1.0.2 h1:cfejS+Tpcp13yd5nYHWDI6qVCny6wyX2Mt5SGur2I
github.com/hashicorp/go-uuid v1.0.2/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro=
github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/go-version v1.2.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
-github.com/hashicorp/go-version v1.3.0 h1:McDWVJIU/y+u1BRV06dPaLfLCaT7fUTJLp5r04x7iNw=
github.com/hashicorp/go-version v1.3.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
+github.com/hashicorp/go-version v1.4.0 h1:aAQzgqIrRKRa7w75CKpbBxYsmUoPjzVm1W59ca1L0J4=
+github.com/hashicorp/go-version v1.4.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f h1:UdxlrJz4JOnY8W+DbLISwf2B8WXEolNRA8BGCwI9jws=
github.com/hashicorp/hcl v0.0.0-20170504190234-a4b07c25de5f/go.mod h1:oZtUIOe8dh44I2q6ScRibXws4Ajl+d+nod3AaR9vL5w=
github.com/hashicorp/hcl/v2 v2.0.0/go.mod h1:oVVDG71tEinNGYCxinCYadcmKU9bglqW9pV3txagJ90=
github.com/hashicorp/hcl/v2 v2.8.2/go.mod h1:bQTN5mpo+jewjJgh8jr0JUguIi7qPHUF6yIfAEN3jqY=
-github.com/hashicorp/hcl/v2 v2.10.1 h1:h4Xx4fsrRE26ohAk/1iGF/JBqRQbyUqu5Lvj60U54ys=
-github.com/hashicorp/hcl/v2 v2.10.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg=
+github.com/hashicorp/hcl/v2 v2.11.1 h1:yTyWcXcm9XB0TEkyU/JCRU6rYy4K+mgLtzn2wlrJbcc=
+github.com/hashicorp/hcl/v2 v2.11.1/go.mod h1:FwWsfWEjyV/CMj8s/gqAuiviY72rJ1/oayI9WftqcKg=
github.com/hashicorp/logutils v1.0.0 h1:dLEQVugN8vlakKOUE3ihGLTZJRB4j+M2cdTm/ORI65Y=
github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64=
github.com/hashicorp/terraform-config-inspect v0.0.0-20191212124732-c6ae6269b9d7 h1:Pc5TCv9mbxFN6UVX0LH6CpQrdTM5YjbVI2w15237Pjk=
@@ -410,8 +353,8 @@ github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734 h1:HKL
github.com/hashicorp/terraform-svchost v0.0.0-20200729002733-f050f53b9734/go.mod h1:kNDNcF7sN4DocDLBkQYz73HGKwN1ANB1blq4lIYLYvg=
github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM=
-github.com/hashicorp/yamux v0.0.0-20210826001029-26ff87cf9493 h1:brI5vBRUlAlM34VFmnLPwjnCL/FxAJp9XvOdX6Zt+XE=
-github.com/hashicorp/yamux v0.0.0-20210826001029-26ff87cf9493/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
+github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87 h1:xixZ2bWeofWV68J+x6AzmKuVM/JWCQwkWm6GW/MUR6I=
+github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87/go.mod h1:CtWFDAQgb7dxtzFs4tWbplKIe2jSi3+5vKbgIO0SLnQ=
github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw=
github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE=
github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
@@ -438,12 +381,11 @@ github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaR
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
github.com/kevinburke/ssh_config v0.0.0-20201106050909-4977a11b4351/go.mod h1:CT57kijsi8u/K/BOFA39wgDQJ9CxiF4nAY/ojJ6r6mM=
github.com/keybase/go-crypto v0.0.0-20161004153544-93f5b35093ba/go.mod h1:ghbZscTyKdM07+Fw3KSi0hcJm+AlEUWj8QLlPtijN/M=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
github.com/klauspost/compress v1.11.2/go.mod h1:aoV0uJVorq1K+umq18yTdKaF57EivdYsUV+/s2qKfXs=
-github.com/klauspost/compress v1.13.6 h1:P76CopJELS0TiO2mebmnzgWaajssP/EszplttgQxcgc=
github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
+github.com/klauspost/compress v1.15.1 h1:y9FcTHGyrebwfP0ZZqFiaxTaiDnUrGkJkI+f583BL1A=
+github.com/klauspost/compress v1.15.1/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
@@ -451,18 +393,14 @@ github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORN
github.com/kr/pretty v0.2.1 h1:Fmg33tUaq4/8ym9TJN1x7sLJnHVwhP33CNkpYV/7rwI=
github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
github.com/kylelemons/godebug v0.0.0-20170820004349-d65d576e9348/go.mod h1:B69LEHPfb2qLo0BaaOLcbitczOKLWTsrBG9LczfCD4k=
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
github.com/kylelemons/godebug v1.1.0/go.mod h1:9/0rRGxNHcop5bhtWyNeEfOS8JIWk580+fNqagV/RAw=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
@@ -471,8 +409,9 @@ github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kN
github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU=
github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ=
github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE=
-github.com/mattn/go-colorable v0.1.9 h1:sqDoxXbdeALODt0DAeJCVp38ps9ZogZEAXjus69YV3U=
github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc=
+github.com/mattn/go-colorable v0.1.12 h1:jF+Du6AlPIjs2BiUiQlKOX0rt3SujHxPnksPKZbaA40=
+github.com/mattn/go-colorable v0.1.12/go.mod h1:u5H1YNBxpqRaxsYJYSkiCWKzEfiAb1Gb520KVy5xxl4=
github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.4/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4=
github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s=
@@ -501,12 +440,10 @@ github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUb
github.com/mitchellh/go-wordwrap v1.0.1 h1:TLuKupo69TCn6TQSyGxwI1EblZZEsQ0vMlAFQflz0v0=
github.com/mitchellh/go-wordwrap v1.0.1/go.mod h1:R62XHJLzvMFRBbcrT7m7WgmE1eOyTSsCt+hzestvNj0=
github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo=
-github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
+github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/reflectwalk v1.0.0/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.1/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw=
github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zxSIeXaQ=
@@ -520,14 +457,12 @@ github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI=
@@ -548,16 +483,17 @@ github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMB
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
github.com/smutel/go-netbox v2.11.0+incompatible h1:ADb7xHCQd6nOyNRZDD1CzYOqKarGe0he4tJwibbHZy0=
github.com/smutel/go-netbox v2.11.0+incompatible/go.mod h1:UlNOimilX5qQkyVvFaDgajexiCRjVqzh1i0r9kQfr+M=
+github.com/smutel/go-netbox v3.0.0+incompatible h1:Jx8yGdB+BYBqi46bn/VNY5qBGzAtmQ9Z2E66YMmwyRI=
+github.com/smutel/go-netbox v3.0.0+incompatible/go.mod h1:UlNOimilX5qQkyVvFaDgajexiCRjVqzh1i0r9kQfr+M=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk=
-github.com/spf13/afero v1.6.0 h1:xoax2sJ2DT8S8xA2paPFjDCScCNeWsg75VG0DLRreiY=
-github.com/spf13/afero v1.6.0/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I=
+github.com/spf13/afero v1.8.2 h1:xehSyVa0YnHWsJ49JFljMpg1HX19V6NDZ1fkm1Xznbo=
+github.com/spf13/afero v1.8.2/go.mod h1:CtAatgMJh6bJEIs48Ay/FOnkljP3WeGUG0MC1RfAqwo=
github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
github.com/spf13/pflag v1.0.2/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
@@ -570,7 +506,6 @@ github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhV
github.com/ulikunitz/xz v0.5.8/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
github.com/ulikunitz/xz v0.5.10 h1:t92gobL9l3HE202wg3rlk19F6X+JOxl9BBrCCMYEYd8=
github.com/ulikunitz/xz v0.5.10/go.mod h1:nbz6k7qbPmH4IRqmfOplQw/tblSgqTqBwxkY0oWt/14=
-github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
github.com/vmihailenco/msgpack v3.3.3+incompatible h1:wapg9xDUZDzGCNFlwc5SqI1rvcciqcxEHac4CYj89xI=
github.com/vmihailenco/msgpack v3.3.3+incompatible/go.mod h1:fy3FlTQTDXWkZ7Bh6AcGMlsjHatGryHQYUTf1ShIgkk=
github.com/vmihailenco/msgpack/v4 v4.3.12 h1:07s4sz9IReOgdikxLTKNbBdqDMLsjPKXwvCazn8G65U=
@@ -582,8 +517,6 @@ github.com/xanzy/ssh-agent v0.3.0/go.mod h1:3s9xbODqPuuhK9JV1R321M/FlMZSBvE5aY6e
github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -596,21 +529,16 @@ github.com/zclconf/go-cty v1.2.0/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q
github.com/zclconf/go-cty v1.2.1/go.mod h1:hOPWgoHbaTUnI5k4D2ld+GRpFJSCe6bCM7m1q/N4PQ8=
github.com/zclconf/go-cty v1.8.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
github.com/zclconf/go-cty v1.8.2/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
-github.com/zclconf/go-cty v1.9.1 h1:viqrgQwFl5UpSxc046qblj78wZXVDFnSOufaOTER+cc=
-github.com/zclconf/go-cty v1.9.1/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
+github.com/zclconf/go-cty v1.10.0 h1:mp9ZXQeIcN8kAwuqorjH+Q+njbJKjLrvB2yIh4q7U+0=
+github.com/zclconf/go-cty v1.10.0/go.mod h1:vVKLxnk3puL4qRAv72AO+W99LUD4da90g3uUAzyuvAk=
github.com/zclconf/go-cty-debug v0.0.0-20191215020915-b22d67c1ba0b/go.mod h1:ZRKQfBXbGkpdV6QMzT3rU1kSTAnfu1dO8dPKjYprgj8=
github.com/zclconf/go-cty-yaml v1.0.2 h1:dNyg4QLTrv2IfJpm7Wtxi55ed5gLGOlPrZ6kMd51hY0=
github.com/zclconf/go-cty-yaml v1.0.2/go.mod h1:IP3Ylp0wQpYm50IHK8OZWKMu6sPJIUgKa8XhiVHura0=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
-go.mongodb.org/mongo-driver v1.7.2 h1:pFttQyIiJUHEn50YfZgC9ECjITMT44oiN36uArf/OFg=
-go.mongodb.org/mongo-driver v1.7.2/go.mod h1:Q4oFMbo1+MSNqICAdYMlC/zSTrwCogR4R8NzkI+yfU8=
+go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
+go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
+go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
+go.mongodb.org/mongo-driver v1.8.4 h1:NruvZPPL0PBcRJKmbswoWSrmHeUvzdxA3GCPfD/NEOA=
+go.mongodb.org/mongo-driver v1.8.4/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
@@ -623,22 +551,20 @@ go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqe
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190219172222-a4c6cb3142f2/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20190426145343-a29dc8fdc734/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519 h1:7I4JAnoQBe7ZtJcBaYHi5UtiO8tQHbUSXxL+pnGRANg=
-golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70 h1:syTAU9FwmvzEoIYMqcPHOcVm4H3U5u90WsvuYgwpETU=
+golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -678,20 +604,16 @@ golang.org/x/net v0.0.0-20180530234432-1e491301e022/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180811021610-c39426892332/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191009170851-d66e71096ffb/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
@@ -704,14 +626,12 @@ golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
@@ -721,9 +641,10 @@ golang.org/x/net v0.0.0-20210326060303-6b1517762897/go.mod h1:uSPa2vr4CLtc/ILN5o
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210614182718-04defd469f4e/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
-golang.org/x/net v0.0.0-20210924054057-cf34111cab4d h1:/k/1oNSxUaDIaYJHadbJuVPl4f+DLbE0oZKjL8/5xw4=
-golang.org/x/net v0.0.0-20210924054057-cf34111cab4d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f h1:oA4XRj0qtSt8Yo1Zms0CUlsT3KG69V2UGQWPBxujDmc=
+golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -738,8 +659,11 @@ golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw=
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a h1:qfl7ob3DIEs3Ml9oLuPwY2N04gymzAW04WsUQHIClgM=
+golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -757,7 +681,6 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -767,12 +690,12 @@ golang.org/x/sys v0.0.0-20190502175342-a43fa875dd82/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -796,6 +719,7 @@ golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -803,6 +727,7 @@ golang.org/x/sys v0.0.0-20210324051608-47abb6519492/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
@@ -812,9 +737,19 @@ golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBc
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7 h1:c20P3CcPbopVp2f7099WLOqSNKURf30Z0uq66HpijZY=
-golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220227234510-4e6760a101f9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5 h1:y/woIyUBFbpQGKS0u1aHF/40WUDnek3fPOyD08H5Vng=
+golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -829,9 +764,7 @@ golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxb
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
@@ -844,8 +777,6 @@ golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBn
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
@@ -882,6 +813,7 @@ golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4f
golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
@@ -922,8 +854,16 @@ google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00
google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
-google.golang.org/api v0.57.0 h1:4t9zuDlHLcIx0ZEhmXEeFVCRsiOgpgn2QOH9N0MNjPI=
google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.64.0/go.mod h1:931CdxA8Rm4t6zqTFGSsgwbAEZ2+GMYurbndwSimebM=
+google.golang.org/api v0.66.0/go.mod h1:I1dmXYpX7HGwz/ejRxwQp2qj5bFAz93HiCU1C1oYd9M=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.69.0/go.mod h1:boanBiw+h5c3s+tBPgEzLDRHfFLWV0qXxRHz3ws7C80=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/api v0.71.0 h1:SgWof18M8V2NylsX7bL4fM28j+nFdRopHZbdipaaw20=
+google.golang.org/api v0.71.0/go.mod h1:4PyU6e6JogV1f9eA4voyrTY2batOLdgZ5qZ5HOCc4j8=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -968,7 +908,9 @@ google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6D
google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
@@ -984,14 +926,28 @@ google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKr
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
-google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0 h1:5Tbluzus3QxoAJx4IefGt1W0HQZW4nuMrVk684jI74Q=
google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220111164026-67b88f271998/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220114231437-d2e6a121cae0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220211171837-173942840c17/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220216160803-4663080d8bc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220304144024-325a89244dc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6 h1:FglFEfyj61zP3c6LgjmVHxYxZWXYul9oiS1EZqD5gLc=
+google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
google.golang.org/grpc v1.8.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
@@ -1018,8 +974,11 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
-google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc v1.45.0 h1:NEpgUqV3Z+ZjkqMsxMg11IaDrXY4RY6CQukSGK0uI1M=
+google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -1044,7 +1003,6 @@ gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EV
gopkg.in/cheggaaa/pb.v1 v1.0.27/go.mod h1:V/YB90LKu/1FcN3WVnfiiE5oMCibMjukxqG/qStrOgw=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/warnings.v0 v0.1.2/go.mod h1:jksf8JmL6Qr/oQM2OXTHunEvvTAsrWBLb6OOjuVWRNI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
diff --git a/netbox/data_netbox_json_circuits_circuit_terminations_list.go b/netbox/data_netbox_json_circuits_circuit_terminations_list.go
index cbf172674..988bf1881 100644
--- a/netbox/data_netbox_json_circuits_circuit_terminations_list.go
+++ b/netbox/data_netbox_json_circuits_circuit_terminations_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/circuits"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/circuits"
)
func dataNetboxJSONCircuitsCircuitTerminationsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONCircuitsCircuitTerminationsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONCircuitsCircuitTerminationsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONCircuitsCircuitTerminationsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := circuits.NewCircuitsCircuitTerminationsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := circuits.NewCircuitsCircuitTerminationsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Circuits.CircuitsCircuitTerminationsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Circuits.CircuitsCircuitTerminationsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONCircuitsCircuitTerminationsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONCircuitsCircuitTerminationsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_circuits_circuit_types_list.go b/netbox/data_netbox_json_circuits_circuit_types_list.go
index a17c53f02..43412b6e5 100644
--- a/netbox/data_netbox_json_circuits_circuit_types_list.go
+++ b/netbox/data_netbox_json_circuits_circuit_types_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/circuits"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/circuits"
)
func dataNetboxJSONCircuitsCircuitTypesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONCircuitsCircuitTypesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONCircuitsCircuitTypesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONCircuitsCircuitTypesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := circuits.NewCircuitsCircuitTypesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := circuits.NewCircuitsCircuitTypesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Circuits.CircuitsCircuitTypesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Circuits.CircuitsCircuitTypesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONCircuitsCircuitTypesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONCircuitsCircuitTypesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_circuits_circuits_list.go b/netbox/data_netbox_json_circuits_circuits_list.go
index 19c8af55c..65a9bf742 100644
--- a/netbox/data_netbox_json_circuits_circuits_list.go
+++ b/netbox/data_netbox_json_circuits_circuits_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/circuits"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/circuits"
)
func dataNetboxJSONCircuitsCircuitsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONCircuitsCircuitsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONCircuitsCircuitsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONCircuitsCircuitsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := circuits.NewCircuitsCircuitsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := circuits.NewCircuitsCircuitsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Circuits.CircuitsCircuitsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Circuits.CircuitsCircuitsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONCircuitsCircuitsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONCircuitsCircuitsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_circuits_provider_networks_list.go b/netbox/data_netbox_json_circuits_provider_networks_list.go
new file mode 100644
index 000000000..c4322a7d9
--- /dev/null
+++ b/netbox/data_netbox_json_circuits_provider_networks_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/circuits"
+)
+
+func dataNetboxJSONCircuitsProviderNetworksList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONCircuitsProviderNetworksListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONCircuitsProviderNetworksListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := circuits.NewCircuitsProviderNetworksListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Circuits.CircuitsProviderNetworksList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONCircuitsProviderNetworksList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_circuits_providers_list.go b/netbox/data_netbox_json_circuits_providers_list.go
index 08661e553..bc33dd104 100644
--- a/netbox/data_netbox_json_circuits_providers_list.go
+++ b/netbox/data_netbox_json_circuits_providers_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/circuits"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/circuits"
)
func dataNetboxJSONCircuitsProvidersList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONCircuitsProvidersListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONCircuitsProvidersListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONCircuitsProvidersListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := circuits.NewCircuitsProvidersListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := circuits.NewCircuitsProvidersListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Circuits.CircuitsProvidersList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Circuits.CircuitsProvidersList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONCircuitsProvidersList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONCircuitsProvidersList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_cables_list.go b/netbox/data_netbox_json_dcim_cables_list.go
index 90047d49d..4d84efb6e 100644
--- a/netbox/data_netbox_json_dcim_cables_list.go
+++ b/netbox/data_netbox_json_dcim_cables_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimCablesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimCablesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimCablesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimCablesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimCablesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimCablesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimCablesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimCablesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimCablesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimCablesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_console_connections_list.go b/netbox/data_netbox_json_dcim_console_connections_list.go
deleted file mode 100644
index 5df4fd4bf..000000000
--- a/netbox/data_netbox_json_dcim_console_connections_list.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
-)
-
-func dataNetboxJSONDcimConsoleConnectionsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimConsoleConnectionsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSONDcimConsoleConnectionsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := dcim.NewDcimConsoleConnectionsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.Dcim.DcimConsoleConnectionsList(params, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimConsoleConnectionsList")
-
- return nil
-}
diff --git a/netbox/data_netbox_json_dcim_console_port_templates_list.go b/netbox/data_netbox_json_dcim_console_port_templates_list.go
index 21562338b..f8b1ec001 100644
--- a/netbox/data_netbox_json_dcim_console_port_templates_list.go
+++ b/netbox/data_netbox_json_dcim_console_port_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimConsolePortTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimConsolePortTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimConsolePortTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimConsolePortTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimConsolePortTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimConsolePortTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimConsolePortTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimConsolePortTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimConsolePortTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimConsolePortTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_console_ports_list.go b/netbox/data_netbox_json_dcim_console_ports_list.go
index 199c5017c..130224fee 100644
--- a/netbox/data_netbox_json_dcim_console_ports_list.go
+++ b/netbox/data_netbox_json_dcim_console_ports_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimConsolePortsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimConsolePortsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimConsolePortsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimConsolePortsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimConsolePortsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimConsolePortsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimConsolePortsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimConsolePortsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimConsolePortsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimConsolePortsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_console_server_port_templates_list.go b/netbox/data_netbox_json_dcim_console_server_port_templates_list.go
index 42313863a..37e6ab6c2 100644
--- a/netbox/data_netbox_json_dcim_console_server_port_templates_list.go
+++ b/netbox/data_netbox_json_dcim_console_server_port_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimConsoleServerPortTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimConsoleServerPortTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimConsoleServerPortTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimConsoleServerPortTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimConsoleServerPortTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimConsoleServerPortTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimConsoleServerPortTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimConsoleServerPortTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimConsoleServerPortTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimConsoleServerPortTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_console_server_ports_list.go b/netbox/data_netbox_json_dcim_console_server_ports_list.go
index 1da910ec8..00b270978 100644
--- a/netbox/data_netbox_json_dcim_console_server_ports_list.go
+++ b/netbox/data_netbox_json_dcim_console_server_ports_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimConsoleServerPortsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimConsoleServerPortsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimConsoleServerPortsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimConsoleServerPortsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimConsoleServerPortsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimConsoleServerPortsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimConsoleServerPortsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimConsoleServerPortsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimConsoleServerPortsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimConsoleServerPortsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_device_bay_templates_list.go b/netbox/data_netbox_json_dcim_device_bay_templates_list.go
index 102f802e3..dca08ca63 100644
--- a/netbox/data_netbox_json_dcim_device_bay_templates_list.go
+++ b/netbox/data_netbox_json_dcim_device_bay_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimDeviceBayTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimDeviceBayTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimDeviceBayTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimDeviceBayTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimDeviceBayTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimDeviceBayTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimDeviceBayTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimDeviceBayTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimDeviceBayTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimDeviceBayTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_device_bays_list.go b/netbox/data_netbox_json_dcim_device_bays_list.go
index 66cece4c4..14875a5e9 100644
--- a/netbox/data_netbox_json_dcim_device_bays_list.go
+++ b/netbox/data_netbox_json_dcim_device_bays_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimDeviceBaysList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimDeviceBaysListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimDeviceBaysListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimDeviceBaysListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimDeviceBaysListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimDeviceBaysListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimDeviceBaysList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimDeviceBaysList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimDeviceBaysList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimDeviceBaysList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_device_roles_list.go b/netbox/data_netbox_json_dcim_device_roles_list.go
index f15a0ee1b..6eada70fc 100644
--- a/netbox/data_netbox_json_dcim_device_roles_list.go
+++ b/netbox/data_netbox_json_dcim_device_roles_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimDeviceRolesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimDeviceRolesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimDeviceRolesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimDeviceRolesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimDeviceRolesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimDeviceRolesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimDeviceRolesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimDeviceRolesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimDeviceRolesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimDeviceRolesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_device_types_list.go b/netbox/data_netbox_json_dcim_device_types_list.go
index af0c4abd3..7feb7d2f7 100644
--- a/netbox/data_netbox_json_dcim_device_types_list.go
+++ b/netbox/data_netbox_json_dcim_device_types_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimDeviceTypesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimDeviceTypesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimDeviceTypesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimDeviceTypesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimDeviceTypesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimDeviceTypesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimDeviceTypesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimDeviceTypesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimDeviceTypesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimDeviceTypesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_devices_list.go b/netbox/data_netbox_json_dcim_devices_list.go
index 09213c41b..71dcca2b6 100644
--- a/netbox/data_netbox_json_dcim_devices_list.go
+++ b/netbox/data_netbox_json_dcim_devices_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimDevicesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimDevicesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimDevicesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimDevicesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimDevicesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimDevicesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimDevicesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimDevicesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimDevicesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimDevicesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_front_port_templates_list.go b/netbox/data_netbox_json_dcim_front_port_templates_list.go
index f45558e81..34b880fc4 100644
--- a/netbox/data_netbox_json_dcim_front_port_templates_list.go
+++ b/netbox/data_netbox_json_dcim_front_port_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimFrontPortTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimFrontPortTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimFrontPortTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimFrontPortTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimFrontPortTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimFrontPortTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimFrontPortTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimFrontPortTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimFrontPortTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimFrontPortTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_front_ports_list.go b/netbox/data_netbox_json_dcim_front_ports_list.go
index 105d6fa74..8f3a90547 100644
--- a/netbox/data_netbox_json_dcim_front_ports_list.go
+++ b/netbox/data_netbox_json_dcim_front_ports_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimFrontPortsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimFrontPortsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimFrontPortsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimFrontPortsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimFrontPortsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimFrontPortsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimFrontPortsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimFrontPortsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimFrontPortsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimFrontPortsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_interface_connections_list.go b/netbox/data_netbox_json_dcim_interface_connections_list.go
deleted file mode 100644
index f6030a4c1..000000000
--- a/netbox/data_netbox_json_dcim_interface_connections_list.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
-)
-
-func dataNetboxJSONDcimInterfaceConnectionsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimInterfaceConnectionsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSONDcimInterfaceConnectionsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := dcim.NewDcimInterfaceConnectionsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.Dcim.DcimInterfaceConnectionsList(params, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimInterfaceConnectionsList")
-
- return nil
-}
diff --git a/netbox/data_netbox_json_dcim_interface_templates_list.go b/netbox/data_netbox_json_dcim_interface_templates_list.go
index bb7ff5e7a..a733656f2 100644
--- a/netbox/data_netbox_json_dcim_interface_templates_list.go
+++ b/netbox/data_netbox_json_dcim_interface_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimInterfaceTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimInterfaceTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimInterfaceTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimInterfaceTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimInterfaceTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimInterfaceTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimInterfaceTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimInterfaceTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimInterfaceTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimInterfaceTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_interfaces_list.go b/netbox/data_netbox_json_dcim_interfaces_list.go
index 23e96430b..152cfb8a1 100644
--- a/netbox/data_netbox_json_dcim_interfaces_list.go
+++ b/netbox/data_netbox_json_dcim_interfaces_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimInterfacesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimInterfacesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimInterfacesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimInterfacesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimInterfacesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimInterfacesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimInterfacesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimInterfacesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimInterfacesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimInterfacesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_inventory_items_list.go b/netbox/data_netbox_json_dcim_inventory_items_list.go
index 41272b9fb..8b49da637 100644
--- a/netbox/data_netbox_json_dcim_inventory_items_list.go
+++ b/netbox/data_netbox_json_dcim_inventory_items_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimInventoryItemsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimInventoryItemsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimInventoryItemsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimInventoryItemsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimInventoryItemsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimInventoryItemsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimInventoryItemsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimInventoryItemsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimInventoryItemsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimInventoryItemsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_locations_list.go b/netbox/data_netbox_json_dcim_locations_list.go
new file mode 100644
index 000000000..8b4ef7e62
--- /dev/null
+++ b/netbox/data_netbox_json_dcim_locations_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
+)
+
+func dataNetboxJSONDcimLocationsList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimLocationsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONDcimLocationsListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := dcim.NewDcimLocationsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Dcim.DcimLocationsList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimLocationsList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_dcim_manufacturers_list.go b/netbox/data_netbox_json_dcim_manufacturers_list.go
index 7f5ad1ad8..833fc2512 100644
--- a/netbox/data_netbox_json_dcim_manufacturers_list.go
+++ b/netbox/data_netbox_json_dcim_manufacturers_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimManufacturersList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimManufacturersListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimManufacturersListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimManufacturersListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimManufacturersListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimManufacturersListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimManufacturersList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimManufacturersList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimManufacturersList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimManufacturersList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_platforms_list.go b/netbox/data_netbox_json_dcim_platforms_list.go
index 914f9df5b..21cdcd744 100644
--- a/netbox/data_netbox_json_dcim_platforms_list.go
+++ b/netbox/data_netbox_json_dcim_platforms_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPlatformsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPlatformsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPlatformsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPlatformsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPlatformsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPlatformsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPlatformsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPlatformsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPlatformsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPlatformsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_connections_list.go b/netbox/data_netbox_json_dcim_power_connections_list.go
deleted file mode 100644
index c3a691bef..000000000
--- a/netbox/data_netbox_json_dcim_power_connections_list.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
-)
-
-func dataNetboxJSONDcimPowerConnectionsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerConnectionsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSONDcimPowerConnectionsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := dcim.NewDcimPowerConnectionsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.Dcim.DcimPowerConnectionsList(params, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerConnectionsList")
-
- return nil
-}
diff --git a/netbox/data_netbox_json_dcim_power_feeds_list.go b/netbox/data_netbox_json_dcim_power_feeds_list.go
index a2e0e5473..dfc903327 100644
--- a/netbox/data_netbox_json_dcim_power_feeds_list.go
+++ b/netbox/data_netbox_json_dcim_power_feeds_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerFeedsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerFeedsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerFeedsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerFeedsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerFeedsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerFeedsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerFeedsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerFeedsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerFeedsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerFeedsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_outlet_templates_list.go b/netbox/data_netbox_json_dcim_power_outlet_templates_list.go
index 66e9566bb..871327f53 100644
--- a/netbox/data_netbox_json_dcim_power_outlet_templates_list.go
+++ b/netbox/data_netbox_json_dcim_power_outlet_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerOutletTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerOutletTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerOutletTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerOutletTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerOutletTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerOutletTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerOutletTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerOutletTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerOutletTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerOutletTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_outlets_list.go b/netbox/data_netbox_json_dcim_power_outlets_list.go
index 067b2bf4d..9c827a4a5 100644
--- a/netbox/data_netbox_json_dcim_power_outlets_list.go
+++ b/netbox/data_netbox_json_dcim_power_outlets_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerOutletsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerOutletsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerOutletsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerOutletsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerOutletsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerOutletsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerOutletsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerOutletsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerOutletsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerOutletsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_panels_list.go b/netbox/data_netbox_json_dcim_power_panels_list.go
index f9441d874..57bb77fbe 100644
--- a/netbox/data_netbox_json_dcim_power_panels_list.go
+++ b/netbox/data_netbox_json_dcim_power_panels_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerPanelsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerPanelsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerPanelsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerPanelsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerPanelsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerPanelsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerPanelsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerPanelsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerPanelsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerPanelsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_port_templates_list.go b/netbox/data_netbox_json_dcim_power_port_templates_list.go
index 1a7d36c29..3e6cddb48 100644
--- a/netbox/data_netbox_json_dcim_power_port_templates_list.go
+++ b/netbox/data_netbox_json_dcim_power_port_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerPortTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerPortTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerPortTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerPortTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerPortTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerPortTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerPortTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerPortTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerPortTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerPortTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_power_ports_list.go b/netbox/data_netbox_json_dcim_power_ports_list.go
index 4858dad56..1344c6dc2 100644
--- a/netbox/data_netbox_json_dcim_power_ports_list.go
+++ b/netbox/data_netbox_json_dcim_power_ports_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimPowerPortsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimPowerPortsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimPowerPortsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimPowerPortsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimPowerPortsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimPowerPortsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimPowerPortsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimPowerPortsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimPowerPortsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimPowerPortsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_rack_reservations_list.go b/netbox/data_netbox_json_dcim_rack_reservations_list.go
index b64f3dc17..ddb1f2432 100644
--- a/netbox/data_netbox_json_dcim_rack_reservations_list.go
+++ b/netbox/data_netbox_json_dcim_rack_reservations_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRackReservationsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRackReservationsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRackReservationsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRackReservationsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRackReservationsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRackReservationsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRackReservationsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRackReservationsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRackReservationsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRackReservationsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_rack_roles_list.go b/netbox/data_netbox_json_dcim_rack_roles_list.go
index 16b35f00c..07049d0c5 100644
--- a/netbox/data_netbox_json_dcim_rack_roles_list.go
+++ b/netbox/data_netbox_json_dcim_rack_roles_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRackRolesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRackRolesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRackRolesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRackRolesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRackRolesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRackRolesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRackRolesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRackRolesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRackRolesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRackRolesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_racks_list.go b/netbox/data_netbox_json_dcim_racks_list.go
index c720b95c8..a7a09d108 100644
--- a/netbox/data_netbox_json_dcim_racks_list.go
+++ b/netbox/data_netbox_json_dcim_racks_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRacksList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRacksListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRacksListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRacksListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRacksListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRacksListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRacksList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRacksList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRacksList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRacksList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_rear_port_templates_list.go b/netbox/data_netbox_json_dcim_rear_port_templates_list.go
index 17c989f5a..d6750fa10 100644
--- a/netbox/data_netbox_json_dcim_rear_port_templates_list.go
+++ b/netbox/data_netbox_json_dcim_rear_port_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRearPortTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRearPortTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRearPortTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRearPortTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRearPortTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRearPortTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRearPortTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRearPortTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRearPortTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRearPortTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_rear_ports_list.go b/netbox/data_netbox_json_dcim_rear_ports_list.go
index a66c7a2a4..801c06265 100644
--- a/netbox/data_netbox_json_dcim_rear_ports_list.go
+++ b/netbox/data_netbox_json_dcim_rear_ports_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRearPortsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRearPortsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRearPortsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRearPortsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRearPortsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRearPortsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRearPortsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRearPortsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRearPortsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRearPortsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_regions_list.go b/netbox/data_netbox_json_dcim_regions_list.go
index 83a1d66c8..eff00ac66 100644
--- a/netbox/data_netbox_json_dcim_regions_list.go
+++ b/netbox/data_netbox_json_dcim_regions_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimRegionsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimRegionsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimRegionsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimRegionsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimRegionsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimRegionsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimRegionsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimRegionsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimRegionsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimRegionsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_site_groups_list.go b/netbox/data_netbox_json_dcim_site_groups_list.go
new file mode 100644
index 000000000..495492987
--- /dev/null
+++ b/netbox/data_netbox_json_dcim_site_groups_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
+)
+
+func dataNetboxJSONDcimSiteGroupsList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimSiteGroupsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONDcimSiteGroupsListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := dcim.NewDcimSiteGroupsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Dcim.DcimSiteGroupsList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimSiteGroupsList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_dcim_sites_list.go b/netbox/data_netbox_json_dcim_sites_list.go
index e934511c4..23b3fbadd 100644
--- a/netbox/data_netbox_json_dcim_sites_list.go
+++ b/netbox/data_netbox_json_dcim_sites_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimSitesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimSitesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimSitesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimSitesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimSitesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimSitesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimSitesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimSitesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimSitesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimSitesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_dcim_virtual_chassis_list.go b/netbox/data_netbox_json_dcim_virtual_chassis_list.go
index 45515129c..ac40878e4 100644
--- a/netbox/data_netbox_json_dcim_virtual_chassis_list.go
+++ b/netbox/data_netbox_json_dcim_virtual_chassis_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/dcim"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/dcim"
)
func dataNetboxJSONDcimVirtualChassisList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONDcimVirtualChassisListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONDcimVirtualChassisListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONDcimVirtualChassisListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := dcim.NewDcimVirtualChassisListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := dcim.NewDcimVirtualChassisListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Dcim.DcimVirtualChassisList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Dcim.DcimVirtualChassisList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONDcimVirtualChassisList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONDcimVirtualChassisList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_config_contexts_list.go b/netbox/data_netbox_json_extras_config_contexts_list.go
index dba25e577..8e74011dc 100644
--- a/netbox/data_netbox_json_extras_config_contexts_list.go
+++ b/netbox/data_netbox_json_extras_config_contexts_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasConfigContextsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasConfigContextsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasConfigContextsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasConfigContextsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasConfigContextsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasConfigContextsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasConfigContextsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasConfigContextsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasConfigContextsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasConfigContextsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_content_types_list.go b/netbox/data_netbox_json_extras_content_types_list.go
new file mode 100644
index 000000000..6db559b31
--- /dev/null
+++ b/netbox/data_netbox_json_extras_content_types_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
+)
+
+func dataNetboxJSONExtrasContentTypesList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasContentTypesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONExtrasContentTypesListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := extras.NewExtrasContentTypesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Extras.ExtrasContentTypesList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasContentTypesList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_extras_custom_fields_list.go b/netbox/data_netbox_json_extras_custom_fields_list.go
new file mode 100644
index 000000000..2812b7978
--- /dev/null
+++ b/netbox/data_netbox_json_extras_custom_fields_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
+)
+
+func dataNetboxJSONExtrasCustomFieldsList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasCustomFieldsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONExtrasCustomFieldsListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := extras.NewExtrasCustomFieldsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Extras.ExtrasCustomFieldsList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasCustomFieldsList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_extras_custom_links_list.go b/netbox/data_netbox_json_extras_custom_links_list.go
new file mode 100644
index 000000000..db05cdb38
--- /dev/null
+++ b/netbox/data_netbox_json_extras_custom_links_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
+)
+
+func dataNetboxJSONExtrasCustomLinksList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasCustomLinksListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONExtrasCustomLinksListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := extras.NewExtrasCustomLinksListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Extras.ExtrasCustomLinksList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasCustomLinksList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_extras_export_templates_list.go b/netbox/data_netbox_json_extras_export_templates_list.go
index 596978a7f..4b5124fe7 100644
--- a/netbox/data_netbox_json_extras_export_templates_list.go
+++ b/netbox/data_netbox_json_extras_export_templates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasExportTemplatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasExportTemplatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasExportTemplatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasExportTemplatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasExportTemplatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasExportTemplatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasExportTemplatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasExportTemplatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasExportTemplatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasExportTemplatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_image_attachments_list.go b/netbox/data_netbox_json_extras_image_attachments_list.go
index c23a6f2b7..2c5b1782c 100644
--- a/netbox/data_netbox_json_extras_image_attachments_list.go
+++ b/netbox/data_netbox_json_extras_image_attachments_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasImageAttachmentsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasImageAttachmentsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasImageAttachmentsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasImageAttachmentsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasImageAttachmentsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasImageAttachmentsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasImageAttachmentsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasImageAttachmentsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasImageAttachmentsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasImageAttachmentsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_job_results_list.go b/netbox/data_netbox_json_extras_job_results_list.go
index 8c8ad0f18..69cd6ea87 100644
--- a/netbox/data_netbox_json_extras_job_results_list.go
+++ b/netbox/data_netbox_json_extras_job_results_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasJobResultsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasJobResultsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasJobResultsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasJobResultsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasJobResultsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasJobResultsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasJobResultsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasJobResultsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasJobResultsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasJobResultsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_journal_entries_list.go b/netbox/data_netbox_json_extras_journal_entries_list.go
new file mode 100644
index 000000000..82bb20279
--- /dev/null
+++ b/netbox/data_netbox_json_extras_journal_entries_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
+)
+
+func dataNetboxJSONExtrasJournalEntriesList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasJournalEntriesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONExtrasJournalEntriesListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := extras.NewExtrasJournalEntriesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Extras.ExtrasJournalEntriesList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasJournalEntriesList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_extras_object_changes_list.go b/netbox/data_netbox_json_extras_object_changes_list.go
index e45010f95..417e1c570 100644
--- a/netbox/data_netbox_json_extras_object_changes_list.go
+++ b/netbox/data_netbox_json_extras_object_changes_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasObjectChangesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasObjectChangesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasObjectChangesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasObjectChangesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasObjectChangesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasObjectChangesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasObjectChangesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasObjectChangesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasObjectChangesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasObjectChangesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_tags_list.go b/netbox/data_netbox_json_extras_tags_list.go
index a989dbba3..d0a8483a5 100644
--- a/netbox/data_netbox_json_extras_tags_list.go
+++ b/netbox/data_netbox_json_extras_tags_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/extras"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
)
func dataNetboxJSONExtrasTagsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONExtrasTagsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasTagsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONExtrasTagsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := extras.NewExtrasTagsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := extras.NewExtrasTagsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Extras.ExtrasTagsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Extras.ExtrasTagsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONExtrasTagsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasTagsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_extras_webhooks_list.go b/netbox/data_netbox_json_extras_webhooks_list.go
new file mode 100644
index 000000000..f3459f195
--- /dev/null
+++ b/netbox/data_netbox_json_extras_webhooks_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/extras"
+)
+
+func dataNetboxJSONExtrasWebhooksList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONExtrasWebhooksListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONExtrasWebhooksListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := extras.NewExtrasWebhooksListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Extras.ExtrasWebhooksList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONExtrasWebhooksList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_ipam_aggregates_list.go b/netbox/data_netbox_json_ipam_aggregates_list.go
index 77fd94b08..2ffdb843f 100644
--- a/netbox/data_netbox_json_ipam_aggregates_list.go
+++ b/netbox/data_netbox_json_ipam_aggregates_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamAggregatesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamAggregatesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamAggregatesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamAggregatesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamAggregatesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamAggregatesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamAggregatesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamAggregatesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamAggregatesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamAggregatesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_ip_addresses_list.go b/netbox/data_netbox_json_ipam_ip_addresses_list.go
index 0762763c4..f20f4e185 100644
--- a/netbox/data_netbox_json_ipam_ip_addresses_list.go
+++ b/netbox/data_netbox_json_ipam_ip_addresses_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamIPAddressesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamIPAddressesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamIPAddressesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamIPAddressesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamIPAddressesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamIPAddressesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamIPAddressesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamIPAddressesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamIPAddressesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamIPAddressesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_ip_ranges_list.go b/netbox/data_netbox_json_ipam_ip_ranges_list.go
new file mode 100644
index 000000000..94d62da0e
--- /dev/null
+++ b/netbox/data_netbox_json_ipam_ip_ranges_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
+)
+
+func dataNetboxJSONIpamIPRangesList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamIPRangesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONIpamIPRangesListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := ipam.NewIpamIPRangesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Ipam.IpamIPRangesList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamIPRangesList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_ipam_prefixes_list.go b/netbox/data_netbox_json_ipam_prefixes_list.go
index b6f347416..041abbd18 100644
--- a/netbox/data_netbox_json_ipam_prefixes_list.go
+++ b/netbox/data_netbox_json_ipam_prefixes_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamPrefixesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamPrefixesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamPrefixesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamPrefixesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamPrefixesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamPrefixesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamPrefixesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamPrefixesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamPrefixesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamPrefixesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_rirs_list.go b/netbox/data_netbox_json_ipam_rirs_list.go
index 7713dc547..63da13751 100644
--- a/netbox/data_netbox_json_ipam_rirs_list.go
+++ b/netbox/data_netbox_json_ipam_rirs_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamRirsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamRirsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamRirsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamRirsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamRirsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamRirsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamRirsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamRirsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamRirsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamRirsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_roles_list.go b/netbox/data_netbox_json_ipam_roles_list.go
index 013f3ff28..4e5cbc605 100644
--- a/netbox/data_netbox_json_ipam_roles_list.go
+++ b/netbox/data_netbox_json_ipam_roles_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamRolesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamRolesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamRolesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamRolesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamRolesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamRolesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamRolesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamRolesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamRolesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamRolesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_route_targets_list.go b/netbox/data_netbox_json_ipam_route_targets_list.go
new file mode 100644
index 000000000..0bb9f1e13
--- /dev/null
+++ b/netbox/data_netbox_json_ipam_route_targets_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
+)
+
+func dataNetboxJSONIpamRouteTargetsList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamRouteTargetsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONIpamRouteTargetsListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := ipam.NewIpamRouteTargetsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Ipam.IpamRouteTargetsList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamRouteTargetsList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_ipam_services_list.go b/netbox/data_netbox_json_ipam_services_list.go
index c7cfd9092..1a305a42d 100644
--- a/netbox/data_netbox_json_ipam_services_list.go
+++ b/netbox/data_netbox_json_ipam_services_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamServicesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamServicesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamServicesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamServicesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamServicesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamServicesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamServicesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamServicesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamServicesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamServicesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_vlan_groups_list.go b/netbox/data_netbox_json_ipam_vlan_groups_list.go
index 32fd5bf11..feafe0406 100644
--- a/netbox/data_netbox_json_ipam_vlan_groups_list.go
+++ b/netbox/data_netbox_json_ipam_vlan_groups_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamVlanGroupsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamVlanGroupsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamVlanGroupsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamVlanGroupsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamVlanGroupsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamVlanGroupsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamVlanGroupsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamVlanGroupsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamVlanGroupsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamVlanGroupsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_vlans_list.go b/netbox/data_netbox_json_ipam_vlans_list.go
index ce7e5cd44..88fdd1966 100644
--- a/netbox/data_netbox_json_ipam_vlans_list.go
+++ b/netbox/data_netbox_json_ipam_vlans_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamVlansList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamVlansListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamVlansListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamVlansListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamVlansListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamVlansListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamVlansList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamVlansList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamVlansList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamVlansList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_ipam_vrfs_list.go b/netbox/data_netbox_json_ipam_vrfs_list.go
index 8b3264b49..184e5d18e 100644
--- a/netbox/data_netbox_json_ipam_vrfs_list.go
+++ b/netbox/data_netbox_json_ipam_vrfs_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/ipam"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/ipam"
)
func dataNetboxJSONIpamVrfsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONIpamVrfsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONIpamVrfsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONIpamVrfsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := ipam.NewIpamVrfsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := ipam.NewIpamVrfsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Ipam.IpamVrfsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Ipam.IpamVrfsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONIpamVrfsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONIpamVrfsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_secrets_secret_roles_list.go b/netbox/data_netbox_json_secrets_secret_roles_list.go
deleted file mode 100644
index d6e5cab38..000000000
--- a/netbox/data_netbox_json_secrets_secret_roles_list.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/secrets"
-)
-
-func dataNetboxJSONSecretsSecretRolesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONSecretsSecretRolesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSONSecretsSecretRolesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := secrets.NewSecretsSecretRolesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.Secrets.SecretsSecretRolesList(params, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSONSecretsSecretRolesList")
-
- return nil
-}
diff --git a/netbox/data_netbox_json_secrets_secrets_list.go b/netbox/data_netbox_json_secrets_secrets_list.go
deleted file mode 100644
index 8fd876aa2..000000000
--- a/netbox/data_netbox_json_secrets_secrets_list.go
+++ /dev/null
@@ -1,47 +0,0 @@
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/secrets"
-)
-
-func dataNetboxJSONSecretsSecretsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONSecretsSecretsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSONSecretsSecretsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := secrets.NewSecretsSecretsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.Secrets.SecretsSecretsList(params, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSONSecretsSecretsList")
-
- return nil
-}
diff --git a/netbox/data_netbox_json_tenancy_tenant_groups_list.go b/netbox/data_netbox_json_tenancy_tenant_groups_list.go
index f96143b5b..eaccdc7c1 100644
--- a/netbox/data_netbox_json_tenancy_tenant_groups_list.go
+++ b/netbox/data_netbox_json_tenancy_tenant_groups_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/tenancy"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/tenancy"
)
func dataNetboxJSONTenancyTenantGroupsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONTenancyTenantGroupsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONTenancyTenantGroupsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONTenancyTenantGroupsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := tenancy.NewTenancyTenantGroupsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := tenancy.NewTenancyTenantGroupsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Tenancy.TenancyTenantGroupsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Tenancy.TenancyTenantGroupsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONTenancyTenantGroupsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONTenancyTenantGroupsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_tenancy_tenants_list.go b/netbox/data_netbox_json_tenancy_tenants_list.go
index 988b76ebc..8ffe8d7de 100644
--- a/netbox/data_netbox_json_tenancy_tenants_list.go
+++ b/netbox/data_netbox_json_tenancy_tenants_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/tenancy"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/tenancy"
)
func dataNetboxJSONTenancyTenantsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONTenancyTenantsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONTenancyTenantsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONTenancyTenantsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := tenancy.NewTenancyTenantsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := tenancy.NewTenancyTenantsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Tenancy.TenancyTenantsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Tenancy.TenancyTenantsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONTenancyTenantsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONTenancyTenantsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_users_groups_list.go b/netbox/data_netbox_json_users_groups_list.go
index 72411acd5..37436bca2 100644
--- a/netbox/data_netbox_json_users_groups_list.go
+++ b/netbox/data_netbox_json_users_groups_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/users"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/users"
)
func dataNetboxJSONUsersGroupsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONUsersGroupsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONUsersGroupsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONUsersGroupsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := users.NewUsersGroupsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := users.NewUsersGroupsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Users.UsersGroupsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Users.UsersGroupsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONUsersGroupsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONUsersGroupsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_users_permissions_list.go b/netbox/data_netbox_json_users_permissions_list.go
index 4a42cb938..91883732e 100644
--- a/netbox/data_netbox_json_users_permissions_list.go
+++ b/netbox/data_netbox_json_users_permissions_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/users"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/users"
)
func dataNetboxJSONUsersPermissionsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONUsersPermissionsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONUsersPermissionsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONUsersPermissionsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := users.NewUsersPermissionsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := users.NewUsersPermissionsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Users.UsersPermissionsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Users.UsersPermissionsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONUsersPermissionsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONUsersPermissionsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_users_tokens_list.go b/netbox/data_netbox_json_users_tokens_list.go
new file mode 100644
index 000000000..cdb292ecd
--- /dev/null
+++ b/netbox/data_netbox_json_users_tokens_list.go
@@ -0,0 +1,47 @@
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/users"
+)
+
+func dataNetboxJSONUsersTokensList() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSONUsersTokensListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSONUsersTokensListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := users.NewUsersTokensListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.Users.UsersTokensList(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONUsersTokensList")
+
+ return nil
+}
diff --git a/netbox/data_netbox_json_users_users_list.go b/netbox/data_netbox_json_users_users_list.go
index 688308df2..e4604bcc1 100644
--- a/netbox/data_netbox_json_users_users_list.go
+++ b/netbox/data_netbox_json_users_users_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/users"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/users"
)
func dataNetboxJSONUsersUsersList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONUsersUsersListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONUsersUsersListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONUsersUsersListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := users.NewUsersUsersListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := users.NewUsersUsersListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Users.UsersUsersList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Users.UsersUsersList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONUsersUsersList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONUsersUsersList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_virtualization_cluster_groups_list.go b/netbox/data_netbox_json_virtualization_cluster_groups_list.go
index 4e636e410..945492e21 100644
--- a/netbox/data_netbox_json_virtualization_cluster_groups_list.go
+++ b/netbox/data_netbox_json_virtualization_cluster_groups_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/virtualization"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/virtualization"
)
func dataNetboxJSONVirtualizationClusterGroupsList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONVirtualizationClusterGroupsListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONVirtualizationClusterGroupsListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONVirtualizationClusterGroupsListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := virtualization.NewVirtualizationClusterGroupsListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := virtualization.NewVirtualizationClusterGroupsListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Virtualization.VirtualizationClusterGroupsList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Virtualization.VirtualizationClusterGroupsList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONVirtualizationClusterGroupsList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONVirtualizationClusterGroupsList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_virtualization_cluster_types_list.go b/netbox/data_netbox_json_virtualization_cluster_types_list.go
index e692862d2..2223a9902 100644
--- a/netbox/data_netbox_json_virtualization_cluster_types_list.go
+++ b/netbox/data_netbox_json_virtualization_cluster_types_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/virtualization"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/virtualization"
)
func dataNetboxJSONVirtualizationClusterTypesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONVirtualizationClusterTypesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONVirtualizationClusterTypesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONVirtualizationClusterTypesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := virtualization.NewVirtualizationClusterTypesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := virtualization.NewVirtualizationClusterTypesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Virtualization.VirtualizationClusterTypesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Virtualization.VirtualizationClusterTypesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONVirtualizationClusterTypesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONVirtualizationClusterTypesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_virtualization_clusters_list.go b/netbox/data_netbox_json_virtualization_clusters_list.go
index 26263ce72..2ae80133d 100644
--- a/netbox/data_netbox_json_virtualization_clusters_list.go
+++ b/netbox/data_netbox_json_virtualization_clusters_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/virtualization"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/virtualization"
)
func dataNetboxJSONVirtualizationClustersList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONVirtualizationClustersListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONVirtualizationClustersListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONVirtualizationClustersListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := virtualization.NewVirtualizationClustersListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := virtualization.NewVirtualizationClustersListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Virtualization.VirtualizationClustersList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Virtualization.VirtualizationClustersList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONVirtualizationClustersList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONVirtualizationClustersList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_virtualization_interfaces_list.go b/netbox/data_netbox_json_virtualization_interfaces_list.go
index caa6dd289..23e0c1ab2 100644
--- a/netbox/data_netbox_json_virtualization_interfaces_list.go
+++ b/netbox/data_netbox_json_virtualization_interfaces_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/virtualization"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/virtualization"
)
func dataNetboxJSONVirtualizationInterfacesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONVirtualizationInterfacesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONVirtualizationInterfacesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONVirtualizationInterfacesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := virtualization.NewVirtualizationInterfacesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := virtualization.NewVirtualizationInterfacesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Virtualization.VirtualizationInterfacesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Virtualization.VirtualizationInterfacesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONVirtualizationInterfacesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONVirtualizationInterfacesList")
- return nil
+ return nil
}
diff --git a/netbox/data_netbox_json_virtualization_virtual_machines_list.go b/netbox/data_netbox_json_virtualization_virtual_machines_list.go
index e6b9ad66b..27e8edbcc 100644
--- a/netbox/data_netbox_json_virtualization_virtual_machines_list.go
+++ b/netbox/data_netbox_json_virtualization_virtual_machines_list.go
@@ -1,47 +1,47 @@
package netbox
import (
- "encoding/json"
+ "encoding/json"
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/smutel/go-netbox/netbox/client"
- "github.com/smutel/go-netbox/netbox/client/virtualization"
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/virtualization"
)
func dataNetboxJSONVirtualizationVirtualMachinesList() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSONVirtualizationVirtualMachinesListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
+ return &schema.Resource{
+ Read: dataNetboxJSONVirtualizationVirtualMachinesListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
}
func dataNetboxJSONVirtualizationVirtualMachinesListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
+ client := m.(*netboxclient.NetBoxAPI)
- params := virtualization.NewVirtualizationVirtualMachinesListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
+ params := virtualization.NewVirtualizationVirtualMachinesListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
- list, err := client.Virtualization.VirtualizationVirtualMachinesList(params, nil)
- if err != nil {
- return err
- }
+ list, err := client.Virtualization.VirtualizationVirtualMachinesList(params, nil)
+ if err != nil {
+ return err
+ }
- j, _ := json.Marshal(list.Payload.Results)
+ j, _ := json.Marshal(list.Payload.Results)
- d.Set("json", string(j))
- d.SetId("NetboxJSONVirtualizationVirtualMachinesList")
+ d.Set("json", string(j))
+ d.SetId("NetboxJSONVirtualizationVirtualMachinesList")
- return nil
+ return nil
}
diff --git a/netbox/provider.go b/netbox/provider.go
index ede04ca71..1420c620f 100644
--- a/netbox/provider.go
+++ b/netbox/provider.go
@@ -56,79 +56,85 @@ func Provider() *schema.Provider {
},
},
DataSourcesMap: map[string]*schema.Resource{
- "netbox_dcim_platform": dataNetboxDcimPlatform(),
- "netbox_dcim_site": dataNetboxDcimSite(),
- "netbox_ipam_aggregate": dataNetboxIpamAggregate(),
- "netbox_ipam_ip_addresses": dataNetboxIpamIPAddresses(),
- "netbox_ipam_role": dataNetboxIpamRole(),
- "netbox_ipam_service": dataNetboxIpamService(),
- "netbox_ipam_vlan": dataNetboxIpamVlan(),
- "netbox_ipam_vlan_group": dataNetboxIpamVlanGroup(),
+ "netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
- "netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
+ "netbox_json_circuits_provider_networks_list": dataNetboxJSONCircuitsProviderNetworksList(),
"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
- "netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
- "netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
- "netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
+ "netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
- "netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
+ "netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
+ "netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
- "netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
- "netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
+ "netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
- "netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
- "netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
+ "netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
+ "netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
+ "netbox_json_dcim_locations_list": dataNetboxJSONDcimLocationsList(),
"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
- "netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
- "netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
+ "netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
- "netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
+ "netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
- "netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
+ "netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
+ "netbox_json_dcim_site_groups_list": dataNetboxJSONDcimSiteGroupsList(),
"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
+ "netbox_json_extras_content_types_list": dataNetboxJSONExtrasContentTypesList(),
+ "netbox_json_extras_custom_fields_list": dataNetboxJSONExtrasCustomFieldsList(),
+ "netbox_json_extras_custom_links_list": dataNetboxJSONExtrasCustomLinksList(),
"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
+ "netbox_json_extras_journal_entries_list": dataNetboxJSONExtrasJournalEntriesList(),
"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
+ "netbox_json_extras_webhooks_list": dataNetboxJSONExtrasWebhooksList(),
"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
+ "netbox_json_ipam_ip_ranges_list": dataNetboxJSONIpamIPRangesList(),
"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
+ "netbox_json_ipam_route_targets_list": dataNetboxJSONIpamRouteTargetsList(),
"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
- "netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
- "netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
+ "netbox_json_users_tokens_list": dataNetboxJSONUsersTokensList(),
"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
- "netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
+ "netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
+ "netbox_dcim_platform": dataNetboxDcimPlatform(),
+ "netbox_dcim_site": dataNetboxDcimSite(),
+ "netbox_ipam_aggregate": dataNetboxIpamAggregate(),
+ "netbox_ipam_ip_addresses": dataNetboxIpamIPAddresses(),
+ "netbox_ipam_role": dataNetboxIpamRole(),
+ "netbox_ipam_service": dataNetboxIpamService(),
+ "netbox_ipam_vlan": dataNetboxIpamVlan(),
+ "netbox_ipam_vlan_group": dataNetboxIpamVlanGroup(),
"netbox_tenancy_tenant": dataNetboxTenancyTenant(),
"netbox_tenancy_tenant_group": dataNetboxTenancyTenantGroup(),
"netbox_virtualization_cluster": dataNetboxVirtualizationCluster(),
diff --git a/netbox/resource_netbox_virtualization_vm.go b/netbox/resource_netbox_virtualization_vm.go
index 15c803bc3..b097b2063 100644
--- a/netbox/resource_netbox_virtualization_vm.go
+++ b/netbox/resource_netbox_virtualization_vm.go
@@ -116,8 +116,8 @@ func resourceNetboxVirtualizationVM() *schema.Resource {
Type: schema.TypeString,
Optional: true,
ValidateFunc: validation.StringMatch(
- regexp.MustCompile("^[0-9]+|[0-9]+.[0-9]+$"),
- "Must be like ^[0-9]+|[0-9]+.[0-9]+$"),
+ regexp.MustCompile("^[0-9]+((.[0-9]){0,1}[0-9]{0,1})$"),
+ "Must be like ^[0-9]+((.[0-9]){0,1}[0-9]{0,1})$"),
DiffSuppressFunc: func(k, old, new string, d *schema.ResourceData) bool {
if old == new+".00" || old == new {
return true
@@ -183,7 +183,8 @@ func resourceNetboxVirtualizationVMCreate(d *schema.ResourceData,
}
if vcpus != "" {
- newResource.Vcpus = &vcpus
+ vcpusFloat, _ := strconv.ParseFloat(vcpus, 32)
+ newResource.Vcpus = &vcpusFloat
}
resource := virtualization.NewVirtualizationVirtualMachinesCreateParams().WithData(newResource)
@@ -291,7 +292,7 @@ func resourceNetboxVirtualizationVMRead(d *schema.ResourceData,
}
}
- if err = d.Set("vcpus", resource.Vcpus); err != nil {
+ if err = d.Set("vcpus", fmt.Sprintf("%v", *resource.Vcpus)); err != nil {
return err
}
@@ -373,7 +374,8 @@ func resourceNetboxVirtualizationVMUpdate(d *schema.ResourceData,
vcpus = vcpus + ".00"
}
- params.Vcpus = &vcpus
+ vcpusFloat, _ := strconv.ParseFloat(vcpus, 32)
+ params.Vcpus = &vcpusFloat
}
resource := virtualization.NewVirtualizationVirtualMachinesPartialUpdateParams().WithData(params)
diff --git a/utils/generateJsonDatasources b/utils/generateJsonDatasources
new file mode 100755
index 000000000..18d94e90b
--- /dev/null
+++ b/utils/generateJsonDatasources
@@ -0,0 +1,175 @@
+#!/bin/bash
+
+SCRIPT_PATH=$(dirname "$0")
+FILE="${SCRIPT_PATH}/netbox_list_endpoints.txt"
+
+find ${SCRIPT_PATH}/../vendor/github.com/smutel/go-netbox/netbox/client -mindepth 1 -name "*_list_parameters.go" | while read line; do
+ OPERATION_ID=0
+ EXCLUDE=0
+
+ FILENAME="${line##*/}"
+ FILENAME="$(echo ${FILENAME%.go})"
+
+ for i in 2 3 4 5 6; do
+ OPERATION_FOUND=0
+ OPERATION="$(echo ${FILENAME} | cut -d"_" -f$i)"
+ if [ "${OPERATION}" == "list" ]; then
+ OPERATION_FOUND=1
+ fi
+
+ if [ ${OPERATION_FOUND} -eq 1 -a ${OPERATION_ID} -eq 0 ]; then
+ OPERATION_ID=$i
+ fi
+ done
+
+ if [ ${OPERATION_ID} -eq 3 ]; then
+ ENDPOINT="$(echo ${FILENAME} | cut -d"_" -f1)_$(echo ${FILENAME} | cut -d"_" -f2)"
+ ITEM=$(echo ${FILENAME} | cut -d"_" -f2)
+ ITEM=${ITEM^}
+ elif [ ${OPERATION_ID} -eq 4 ]; then
+ ENDPOINT="$(echo ${FILENAME} | cut -d"_" -f1)_$(echo ${FILENAME} | cut -d"_" -f2)_$(echo ${FILENAME} | cut -d"_" -f3)"
+ ITEM1=$(echo ${FILENAME} | cut -d"_" -f2)
+ ITEM2=$(echo ${FILENAME} | cut -d"_" -f3)
+ ITEM="${ITEM1^}${ITEM2^}"
+ elif [ ${OPERATION_ID} -eq 5 ]; then
+ ENDPOINT="$(echo ${FILENAME} | cut -d"_" -f1)_$(echo ${FILENAME} | cut -d"_" -f2)_$(echo ${FILENAME} | cut -d"_" -f3)_$(echo ${FILENAME} | cut -d"_" -f4)"
+ ITEM1=$(echo ${FILENAME} | cut -d"_" -f2)
+ ITEM2=$(echo ${FILENAME} | cut -d"_" -f3)
+ ITEM3=$(echo ${FILENAME} | cut -d"_" -f4)
+ ITEM="${ITEM1^}${ITEM2^}${ITEM3^}"
+ elif [ ${OPERATION_ID} -eq 6 ]; then
+ ENDPOINT="$(echo ${FILENAME} | cut -d"_" -f1)_$(echo ${FILENAME} | cut -d"_" -f2)_$(echo ${FILENAME} | cut -d"_" -f3)_$(echo ${FILENAME} | cut -d"_" -f4)_$(echo ${FILENAME} | cut -d"_" -f5)"
+ ITEM1=$(echo ${FILENAME} | cut -d"_" -f2)
+ ITEM2=$(echo ${FILENAME} | cut -d"_" -f3)
+ ITEM3=$(echo ${FILENAME} | cut -d"_" -f4)
+ ITEM4=$(echo ${FILENAME} | cut -d"_" -f5)
+ ITEM="${ITEM1^}${ITEM2^}${ITEM3^}${ITEM4^}"
+ fi
+
+ SECTION=$(echo ${FILENAME} | cut -d"_" -f1)
+ SECTION=${SECTION^}
+
+ if [ ${OPERATION_ID} -eq 2 ]; then
+ EXCLUDE=1
+ fi
+
+ LIMIT=$(grep -ci "Limit *int64" "${line}")
+ if [ $LIMIT -eq 0 ]; then
+ EXCLUDE=1
+ fi
+
+ ITEM=$(echo ${ITEM} | sed 's/IpAddresses/IPAddresses/g')
+ ITEM=$(echo ${ITEM} | sed 's/IpRanges/IPRanges/g')
+
+ if [ ${EXCLUDE} -eq 0 ]; then
+ echo ${ENDPOINT} ${SECTION} ${ITEM} >> ${FILE}.tmp
+ fi
+done
+
+cat ${FILE}.tmp | sort -u > ${FILE}
+rm ${FILE}.tmp
+
+find ${SCRIPT_PATH}/../netbox -name "*_json_*.go" -delete
+find ${SCRIPT_PATH}/../docs/data-sources -name "json_*" -delete
+
+rm -f ${SCRIPT_PATH}/provider_update.txt
+while read -r line; do
+ SPLIT=( $line )
+
+ ENDPOINT=${SPLIT[0]}
+ SECTION=${SPLIT[1]}
+ ITEM=${SPLIT[2]}
+
+cat << EOF > ${SCRIPT_PATH}/../netbox/data_netbox_json_${ENDPOINT}_list.go
+package netbox
+
+import (
+ "encoding/json"
+
+ "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
+ netboxclient "github.com/smutel/go-netbox/netbox/client"
+ "github.com/smutel/go-netbox/netbox/client/${SECTION,}"
+)
+
+func dataNetboxJSON${SECTION}${ITEM}List() *schema.Resource {
+ return &schema.Resource{
+ Read: dataNetboxJSON${SECTION}${ITEM}ListRead,
+
+ Schema: map[string]*schema.Schema{
+ "limit": {
+ Type: schema.TypeInt,
+ Optional: true,
+ Default: 0,
+ },
+ "json": {
+ Type: schema.TypeString,
+ Computed: true,
+ },
+ },
+ }
+}
+
+func dataNetboxJSON${SECTION}${ITEM}ListRead(d *schema.ResourceData, m interface{}) error {
+ client := m.(*netboxclient.NetBoxAPI)
+
+ params := ${SECTION,}.New${SECTION}${ITEM}ListParams()
+ limit := int64(d.Get("limit").(int))
+ params.Limit = &limit
+
+ list, err := client.${SECTION}.${SECTION}${ITEM}List(params, nil)
+ if err != nil {
+ return err
+ }
+
+ j, _ := json.Marshal(list.Payload.Results)
+
+ d.Set("json", string(j))
+ d.SetId("NetboxJSON${SECTION}${ITEM}List")
+
+ return nil
+}
+EOF
+
+cat << EOF >> ${SCRIPT_PATH}/provider_update.txt
+"netbox_json_${ENDPOINT}_list": dataNetboxJSON${SECTION}${ITEM}List(),
+EOF
+
+cat << EOF > ${SCRIPT_PATH}/../docs/data-sources/json_${ENDPOINT}_list.md
+# netbox\_json\_`echo ${ENDPOINT} | sed 's/_/\\\_/g'`\_list Data Source
+
+Get json output from the ${ENDPOINT}_list Netbox endpoint
+
+## Example Usage
+
+\`\`\`hcl
+data "netbox_json_${ENDPOINT}_list" "test" {
+ limit = 0
+}
+output "example" {
+ value = jsondecode(data.netbox_json_${ENDPOINT}_list.test.json)
+}
+\`\`\`
+
+## Argument Reference
+
+* \`\`limit\`\` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
+
+## Attributes Reference
+
+In addition to the above arguments, the following attributes are exported:
+* \`\`json\`\` - JSON output of the list of objects for this Netbox endpoint.
+
+EOF
+
+done < "$FILE"
+
+grep -v "netbox_json_" ${SCRIPT_PATH}/../netbox/provider.go > ${SCRIPT_PATH}/../netbox/provider.go.tmp
+sed -Ei 's/DataSourcesMap: map\[string\]\*schema.Resource\{/DataSourcesMap: map\[string\]\*schema.Resource\{\nDATAJSON/g' ${SCRIPT_PATH}/../netbox/provider.go.tmp
+while read line; do
+ sed -i "s/DATAJSON/$line\nDATAJSON/g" ${SCRIPT_PATH}/../netbox/provider.go.tmp
+done < ${SCRIPT_PATH}/provider_update.txt
+sed -i '/^DATAJSON$/d' ${SCRIPT_PATH}/../netbox/provider.go.tmp
+mv ${SCRIPT_PATH}/../netbox/provider.go.tmp ${SCRIPT_PATH}/../netbox/provider.go
+go fmt ${SCRIPT_PATH}/../netbox/provider.go > /dev/null
+rm -f ${SCRIPT_PATH}/provider_update.txt
+rm -f ${SCRIPT_PATH}/netbox_list_endpoints.txt
diff --git a/utils/netbox_generate_json_datasources.sh b/utils/netbox_generate_json_datasources.sh
deleted file mode 100755
index 26d727afd..000000000
--- a/utils/netbox_generate_json_datasources.sh
+++ /dev/null
@@ -1,99 +0,0 @@
-#!/bin/bash
-
-FILE=netbox_list_endpoints.txt
-
-while read -r line; do
- SPLIT=( $line )
-
- ENDPOINT=${SPLIT[0]}
- SECTION=${SPLIT[1]}
- ITEM=${SPLIT[2]}
-
-cat << EOF > ../netbox/data_netbox_json_${ENDPOINT}_list.go
-package netbox
-
-import (
- "encoding/json"
-
- "github.com/hashicorp/terraform-plugin-sdk/helper/schema"
- netboxclient "github.com/netbox-community/go-netbox/netbox/client"
- "github.com/netbox-community/go-netbox/netbox/client/${SECTION,}"
-)
-
-func dataNetboxJSON${SECTION}${ITEM}List() *schema.Resource {
- return &schema.Resource{
- Read: dataNetboxJSON${SECTION}${ITEM}ListRead,
-
- Schema: map[string]*schema.Schema{
- "limit": {
- Type: schema.TypeInt,
- Optional: true,
- Default: 0,
- },
- "json": {
- Type: schema.TypeString,
- Computed: true,
- },
- },
- }
-}
-
-func dataNetboxJSON${SECTION}${ITEM}ListRead(d *schema.ResourceData, m interface{}) error {
- client := m.(*netboxclient.NetBoxAPI)
-
- params := ${SECTION,}.New${SECTION}${ITEM}ListParams()
- limit := int64(d.Get("limit").(int))
- params.Limit = &limit
-
- list, err := client.${SECTION}.${SECTION}${ITEM}List(params, nil)
- if err != nil {
- return err
-}
- list, err := client.${SECTION}.${SECTION}${ITEM}List(nil, nil)
- if err != nil {
- return err
- }
-
- j, _ := json.Marshal(list.Payload.Results)
-
- d.Set("json", string(j))
- d.SetId("NetboxJSON${SECTION}${ITEM}List")
-
- return nil
-}
-EOF
-
-
-cat << EOF >> provider_update.txt
-"netbox_json_${ENDPOINT}_list": dataNetboxJSON${SECTION}${ITEM}List(),
-EOF
-
-
-cat << EOF > ../docs/data-sources/json_${ENDPOINT}_list.md
-# netbox\_json\_`echo ${ENDPOINT} | sed 's/_/\\\_/g'`\_list Data Source
-
-Get json output from the ${ENDPOINT}_list Netbox endpoint
-
-## Example Usage
-
-\`\`\`hcl
-data "netbox_json_${ENDPOINT}_list" "test" {
- limit = 0
-}
-output "example" {
- value = jsondecode(data.netbox_json_${ENDPOINT}_list.test.json)
-}
-\`\`\`
-
-## Argument Reference
-
-* \`\`limit\`\` (Optional). The max number of returned results. If 0 is specified, all records will be returned.
-
-## Attributes Reference
-
-In addition to the above arguments, the following attributes are exported:
-* \`\`json\`\` - JSON output of the list of objects for this Netbox endpoint.
-
-EOF
-
-done < "$FILE"
diff --git a/utils/netbox_list_endpoints.txt b/utils/netbox_list_endpoints.txt
deleted file mode 100644
index 6dcae90cc..000000000
--- a/utils/netbox_list_endpoints.txt
+++ /dev/null
@@ -1,66 +0,0 @@
-circuits_circuit_terminations Circuits CircuitTerminations
-circuits_circuit_types Circuits CircuitTypes
-circuits_circuits Circuits Circuits
-circuits_providers Circuits Providers
-dcim_cables Dcim Cables
-dcim_console_connections Dcim ConsoleConnections
-dcim_console_port_templates Dcim ConsolePortTemplates
-dcim_console_ports Dcim ConsolePorts
-dcim_console_server_port_templates Dcim ConsoleServerPortTemplates
-dcim_console_server_ports Dcim ConsoleServerPorts
-dcim_device_bay_templates Dcim DeviceBayTemplates
-dcim_device_bays Dcim DeviceBays
-dcim_device_roles Dcim DeviceRoles
-dcim_device_types Dcim DeviceTypes
-dcim_devices Dcim Devices
-dcim_front_port_templates Dcim FrontPortTemplates
-dcim_front_ports Dcim FrontPorts
-dcim_interface_connections Dcim InterfaceConnections
-dcim_interface_templates Dcim InterfaceTemplates
-dcim_interfaces Dcim Interfaces
-dcim_inventory_items Dcim InventoryItems
-dcim_manufacturers Dcim Manufacturers
-dcim_platforms Dcim Platforms
-dcim_power_connections Dcim PowerConnections
-dcim_power_feeds Dcim PowerFeeds
-dcim_power_outlet_templates Dcim PowerOutletTemplates
-dcim_power_outlets Dcim PowerOutlets
-dcim_power_panels Dcim PowerPanels
-dcim_power_port_templates Dcim PowerPortTemplates
-dcim_power_ports Dcim PowerPorts
-dcim_rack_reservations Dcim RackReservations
-dcim_rack_roles Dcim RackRoles
-dcim_racks Dcim Racks
-dcim_rear_port_templates Dcim RearPortTemplates
-dcim_rear_ports Dcim RearPorts
-dcim_regions Dcim Regions
-dcim_sites Dcim Sites
-dcim_virtual_chassis Dcim VirtualChassis
-extras_config_contexts Extras ConfigContexts
-extras_export_templates Extras ExportTemplates
-extras_graphs Extras Graphs
-extras_image_attachments Extras ImageAttachments
-extras_job_results Extras JobResults
-extras_object_changes Extras ObjectChanges
-extras_tags Extras Tags
-ipam_aggregates Ipam Aggregates
-ipam_ip_addresses Ipam IPAddresses
-ipam_prefixes Ipam Prefixes
-ipam_rirs Ipam Rirs
-ipam_roles Ipam Roles
-ipam_services Ipam Services
-ipam_vlan_groups Ipam VlanGroups
-ipam_vlans Ipam Vlans
-ipam_vrfs Ipam Vrfs
-secrets_secret_roles Secrets SecretRoles
-secrets_secrets Secrets Secrets
-tenancy_tenant_groups Tenancy TenantGroups
-tenancy_tenants Tenancy Tenants
-users_groups Users Groups
-users_permissions Users Permissions
-users_users Users Users
-virtualization_cluster_groups Virtualization ClusterGroups
-virtualization_cluster_types Virtualization ClusterTypes
-virtualization_clusters Virtualization Clusters
-virtualization_interfaces Virtualization Interfaces
-virtualization_virtual_machines Virtualization VirtualMachines
diff --git a/utils/provider_update.txt b/utils/provider_update.txt
deleted file mode 100644
index b93cfb2c5..000000000
--- a/utils/provider_update.txt
+++ /dev/null
@@ -1,599 +0,0 @@
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
-"netbox_json_circuits_circuit_terminations_list": dataNetboxJSONCircuitsCircuitTerminationsList(),
-"netbox_json_circuits_circuit_types_list": dataNetboxJSONCircuitsCircuitTypesList(),
-"netbox_json_circuits_circuits_list": dataNetboxJSONCircuitsCircuitsList(),
-"netbox_json_circuits_providers_list": dataNetboxJSONCircuitsProvidersList(),
-"netbox_json_dcim_cables_list": dataNetboxJSONDcimCablesList(),
-"netbox_json_dcim_console_connections_list": dataNetboxJSONDcimConsoleConnectionsList(),
-"netbox_json_dcim_console_port_templates_list": dataNetboxJSONDcimConsolePortTemplatesList(),
-"netbox_json_dcim_console_ports_list": dataNetboxJSONDcimConsolePortsList(),
-"netbox_json_dcim_console_server_port_templates_list": dataNetboxJSONDcimConsoleServerPortTemplatesList(),
-"netbox_json_dcim_console_server_ports_list": dataNetboxJSONDcimConsoleServerPortsList(),
-"netbox_json_dcim_device_bay_templates_list": dataNetboxJSONDcimDeviceBayTemplatesList(),
-"netbox_json_dcim_device_bays_list": dataNetboxJSONDcimDeviceBaysList(),
-"netbox_json_dcim_device_roles_list": dataNetboxJSONDcimDeviceRolesList(),
-"netbox_json_dcim_device_types_list": dataNetboxJSONDcimDeviceTypesList(),
-"netbox_json_dcim_devices_list": dataNetboxJSONDcimDevicesList(),
-"netbox_json_dcim_front_port_templates_list": dataNetboxJSONDcimFrontPortTemplatesList(),
-"netbox_json_dcim_front_ports_list": dataNetboxJSONDcimFrontPortsList(),
-"netbox_json_dcim_interface_connections_list": dataNetboxJSONDcimInterfaceConnectionsList(),
-"netbox_json_dcim_interface_templates_list": dataNetboxJSONDcimInterfaceTemplatesList(),
-"netbox_json_dcim_interfaces_list": dataNetboxJSONDcimInterfacesList(),
-"netbox_json_dcim_inventory_items_list": dataNetboxJSONDcimInventoryItemsList(),
-"netbox_json_dcim_manufacturers_list": dataNetboxJSONDcimManufacturersList(),
-"netbox_json_dcim_platforms_list": dataNetboxJSONDcimPlatformsList(),
-"netbox_json_dcim_power_connections_list": dataNetboxJSONDcimPowerConnectionsList(),
-"netbox_json_dcim_power_feeds_list": dataNetboxJSONDcimPowerFeedsList(),
-"netbox_json_dcim_power_outlet_templates_list": dataNetboxJSONDcimPowerOutletTemplatesList(),
-"netbox_json_dcim_power_outlets_list": dataNetboxJSONDcimPowerOutletsList(),
-"netbox_json_dcim_power_panels_list": dataNetboxJSONDcimPowerPanelsList(),
-"netbox_json_dcim_power_port_templates_list": dataNetboxJSONDcimPowerPortTemplatesList(),
-"netbox_json_dcim_power_ports_list": dataNetboxJSONDcimPowerPortsList(),
-"netbox_json_dcim_rack_groups_list": dataNetboxJSONDcimRackGroupsList(),
-"netbox_json_dcim_rack_reservations_list": dataNetboxJSONDcimRackReservationsList(),
-"netbox_json_dcim_rack_roles_list": dataNetboxJSONDcimRackRolesList(),
-"netbox_json_dcim_racks_list": dataNetboxJSONDcimRacksList(),
-"netbox_json_dcim_rear_port_templates_list": dataNetboxJSONDcimRearPortTemplatesList(),
-"netbox_json_dcim_rear_ports_list": dataNetboxJSONDcimRearPortsList(),
-"netbox_json_dcim_regions_list": dataNetboxJSONDcimRegionsList(),
-"netbox_json_dcim_sites_list": dataNetboxJSONDcimSitesList(),
-"netbox_json_dcim_virtual_chassis_list": dataNetboxJSONDcimVirtualChassisList(),
-"netbox_json_extras_config_contexts_list": dataNetboxJSONExtrasConfigContextsList(),
-"netbox_json_extras_export_templates_list": dataNetboxJSONExtrasExportTemplatesList(),
-"netbox_json_extras_graphs_list": dataNetboxJSONExtrasGraphsList(),
-"netbox_json_extras_image_attachments_list": dataNetboxJSONExtrasImageAttachmentsList(),
-"netbox_json_extras_job_results_list": dataNetboxJSONExtrasJobResultsList(),
-"netbox_json_extras_object_changes_list": dataNetboxJSONExtrasObjectChangesList(),
-"netbox_json_extras_tags_list": dataNetboxJSONExtrasTagsList(),
-"netbox_json_ipam_aggregates_list": dataNetboxJSONIpamAggregatesList(),
-"netbox_json_ipam_ip_addresses_list": dataNetboxJSONIpamIPAddressesList(),
-"netbox_json_ipam_prefixes_list": dataNetboxJSONIpamPrefixesList(),
-"netbox_json_ipam_rirs_list": dataNetboxJSONIpamRirsList(),
-"netbox_json_ipam_roles_list": dataNetboxJSONIpamRolesList(),
-"netbox_json_ipam_services_list": dataNetboxJSONIpamServicesList(),
-"netbox_json_ipam_vlan_groups_list": dataNetboxJSONIpamVlanGroupsList(),
-"netbox_json_ipam_vlans_list": dataNetboxJSONIpamVlansList(),
-"netbox_json_ipam_vrfs_list": dataNetboxJSONIpamVrfsList(),
-"netbox_json_secrets_secret_roles_list": dataNetboxJSONSecretsSecretRolesList(),
-"netbox_json_secrets_secrets_list": dataNetboxJSONSecretsSecretsList(),
-"netbox_json_tenancy_tenant_groups_list": dataNetboxJSONTenancyTenantGroupsList(),
-"netbox_json_tenancy_tenants_list": dataNetboxJSONTenancyTenantsList(),
-"netbox_json_users_groups_list": dataNetboxJSONUsersGroupsList(),
-"netbox_json_users_permissions_list": dataNetboxJSONUsersPermissionsList(),
-"netbox_json_users_users_list": dataNetboxJSONUsersUsersList(),
-"netbox_json_virtualization_cluster_groups_list": dataNetboxJSONVirtualizationClusterGroupsList(),
-"netbox_json_virtualization_cluster_types_list": dataNetboxJSONVirtualizationClusterTypesList(),
-"netbox_json_virtualization_clusters_list": dataNetboxJSONVirtualizationClustersList(),
-"netbox_json_virtualization_interfaces_list": dataNetboxJSONVirtualizationInterfacesList(),
-"netbox_json_virtualization_virtual_machines_list": dataNetboxJSONVirtualizationVirtualMachinesList(),
diff --git a/vendor/cloud.google.com/go/CHANGES.md b/vendor/cloud.google.com/go/CHANGES.md
index 1bb845f99..bac014faa 100644
--- a/vendor/cloud.google.com/go/CHANGES.md
+++ b/vendor/cloud.google.com/go/CHANGES.md
@@ -1,5 +1,127 @@
# Changes
+## [0.100.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.99.0...v0.100.0) (2022-01-04)
+
+
+### Features
+
+* **analytics/admin:** add the `AcknowledgeUserDataCollection` operation which acknowledges the terms of user data collection for the specified property feat: add the new resource type `DataStream`, which is planned to eventually replace `WebDataStream`, `IosAppDataStream`, `AndroidAppDataStream` resources fix!: remove `GetEnhancedMeasurementSettings`, `UpdateEnhancedMeasurementSettingsRequest`, `UpdateEnhancedMeasurementSettingsRequest` operations from the API feat: add `CreateDataStream`, `DeleteDataStream`, `UpdateDataStream`, `ListDataStreams` operations to support the new `DataStream` resource feat: add `DISPLAY_VIDEO_360_ADVERTISER_LINK`, `DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL` fields to `ChangeHistoryResourceType` enum feat: add the `account` field to the `Property` type docs: update the documentation with a new list of valid values for `UserLink.direct_roles` field ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **assuredworkloads:** EU Regions and Support With Sovereign Controls ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **dialogflow/cx:** added the display name of the current page in webhook requests ([e0833b2](https://www.github.com/googleapis/google-cloud-go/commit/e0833b2853834ba79fd20ca2ae9c613d585dd2a5))
+* **dialogflow/cx:** added the display name of the current page in webhook requests ([e0833b2](https://www.github.com/googleapis/google-cloud-go/commit/e0833b2853834ba79fd20ca2ae9c613d585dd2a5))
+* **dialogflow:** added export documentation method feat: added filter in list documentations request feat: added option to import custom metadata from Google Cloud Storage in reload document request feat: added option to apply partial update to the smart messaging allowlist in reload document request feat: added filter in list knowledge bases request ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **dialogflow:** removed OPTIONAL for speech model variant docs: added more docs for speech model variant and improved docs format for participant ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **recaptchaenterprise:** add new reCAPTCHA Enterprise fraud annotations ([3dd34a2](https://www.github.com/googleapis/google-cloud-go/commit/3dd34a262edbff63b9aece8faddc2ff0d98ce42a))
+
+
+### Bug Fixes
+
+* **artifactregistry:** fix resource pattern ID segment name ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **compute:** add parameter in compute bazel rules ([#692](https://www.github.com/googleapis/google-cloud-go/issues/692)) ([5444809](https://www.github.com/googleapis/google-cloud-go/commit/5444809e0b7cf9f5416645ea2df6fec96f8b9023))
+* **profiler:** refine regular expression for parsing backoff duration in E2E tests ([#5229](https://www.github.com/googleapis/google-cloud-go/issues/5229)) ([4438aeb](https://www.github.com/googleapis/google-cloud-go/commit/4438aebca2ec01d4dbf22287aa651937a381e043))
+* **profiler:** remove certificate expiration workaround ([#5222](https://www.github.com/googleapis/google-cloud-go/issues/5222)) ([2da36c9](https://www.github.com/googleapis/google-cloud-go/commit/2da36c95f44d5f88fd93cd949ab78823cea74fe7))
+
+## [0.99.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.98.0...v0.99.0) (2021-12-06)
+
+
+### Features
+
+* **dialogflow/cx:** added `TelephonyTransferCall` in response message ([fe27098](https://www.github.com/googleapis/google-cloud-go/commit/fe27098e5d429911428821ded57384353e699774))
+
+## [0.98.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.97.0...v0.98.0) (2021-12-03)
+
+
+### Features
+
+* **aiplatform:** add enable_private_service_connect field to Endpoint feat: add id field to DeployedModel feat: add service_attachment field to PrivateEndpoints feat: add endpoint_id to CreateEndpointRequest and method signature to CreateEndpoint feat: add method signature to CreateFeatureStore, CreateEntityType, CreateFeature feat: add network and enable_private_service_connect to IndexEndpoint feat: add service_attachment to IndexPrivateEndpoints feat: add stratified_split field to training_pipeline InputDataConfig ([a2c0bef](https://www.github.com/googleapis/google-cloud-go/commit/a2c0bef551489c9f1d0d12b973d3bf095354841e))
+* **aiplatform:** add featurestore service to aiplatform v1 feat: add metadata service to aiplatform v1 ([30794e7](https://www.github.com/googleapis/google-cloud-go/commit/30794e70050b55ff87d6a80d0b4075065e9d271d))
+* **aiplatform:** Adds support for `google.protobuf.Value` pipeline parameters in the `parameter_values` field ([88a1cdb](https://www.github.com/googleapis/google-cloud-go/commit/88a1cdbef3cc337354a61bc9276725bfb9a686d8))
+* **aiplatform:** Tensorboard v1 protos release feat:Exposing a field for v1 CustomJob-Tensorboard integration. ([90e2868](https://www.github.com/googleapis/google-cloud-go/commit/90e2868a3d220aa7f897438f4917013fda7a7c59))
+* **binaryauthorization:** add new admission rule types to Policy feat: update SignatureAlgorithm enum to match algorithm names in KMS feat: add SystemPolicyV1Beta1 service ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **channel:** add resource type to ChannelPartnerLink ([c206948](https://www.github.com/googleapis/google-cloud-go/commit/c2069487f6af5bcb37d519afeb60e312e35e67d5))
+* **cloudtasks:** add C++ rules for Cloud Tasks ([90e2868](https://www.github.com/googleapis/google-cloud-go/commit/90e2868a3d220aa7f897438f4917013fda7a7c59))
+* **compute:** Move compute.v1 from googleapis-discovery to googleapis ([#675](https://www.github.com/googleapis/google-cloud-go/issues/675)) ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **compute:** Switch to string enums for compute ([#685](https://www.github.com/googleapis/google-cloud-go/issues/685)) ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **contactcenterinsights:** Add ability to update phrase matchers feat: Add issue model stats to time series feat: Add display name to issue model stats ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **contactcenterinsights:** Add WriteDisposition to BigQuery Export API ([a2c0bef](https://www.github.com/googleapis/google-cloud-go/commit/a2c0bef551489c9f1d0d12b973d3bf095354841e))
+* **contactcenterinsights:** deprecate issue_matches docs: if conversation medium is unspecified, it will default to PHONE_CALL ([1a0720f](https://www.github.com/googleapis/google-cloud-go/commit/1a0720f2f33bb14617f5c6a524946a93209e1266))
+* **contactcenterinsights:** new feature flag disable_issue_modeling docs: fixed formatting issues in the reference documentation ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **contactcenterinsights:** remove feature flag disable_issue_modeling ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **datacatalog:** Added BigQueryDateShardedSpec.latest_shard_resource field feat: Added SearchCatalogResult.display_name field feat: Added SearchCatalogResult.description field ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **dataproc:** add Dataproc Serverless for Spark Batches API ([30794e7](https://www.github.com/googleapis/google-cloud-go/commit/30794e70050b55ff87d6a80d0b4075065e9d271d))
+* **dataproc:** Add support for dataproc BatchController service ([8519b94](https://www.github.com/googleapis/google-cloud-go/commit/8519b948fee5dc82d39300c4d96e92c85fe78fe6))
+* **dialogflow/cx:** added API for changelogs docs: clarified semantic of the streaming APIs ([587bba5](https://www.github.com/googleapis/google-cloud-go/commit/587bba5ad792a92f252107aa38c6af50fb09fb58))
+* **dialogflow/cx:** added API for changelogs docs: clarified semantic of the streaming APIs ([587bba5](https://www.github.com/googleapis/google-cloud-go/commit/587bba5ad792a92f252107aa38c6af50fb09fb58))
+* **dialogflow/cx:** added support for comparing between versions docs: clarified security settings API reference ([83b941c](https://www.github.com/googleapis/google-cloud-go/commit/83b941c0983e44fdd18ceee8c6f3e91219d72ad1))
+* **dialogflow/cx:** added support for Deployments with ListDeployments and GetDeployment apis feat: added support for DeployFlow api under Environments feat: added support for TestCasesConfig under Environment docs: added long running operation explanation for several apis fix!: marked resource name of security setting as not-required ([8c5c6cf](https://www.github.com/googleapis/google-cloud-go/commit/8c5c6cf9df046b67998a8608d05595bd9e34feb0))
+* **dialogflow/cx:** allow setting custom CA for generic webhooks and release CompareVersions API docs: clarify DLP template reader usage ([90e2868](https://www.github.com/googleapis/google-cloud-go/commit/90e2868a3d220aa7f897438f4917013fda7a7c59))
+* **dialogflow:** added support to configure security settings, language code and time zone on conversation profile ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **dialogflow:** support document metadata filter in article suggestion and smart reply model in human agent assistant ([e33350c](https://www.github.com/googleapis/google-cloud-go/commit/e33350cfcabcddcda1a90069383d39c68deb977a))
+* **dlp:** added deidentify replacement dictionaries feat: added field for BigQuery inspect template inclusion lists feat: added field to support infotype versioning ([a2c0bef](https://www.github.com/googleapis/google-cloud-go/commit/a2c0bef551489c9f1d0d12b973d3bf095354841e))
+* **domains:** added library for Cloud Domains v1 API. Also added methods for the transfer-in flow docs: improved API comments ([8519b94](https://www.github.com/googleapis/google-cloud-go/commit/8519b948fee5dc82d39300c4d96e92c85fe78fe6))
+* **functions:** Secret Manager integration fields 'secret_environment_variables' and 'secret_volumes' added feat: CMEK integration fields 'kms_key_name' and 'docker_repository' added ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **kms:** add OAEP+SHA1 to the list of supported algorithms ([8c5c6cf](https://www.github.com/googleapis/google-cloud-go/commit/8c5c6cf9df046b67998a8608d05595bd9e34feb0))
+* **kms:** add RPC retry information for MacSign, MacVerify, and GenerateRandomBytes Committer: [@bdhess](https://www.github.com/bdhess) ([1a0720f](https://www.github.com/googleapis/google-cloud-go/commit/1a0720f2f33bb14617f5c6a524946a93209e1266))
+* **kms:** add support for Raw PKCS[#1](https://www.github.com/googleapis/google-cloud-go/issues/1) signing keys ([58bea89](https://www.github.com/googleapis/google-cloud-go/commit/58bea89a3d177d5c431ff19310794e3296253353))
+* **monitoring/apiv3:** add CreateServiceTimeSeries RPC ([9e41088](https://www.github.com/googleapis/google-cloud-go/commit/9e41088bb395fbae0e757738277d5c95fa2749c8))
+* **monitoring/dashboard:** Added support for auto-close configurations ([90e2868](https://www.github.com/googleapis/google-cloud-go/commit/90e2868a3d220aa7f897438f4917013fda7a7c59))
+* **monitoring/metricsscope:** promote apiv1 to GA ([#5135](https://www.github.com/googleapis/google-cloud-go/issues/5135)) ([33c0f63](https://www.github.com/googleapis/google-cloud-go/commit/33c0f63e0e0ce69d9ef6e57b04d1b8cc10ed2b78))
+* **osconfig:** OSConfig: add OS policy assignment rpcs ([83b941c](https://www.github.com/googleapis/google-cloud-go/commit/83b941c0983e44fdd18ceee8c6f3e91219d72ad1))
+* **osconfig:** Update OSConfig API ([e33350c](https://www.github.com/googleapis/google-cloud-go/commit/e33350cfcabcddcda1a90069383d39c68deb977a))
+* **osconfig:** Update osconfig v1 and v1alpha RecurringSchedule.Frequency with DAILY frequency ([59e548a](https://www.github.com/googleapis/google-cloud-go/commit/59e548acc249c7bddd9c884c2af35d582a408c4d))
+* **recaptchaenterprise:** add reCAPTCHA Enterprise account defender API methods ([88a1cdb](https://www.github.com/googleapis/google-cloud-go/commit/88a1cdbef3cc337354a61bc9276725bfb9a686d8))
+* **redis:** [Cloud Memorystore for Redis] Support Multiple Read Replicas when creating Instance ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **redis:** [Cloud Memorystore for Redis] Support Multiple Read Replicas when creating Instance ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **security/privateca:** add IAMPolicy & Locations mix-in support ([1a0720f](https://www.github.com/googleapis/google-cloud-go/commit/1a0720f2f33bb14617f5c6a524946a93209e1266))
+* **securitycenter:** Added a new API method UpdateExternalSystem, which enables updating a finding w/ external system metadata. External systems are a child resource under finding, and are housed on the finding itself, and can also be filtered on in Notifications, the ListFindings and GroupFindings API ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **securitycenter:** Added mute related APIs, proto messages and fields ([3e7185c](https://www.github.com/googleapis/google-cloud-go/commit/3e7185c241d97ee342f132ae04bc93bb79a8e897))
+* **securitycenter:** Added resource type and display_name field to the FindingResult, and supported them in the filter for ListFindings and GroupFindings. Also added display_name to the resource which is surfaced in NotificationMessage ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+* **securitycenter:** Added vulnerability field to the finding feat: Added type field to the resource which is surfaced in NotificationMessage ([090cc3a](https://www.github.com/googleapis/google-cloud-go/commit/090cc3ae0f8747a14cc904fc6d429e2f5379bb03))
+* **servicecontrol:** add C++ rules for many Cloud services ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **speech:** add result_end_time to SpeechRecognitionResult ([a2c0bef](https://www.github.com/googleapis/google-cloud-go/commit/a2c0bef551489c9f1d0d12b973d3bf095354841e))
+* **speech:** added alternative_language_codes to RecognitionConfig feat: WEBM_OPUS codec feat: SpeechAdaptation configuration feat: word confidence feat: spoken punctuation and spoken emojis feat: hint boost in SpeechContext ([a2c0bef](https://www.github.com/googleapis/google-cloud-go/commit/a2c0bef551489c9f1d0d12b973d3bf095354841e))
+* **texttospeech:** update v1 proto ([90e2868](https://www.github.com/googleapis/google-cloud-go/commit/90e2868a3d220aa7f897438f4917013fda7a7c59))
+* **workflows/executions:** add a stack_trace field to the Error messages specifying where the error occured feat: add call_log_level field to Execution messages doc: clarify requirement to escape strings within JSON arguments ([1f5aa78](https://www.github.com/googleapis/google-cloud-go/commit/1f5aa78a4d6633871651c89a6d9c48e3409fecc5))
+
+
+### Bug Fixes
+
+* **accesscontextmanager:** nodejs package name access-context-manager ([30794e7](https://www.github.com/googleapis/google-cloud-go/commit/30794e70050b55ff87d6a80d0b4075065e9d271d))
+* **aiplatform:** Remove invalid resource annotations ([587bba5](https://www.github.com/googleapis/google-cloud-go/commit/587bba5ad792a92f252107aa38c6af50fb09fb58))
+* **compute/metadata:** return an error when all retries have failed ([#5063](https://www.github.com/googleapis/google-cloud-go/issues/5063)) ([c792a0d](https://www.github.com/googleapis/google-cloud-go/commit/c792a0d13db019c9964efeee5c6bc85b07ca50fa)), refs [#5062](https://www.github.com/googleapis/google-cloud-go/issues/5062)
+* **compute:** make parent_id fields required compute move and insert methods ([#686](https://www.github.com/googleapis/google-cloud-go/issues/686)) ([c8271d4](https://www.github.com/googleapis/google-cloud-go/commit/c8271d4b217a6e6924d9f87eac9468c4b5767ba7))
+* **compute:** Move compute_small protos under its own directory ([#681](https://www.github.com/googleapis/google-cloud-go/issues/681)) ([3e7185c](https://www.github.com/googleapis/google-cloud-go/commit/3e7185c241d97ee342f132ae04bc93bb79a8e897))
+* **internal/gapicgen:** fix a compute filtering ([#5111](https://www.github.com/googleapis/google-cloud-go/issues/5111)) ([77aa19d](https://www.github.com/googleapis/google-cloud-go/commit/77aa19de7fc33a9e831e6b91bd324d6832b44d99))
+* **internal/godocfx:** only put TOC status on mod if all pkgs have same status ([#4974](https://www.github.com/googleapis/google-cloud-go/issues/4974)) ([309b59e](https://www.github.com/googleapis/google-cloud-go/commit/309b59e583d1bf0dd9ffe84223034eb8a2975d47))
+* **internal/godocfx:** replace * with HTML code ([#5049](https://www.github.com/googleapis/google-cloud-go/issues/5049)) ([a8f7c06](https://www.github.com/googleapis/google-cloud-go/commit/a8f7c066e8d97120ae4e12963e3c9acc8b8906c2))
+* **monitoring/apiv3:** Reintroduce deprecated field/enum for backward compatibility docs: Use absolute link targets in comments ([45fd259](https://www.github.com/googleapis/google-cloud-go/commit/45fd2594d99ef70c776df26866f0a3b537e7e69e))
+* **profiler:** workaround certificate expiration issue in integration tests ([#4955](https://www.github.com/googleapis/google-cloud-go/issues/4955)) ([de9e465](https://www.github.com/googleapis/google-cloud-go/commit/de9e465bea8cd0580c45e87d2cbc2b610615b363))
+* **security/privateca:** include mixin protos as input for mixin rpcs ([479c2f9](https://www.github.com/googleapis/google-cloud-go/commit/479c2f90d556a106b25ebcdb1539d231488182da))
+* **security/privateca:** repair service config to enable mixins ([83b941c](https://www.github.com/googleapis/google-cloud-go/commit/83b941c0983e44fdd18ceee8c6f3e91219d72ad1))
+* **video/transcoder:** update nodejs package name to video-transcoder ([30794e7](https://www.github.com/googleapis/google-cloud-go/commit/30794e70050b55ff87d6a80d0b4075065e9d271d))
+
+## [0.97.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.96.0...v0.97.0) (2021-09-29)
+
+
+### Features
+
+* **internal** add Retry func to testutil from samples repository [#4902](https://github.com/googleapis/google-cloud-go/pull/4902)
+
+## [0.96.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.95.0...v0.96.0) (2021-09-28)
+
+
+### Features
+
+* **civil:** add IsEmpty function to time, date and datetime ([#4728](https://www.github.com/googleapis/google-cloud-go/issues/4728)) ([88bfa64](https://www.github.com/googleapis/google-cloud-go/commit/88bfa64d6df2f3bb7d41e0b8f56717dd3de790e2)), refs [#4727](https://www.github.com/googleapis/google-cloud-go/issues/4727)
+* **internal/godocfx:** detect preview versions ([#4899](https://www.github.com/googleapis/google-cloud-go/issues/4899)) ([9b60844](https://www.github.com/googleapis/google-cloud-go/commit/9b608445ce9ebabbc87a50e85ce6ef89125031d2))
+* **internal:** provide wrapping for retried errors ([#4797](https://www.github.com/googleapis/google-cloud-go/issues/4797)) ([ce5f4db](https://www.github.com/googleapis/google-cloud-go/commit/ce5f4dbab884e847a2d9f1f8f3fcfd7df19a505a))
+
+
+### Bug Fixes
+
+* **internal/gapicgen:** restore fmting proto files ([#4789](https://www.github.com/googleapis/google-cloud-go/issues/4789)) ([5606b54](https://www.github.com/googleapis/google-cloud-go/commit/5606b54b97bb675487c6c138a4081c827218f933))
+* **internal/trace:** use xerrors.As for trace ([#4813](https://www.github.com/googleapis/google-cloud-go/issues/4813)) ([05fe61c](https://www.github.com/googleapis/google-cloud-go/commit/05fe61c5aa4860bdebbbe3e91a9afaba16aa6184))
+
## [0.95.0](https://www.github.com/googleapis/google-cloud-go/compare/v0.94.1...v0.95.0) (2021-09-21)
### Bug Fixes
diff --git a/vendor/cloud.google.com/go/README.md b/vendor/cloud.google.com/go/README.md
index 9524921fe..acde43bc8 100644
--- a/vendor/cloud.google.com/go/README.md
+++ b/vendor/cloud.google.com/go/README.md
@@ -27,63 +27,8 @@ make backwards-incompatible changes.
## Supported APIs
-| Google API | Status | Package |
-| ----------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------- |
-| [Asset][cloud-asset] | stable | [`cloud.google.com/go/asset/apiv1`](https://pkg.go.dev/cloud.google.com/go/asset/v1beta) |
-| [Automl][cloud-automl] | stable | [`cloud.google.com/go/automl/apiv1`](https://pkg.go.dev/cloud.google.com/go/automl/apiv1) |
-| [BigQuery][cloud-bigquery] | stable | [`cloud.google.com/go/bigquery`](https://pkg.go.dev/cloud.google.com/go/bigquery) |
-| [Bigtable][cloud-bigtable] | stable | [`cloud.google.com/go/bigtable`](https://pkg.go.dev/cloud.google.com/go/bigtable) |
-| [Cloudbuild][cloud-build] | stable | [`cloud.google.com/go/cloudbuild/apiv1`](https://pkg.go.dev/cloud.google.com/go/cloudbuild/apiv1) |
-| [Cloudtasks][cloud-tasks] | stable | [`cloud.google.com/go/cloudtasks/apiv2`](https://pkg.go.dev/cloud.google.com/go/cloudtasks/apiv2) |
-| [Compute Engine][cloud-compute] | alpha | [`cloud.google.com/go/compute/apiv1`](https://pkg.go.dev/cloud.google.com/go/compute/apiv1) |
-| [Container][cloud-container] | stable | [`cloud.google.com/go/container/apiv1`](https://pkg.go.dev/cloud.google.com/go/container/apiv1) |
-| [ContainerAnalysis][cloud-containeranalysis] | beta | [`cloud.google.com/go/containeranalysis/apiv1`](https://pkg.go.dev/cloud.google.com/go/containeranalysis/apiv1) |
-| [Dataproc][cloud-dataproc] | stable | [`cloud.google.com/go/dataproc/apiv1`](https://pkg.go.dev/cloud.google.com/go/dataproc/apiv1) |
-| [Datastore][cloud-datastore] | stable | [`cloud.google.com/go/datastore`](https://pkg.go.dev/cloud.google.com/go/datastore) |
-| [Debugger][cloud-debugger] | stable | [`cloud.google.com/go/debugger/apiv2`](https://pkg.go.dev/cloud.google.com/go/debugger/apiv2) |
-| [Dialogflow][cloud-dialogflow] | stable | [`cloud.google.com/go/dialogflow/apiv2`](https://pkg.go.dev/cloud.google.com/go/dialogflow/apiv2) |
-| [Data Loss Prevention][cloud-dlp] | stable | [`cloud.google.com/go/dlp/apiv2`](https://pkg.go.dev/cloud.google.com/go/dlp/apiv2) |
-| [ErrorReporting][cloud-errors] | alpha | [`cloud.google.com/go/errorreporting`](https://pkg.go.dev/cloud.google.com/go/errorreporting) |
-| [Firestore][cloud-firestore] | stable | [`cloud.google.com/go/firestore`](https://pkg.go.dev/cloud.google.com/go/firestore) |
-| [IAM][cloud-iam] | stable | [`cloud.google.com/go/iam`](https://pkg.go.dev/cloud.google.com/go/iam) |
-| [IoT][cloud-iot] | stable | [`cloud.google.com/go/iot/apiv1`](https://pkg.go.dev/cloud.google.com/go/iot/apiv1) |
-| [IRM][cloud-irm] | alpha | [`cloud.google.com/go/irm/apiv1alpha2`](https://pkg.go.dev/cloud.google.com/go/irm/apiv1alpha2) |
-| [KMS][cloud-kms] | stable | [`cloud.google.com/go/kms/apiv1`](https://pkg.go.dev/cloud.google.com/go/kms/apiv1) |
-| [Natural Language][cloud-natural-language] | stable | [`cloud.google.com/go/language/apiv1`](https://pkg.go.dev/cloud.google.com/go/language/apiv1) |
-| [Logging][cloud-logging] | stable | [`cloud.google.com/go/logging`](https://pkg.go.dev/cloud.google.com/go/logging) |
-| [Memorystore][cloud-memorystore] | alpha | [`cloud.google.com/go/redis/apiv1`](https://pkg.go.dev/cloud.google.com/go/redis/apiv1) |
-| [Monitoring][cloud-monitoring] | stable | [`cloud.google.com/go/monitoring/apiv3`](https://pkg.go.dev/cloud.google.com/go/monitoring/apiv3) |
-| [OS Login][cloud-oslogin] | stable | [`cloud.google.com/go/oslogin/apiv1`](https://pkg.go.dev/cloud.google.com/go/oslogin/apiv1) |
-| [Pub/Sub][cloud-pubsub] | stable | [`cloud.google.com/go/pubsub`](https://pkg.go.dev/cloud.google.com/go/pubsub) |
-| [Pub/Sub Lite][cloud-pubsublite] | stable | [`cloud.google.com/go/pubsublite`](https://pkg.go.dev/cloud.google.com/go/pubsublite) |
-| [Phishing Protection][cloud-phishingprotection] | alpha | [`cloud.google.com/go/phishingprotection/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/phishingprotection/apiv1beta1) |
-| [reCAPTCHA Enterprise][cloud-recaptcha] | alpha | [`cloud.google.com/go/recaptchaenterprise/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/recaptchaenterprise/apiv1beta1) |
-| [Recommender][cloud-recommender] | beta | [`cloud.google.com/go/recommender/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/recommender/apiv1beta1) |
-| [Scheduler][cloud-scheduler] | stable | [`cloud.google.com/go/scheduler/apiv1`](https://pkg.go.dev/cloud.google.com/go/scheduler/apiv1) |
-| [Securitycenter][cloud-securitycenter] | stable | [`cloud.google.com/go/securitycenter/apiv1`](https://pkg.go.dev/cloud.google.com/go/securitycenter/apiv1) |
-| [Spanner][cloud-spanner] | stable | [`cloud.google.com/go/spanner`](https://pkg.go.dev/cloud.google.com/go/spanner) |
-| [Speech][cloud-speech] | stable | [`cloud.google.com/go/speech/apiv1`](https://pkg.go.dev/cloud.google.com/go/speech/apiv1) |
-| [Storage][cloud-storage] | stable | [`cloud.google.com/go/storage`](https://pkg.go.dev/cloud.google.com/go/storage) |
-| [Talent][cloud-talent] | alpha | [`cloud.google.com/go/talent/apiv4beta1`](https://pkg.go.dev/cloud.google.com/go/talent/apiv4beta1) |
-| [Text To Speech][cloud-texttospeech] | stable | [`cloud.google.com/go/texttospeech/apiv1`](https://pkg.go.dev/cloud.google.com/go/texttospeech/apiv1) |
-| [Trace][cloud-trace] | stable | [`cloud.google.com/go/trace/apiv2`](https://pkg.go.dev/cloud.google.com/go/trace/apiv2) |
-| [Translate][cloud-translate] | stable | [`cloud.google.com/go/translate`](https://pkg.go.dev/cloud.google.com/go/translate) |
-| [Video Intelligence][cloud-video] | beta | [`cloud.google.com/go/videointelligence/apiv1beta2`](https://pkg.go.dev/cloud.google.com/go/videointelligence/apiv1beta2) |
-| [Vision][cloud-vision] | stable | [`cloud.google.com/go/vision/apiv1`](https://pkg.go.dev/cloud.google.com/go/vision/apiv1) |
-| [Webrisk][cloud-webrisk] | alpha | [`cloud.google.com/go/webrisk/apiv1beta1`](https://pkg.go.dev/cloud.google.com/go/webrisk/apiv1beta1) |
-
-> **Alpha status**: the API is still being actively developed. As a
-> result, it might change in backward-incompatible ways and is not recommended
-> for production use.
->
-> **Beta status**: the API is largely complete, but still has outstanding
-> features and bugs to be addressed. There may be minor backwards-incompatible
-> changes where necessary.
->
-> **Stable status**: the API is mature and ready for production use. We will
-> continue addressing bugs and feature requests.
-
-Documentation and examples are available at [pkg.go.dev/cloud.google.com/go](https://pkg.go.dev/cloud.google.com/go)
+For an updated list of all of our released APIs please see our
+[reference docs](https://cloud.google.com/go/docs/reference).
## [Go Versions Supported](#supported-versions)
@@ -125,12 +70,12 @@ client, err := storage.NewClient(ctx, option.WithTokenSource(tokenSource))
## Contributing
Contributions are welcome. Please, see the
-[CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md)
+[CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md)
document for details.
Please note that this project is released with a Contributor Code of Conduct.
By participating in this project you agree to abide by its terms.
-See [Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/master/CONTRIBUTING.md#contributor-code-of-conduct)
+See [Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct)
for more information.
[cloud-asset]: https://cloud.google.com/security-command-center/docs/how-to-asset-inventory
diff --git a/vendor/cloud.google.com/go/RELEASING.md b/vendor/cloud.google.com/go/RELEASING.md
index d04176097..6d0fcf4f9 100644
--- a/vendor/cloud.google.com/go/RELEASING.md
+++ b/vendor/cloud.google.com/go/RELEASING.md
@@ -79,14 +79,14 @@ here is how to manually cut a release of `cloud.google.com/go`.
[continuous Kokoro build](http://go/google-cloud-go-continuous). If there are
any failures in the most recent build, address them before proceeding with
the release.
-1. Navigate to `google-cloud-go/` and switch to master.
+1. Navigate to `google-cloud-go/` and switch to main.
1. `git pull`
1. Run `git tag -l | grep -v beta | grep -v alpha` to see all existing releases.
The current latest tag `$CV` is the largest tag. It should look something
like `vX.Y.Z` (note: ignore all `LIB/vX.Y.Z` tags - these are tags for a
specific library, not the module root). We'll call the current version `$CV`
and the new version `$NV`.
-1. On master, run `git log $CV...` to list all the changes since the last
+1. On main, run `git log $CV...` to list all the changes since the last
release. NOTE: You must manually visually parse out changes to submodules [1]
(the `git log` is going to show you things in submodules, which are not going
to be part of your release).
@@ -98,7 +98,7 @@ here is how to manually cut a release of `cloud.google.com/go`.
and create a PR titled `chore: release $NV`.
1. Wait for the PR to be reviewed and merged. Once it's merged, and without
merging any other PRs in the meantime:
- a. Switch to master.
+ a. Switch to main.
b. `git pull`
c. Tag the repo with the next version: `git tag $NV`.
d. Push the tag to origin:
@@ -118,13 +118,13 @@ here is how to manually cut a release of a submodule.
any failures in the most recent build, address them before proceeding with
the release. (This applies even if the failures are in a different submodule
from the one being released.)
-1. Navigate to `google-cloud-go/` and switch to master.
+1. Navigate to `google-cloud-go/` and switch to main.
1. `git pull`
1. Run `git tag -l | grep datastore | grep -v beta | grep -v alpha` to see all
existing releases. The current latest tag `$CV` is the largest tag. It
should look something like `datastore/vX.Y.Z`. We'll call the current version
`$CV` and the new version `$NV`.
-1. On master, run `git log $CV.. -- datastore/` to list all the changes to the
+1. On main, run `git log $CV.. -- datastore/` to list all the changes to the
submodule directory since the last release.
1. Edit `datastore/CHANGES.md` to include a summary of the changes.
1. In `internal/version` run `go generate`.
@@ -132,7 +132,7 @@ here is how to manually cut a release of a submodule.
and create a PR titled `chore(datastore): release $NV`.
1. Wait for the PR to be reviewed and merged. Once it's merged, and without
merging any other PRs in the meantime:
- a. Switch to master.
+ a. Switch to main.
b. `git pull`
c. Tag the repo with the next version: `git tag $NV`.
d. Push the tag to origin:
diff --git a/vendor/cloud.google.com/go/compute/LICENSE b/vendor/cloud.google.com/go/compute/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/vendor/cloud.google.com/go/compute/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/vendor/cloud.google.com/go/compute/metadata/metadata.go b/vendor/cloud.google.com/go/compute/metadata/metadata.go
index b6e1f7b61..111309f3d 100644
--- a/vendor/cloud.google.com/go/compute/metadata/metadata.go
+++ b/vendor/cloud.google.com/go/compute/metadata/metadata.go
@@ -61,14 +61,18 @@ var (
instID = &cachedValue{k: "instance/id", trim: true}
)
-var defaultClient = &Client{hc: &http.Client{
- Transport: &http.Transport{
- Dial: (&net.Dialer{
- Timeout: 2 * time.Second,
- KeepAlive: 30 * time.Second,
- }).Dial,
- },
-}}
+var defaultClient = &Client{hc: newDefaultHTTPClient()}
+
+func newDefaultHTTPClient() *http.Client {
+ return &http.Client{
+ Transport: &http.Transport{
+ Dial: (&net.Dialer{
+ Timeout: 2 * time.Second,
+ KeepAlive: 30 * time.Second,
+ }).Dial,
+ },
+ }
+}
// NotDefinedError is returned when requested metadata is not defined.
//
@@ -130,7 +134,7 @@ func testOnGCE() bool {
go func() {
req, _ := http.NewRequest("GET", "http://"+metadataIP, nil)
req.Header.Set("User-Agent", userAgent)
- res, err := defaultClient.hc.Do(req.WithContext(ctx))
+ res, err := newDefaultHTTPClient().Do(req.WithContext(ctx))
if err != nil {
resc <- false
return
@@ -140,7 +144,8 @@ func testOnGCE() bool {
}()
go func() {
- addrs, err := net.DefaultResolver.LookupHost(ctx, "metadata.google.internal")
+ resolver := &net.Resolver{}
+ addrs, err := resolver.LookupHost(ctx, "metadata.google.internal")
if err != nil || len(addrs) == 0 {
resc <- false
return
@@ -323,7 +328,7 @@ func (c *Client) getETag(suffix string) (value, etag string, err error) {
break
}
if reqErr != nil {
- return "", "", nil
+ return "", "", reqErr
}
defer res.Body.Close()
if res.StatusCode == http.StatusNotFound {
diff --git a/vendor/cloud.google.com/go/go.mod b/vendor/cloud.google.com/go/go.mod
index a3c9f839c..48a235d4e 100644
--- a/vendor/cloud.google.com/go/go.mod
+++ b/vendor/cloud.google.com/go/go.mod
@@ -3,16 +3,16 @@ module cloud.google.com/go
go 1.11
require (
- cloud.google.com/go/storage v1.10.0
+ cloud.google.com/go/compute v0.1.0
github.com/golang/protobuf v1.5.2
github.com/google/go-cmp v0.5.6
github.com/google/martian/v3 v3.2.1
- github.com/googleapis/gax-go/v2 v2.1.0
+ github.com/googleapis/gax-go/v2 v2.1.1
go.opencensus.io v0.23.0
- golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
+ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
- google.golang.org/api v0.57.0
- google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6
- google.golang.org/grpc v1.40.0
+ google.golang.org/api v0.63.0
+ google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c
+ google.golang.org/grpc v1.40.1
google.golang.org/protobuf v1.27.1
)
diff --git a/vendor/cloud.google.com/go/go.sum b/vendor/cloud.google.com/go/go.sum
index 0fa5d8d72..5d2cee509 100644
--- a/vendor/cloud.google.com/go/go.sum
+++ b/vendor/cloud.google.com/go/go.sum
@@ -1,95 +1,37 @@
-cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
-cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
-cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
-cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
-cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
-cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
-cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
-cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
-cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
-cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
-cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
-cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
-cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
-cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
-cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
-cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
-cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
-cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
-cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
-cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
-cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
-cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
-cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
-cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
-cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
-cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
-cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
-cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
-cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
-cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
-cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
-cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
-cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
-cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
-cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
-cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
-cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
-cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
-cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
-cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
-cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
-cloud.google.com/go/storage v1.10.0 h1:STgFzyU5/8miMl0//zKh2aQeTyeaUH3WN9bSUiJ09bA=
-cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
-dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
-github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
-github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
-github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed h1:OZmjad4L3H8ncOIR8rnb5MREYqG8ixi5+WbeUsquF0c=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
-github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 h1:dulLQAYQFYtG5MTplgNGHWuV2D+OBD+Z8lmDBmbLg+s=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
-github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
-github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
-github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
-github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
-github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
-github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
-github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
-github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
-github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
@@ -99,125 +41,51 @@ github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QD
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
-github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/golang/snappy v0.0.3 h1:fHPg5GQYlCeLIPB9BZqMVR5nR9A+IM5zcgeTdjMYmLA=
github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
-github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
-github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
-github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
-github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
github.com/google/martian/v3 v3.2.1 h1:d8MncMlErDFTwQGBK1xhv026j9kqhvw1Qv9IbWT1VLQ=
github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
-github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
-github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
-github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
-github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
-github.com/googleapis/gax-go/v2 v2.1.0 h1:6DWmvNpomjL1+3liNSZbVns3zsYzzCjm6pRBO1tLeso=
github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
-github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
-github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
-github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
-github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
-github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
-github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
-github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
-github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
-go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
-go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
-go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
-go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
-golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
-golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
-golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
-golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
-golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
-golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
-golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
-golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
-golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
-golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
-golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
-golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
-golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
-golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
-golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
-golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
-golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
@@ -225,297 +93,91 @@ golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73r
golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420 h1:a8jGStKg0XqKDlKqjLrXn0ioF5MH36pT7Z0BRTqLhbk=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
-golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
-golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f h1:Qmd2pbz05z7z6lm0DrgQVVPuBm92jqujBKMHMOlOQEw=
golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365 h1:6wSTsvPddg9gc/mVEEyk9oOAoxn+bT4Z9q1zx+4RwA4=
-golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486 h1:5hpz5aRr+W1erYCL5JRhSUBJRph7l9XkNveoExlrKYk=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
-golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
-golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
-golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
-golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
-golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
-golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
-golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
-golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
-golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
-golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
-golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
-golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
-google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
-google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
-google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
-google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
-google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
-google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
-google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
-google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
-google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
-google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
-google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
-google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
-google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
-google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
-google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
-google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
-google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
-google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
-google.golang.org/api v0.57.0 h1:4t9zuDlHLcIx0ZEhmXEeFVCRsiOgpgn2QOH9N0MNjPI=
-google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.63.0 h1:n2bqqK895ygnBpdPDYetfy23K7fJ22wsrZKCyfuRkkA=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
-google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
-google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
-google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
-google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
-google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
-google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
-google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
-google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
-google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
-google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
-google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
-google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
-google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
-google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
-google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
-google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
-google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
-google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
-google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
-google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
-google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
-google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6 h1:2ncG/LajxmrclaZH+ppVi02rQxz4eXYJzGHdFN4Y9UA=
-google.golang.org/genproto v0.0.0-20210921142501-181ce0d877f6/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c h1:c5afAQ+F8m49fzDEIKvD7o/D350YjVseBMjtoKL1xsg=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
-google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
-google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
-google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
-google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
-google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
-google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
-google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
-google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
-google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
-google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
-google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
-google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
-google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1 h1:pnP7OclFFFgFi4VHQDQDaoXUVauOFyktqTsqqgzFKbc=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
@@ -525,25 +187,16 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
-honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
-honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
-rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
-rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
-rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/vendor/cloud.google.com/go/iam/CHANGES.md b/vendor/cloud.google.com/go/iam/CHANGES.md
new file mode 100644
index 000000000..12f1167f1
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/CHANGES.md
@@ -0,0 +1,27 @@
+# Changes
+
+## [0.3.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.2.0...iam/v0.3.0) (2022-02-23)
+
+
+### Features
+
+* **iam:** set versionClient to module version ([55f0d92](https://github.com/googleapis/google-cloud-go/commit/55f0d92bf112f14b024b4ab0076c9875a17423c9))
+
+## [0.2.0](https://github.com/googleapis/google-cloud-go/compare/iam/v0.1.1...iam/v0.2.0) (2022-02-14)
+
+
+### Features
+
+* **iam:** add file for tracking version ([17b36ea](https://github.com/googleapis/google-cloud-go/commit/17b36ead42a96b1a01105122074e65164357519e))
+
+### [0.1.1](https://www.github.com/googleapis/google-cloud-go/compare/iam/v0.1.0...iam/v0.1.1) (2022-01-14)
+
+
+### Bug Fixes
+
+* **iam:** run formatter ([#5277](https://www.github.com/googleapis/google-cloud-go/issues/5277)) ([8682e4e](https://www.github.com/googleapis/google-cloud-go/commit/8682e4ed57a4428a659fbc225f56c91767e2a4a9))
+
+## v0.1.0
+
+This is the first tag to carve out iam as its own module. See
+[Add a module to a multi-module repository](https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository).
diff --git a/vendor/cloud.google.com/go/iam/LICENSE b/vendor/cloud.google.com/go/iam/LICENSE
new file mode 100644
index 000000000..d64569567
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/LICENSE
@@ -0,0 +1,202 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
+
+ APPENDIX: How to apply the Apache License to your work.
+
+ To apply the Apache License to your work, attach the following
+ boilerplate notice, with the fields enclosed by brackets "[]"
+ replaced with your own identifying information. (Don't include
+ the brackets!) The text should be enclosed in the appropriate
+ comment syntax for the file format. We also recommend that a
+ file or class name and description of purpose be included on the
+ same "printed page" as the copyright notice for easier
+ identification within third-party archives.
+
+ Copyright [yyyy] [name of copyright owner]
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
diff --git a/vendor/cloud.google.com/go/iam/README.md b/vendor/cloud.google.com/go/iam/README.md
new file mode 100644
index 000000000..0072cc9e2
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/README.md
@@ -0,0 +1,40 @@
+# IAM API
+
+[![Go Reference](https://pkg.go.dev/badge/cloud.google.com/go/iam.svg)](https://pkg.go.dev/cloud.google.com/go/iam)
+
+Go Client Library for IAM API.
+
+## Install
+
+```bash
+go get cloud.google.com/go/iam
+```
+
+## Stability
+
+The stability of this module is indicated by SemVer.
+
+However, a `v1+` module may have breaking changes in two scenarios:
+
+* Packages with `alpha` or `beta` in the import path
+* The GoDoc has an explicit stability disclaimer (for example, for an experimental feature).
+
+## Go Version Support
+
+See the [Go Versions Supported](https://github.com/googleapis/google-cloud-go#go-versions-supported)
+section in the root directory's README.
+
+## Authorization
+
+See the [Authorization](https://github.com/googleapis/google-cloud-go#authorization)
+section in the root directory's README.
+
+## Contributing
+
+Contributions are welcome. Please, see the [CONTRIBUTING](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md)
+document for details.
+
+Please note that this project is released with a Contributor Code of Conduct.
+By participating in this project you agree to abide by its terms. See
+[Contributor Code of Conduct](https://github.com/GoogleCloudPlatform/google-cloud-go/blob/main/CONTRIBUTING.md#contributor-code-of-conduct)
+for more information.
diff --git a/vendor/cloud.google.com/go/iam/go.mod b/vendor/cloud.google.com/go/iam/go.mod
new file mode 100644
index 000000000..e5c28e651
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/go.mod
@@ -0,0 +1,12 @@
+module cloud.google.com/go/iam
+
+go 1.15
+
+require (
+ cloud.google.com/go v0.100.2
+ github.com/golang/protobuf v1.5.2
+ github.com/googleapis/gax-go/v2 v2.1.1
+ google.golang.org/api v0.70.0
+ google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf
+ google.golang.org/grpc v1.44.0
+)
diff --git a/vendor/cloud.google.com/go/iam/go.sum b/vendor/cloud.google.com/go/iam/go.sum
new file mode 100644
index 000000000..eebcbca7b
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/go.sum
@@ -0,0 +1,587 @@
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
+cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
+cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
+cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
+cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
+cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
+cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
+cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
+cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
+cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
+cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECHg=
+cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8=
+cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0=
+cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAVY=
+cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
+cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
+cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
+cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
+cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
+cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
+cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
+cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
+cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
+cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.3.0 h1:mPL/MzDDYHsh5tHRS9mhmhWlcgClCrCa6ApQCU6wnHI=
+cloud.google.com/go/compute v1.3.0/go.mod h1:cCZiE1NHEtai4wiufUhW8I8S1JKkAnhnQJWM7YD99wM=
+cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
+cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
+cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
+cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
+cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
+cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
+cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
+cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
+cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
+github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
+github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
+github.com/golang/mock v1.5.0/go.mod h1:CWnOUgYIOo4TcNZ0wHX3YZCqsaM1I1Jvs6v3mP3KVu8=
+github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM=
+github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
+github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.2.1/go.mod h1:oBOf6HBosgwRXnUGWUB05QECsc6uvmMiJ3+6W4l/CUk=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210122040257-d980be63207e/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210226084205-cbba55b83ad5/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210601050228-01bbb1931b22/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210609004039-a478d1d731e9/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
+github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
+github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
+github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
+github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
+go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
+go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
+go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
+golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
+golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
+golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20210508222113-6edffad5e616/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
+golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
+golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220128215802-99c3d69c2c27/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
+golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
+golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.3/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.4/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/tools v0.1.5/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
+google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
+google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
+google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
+google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
+google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
+google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBzRTU=
+google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94=
+google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo=
+google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
+google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
+google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
+google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.67.0/go.mod h1:ShHKP8E60yPsKNw/w8w+VYaj9H6buA5UqDp8dhbQZ6g=
+google.golang.org/api v0.70.0 h1:67zQnAE0T2rB0A3CwLSas0K+SbVzSxP+zTLkQLexeiw=
+google.golang.org/api v0.70.0/go.mod h1:Bs4ZM2HGifEvXwd50TtW70ovgJffJYw2oRCOFU/SkfA=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
+google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
+google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200513103714-09dca8ec2884/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
+google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210222152913-aa3ee6e6a81c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210303154014-9728d6b83eeb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210310155132-4ce2db91004e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210319143718-93e7006c17a6/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaEmUacj36I+k7YKbEc5CXzPIeORRgDAUOu28A=
+google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A=
+google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210604141403-392c879c8b08/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210608205507-b6d2f5bf0d7d/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0=
+google.golang.org/genproto v0.0.0-20210624195500-8bfb893ecb84/go.mod h1:SzzZ/N+nwJDaO1kznhnlzqS8ocJICar6hYhVyhi++24=
+google.golang.org/genproto v0.0.0-20210713002101-d411969a0d9a/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm1dci+enl5hChSFPOmmUF1+uAa/UsgNRWd7k=
+google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
+google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220126215142-9970aeb2e350/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220207164111-0872dc986b00/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220218161850-94dd64e39d7c/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf h1:SVYXkUz2yZS9FWb2Gm8ivSlbNQzL2Z/NpPKE3RG2jWk=
+google.golang.org/genproto v0.0.0-20220222213610-43724f9ea8cf/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
+google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
+google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
+google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.33.1/go.mod h1:fr5YgcSWrqhRRxogOsw7RzIpsmvOZ6IcH4kBYTpR3n0=
+google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
+google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
+google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
+google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
+google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg=
+google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
+google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+google.golang.org/protobuf v1.27.1 h1:SnqbnDw1V7RiZcXPx5MEeqPv2s79L9i7BJUlG/+RurQ=
+google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
+gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
+gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
+rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/vendor/cloud.google.com/go/iam/go_mod_tidy_hack.go b/vendor/cloud.google.com/go/iam/go_mod_tidy_hack.go
new file mode 100644
index 000000000..c3f49e045
--- /dev/null
+++ b/vendor/cloud.google.com/go/iam/go_mod_tidy_hack.go
@@ -0,0 +1,23 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// This file, and the cloud.google.com/go import, won't actually become part of
+// the resultant binary.
+//go:build modhack
+// +build modhack
+
+package iam
+
+// Necessary for safely adding multi-module repo. See: https://github.com/golang/go/wiki/Modules#is-it-possible-to-add-a-module-to-a-multi-module-repository
+import _ "cloud.google.com/go"
diff --git a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
index 43e105c3b..e458e7e6c 100644
--- a/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
+++ b/vendor/cloud.google.com/go/internal/.repo-metadata-full.json
@@ -35,15 +35,6 @@
"release_level": "alpha",
"library_type": ""
},
- "cloud.google.com/go/analytics/data/apiv1alpha": {
- "distribution_name": "cloud.google.com/go/analytics/data/apiv1alpha",
- "description": "Google Analytics Data API",
- "language": "Go",
- "client_library_type": "generated",
- "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/analytics/latest/data/apiv1alpha",
- "release_level": "alpha",
- "library_type": ""
- },
"cloud.google.com/go/apigateway/apiv1": {
"distribution_name": "cloud.google.com/go/apigateway/apiv1",
"description": "API Gateway API",
@@ -179,6 +170,15 @@
"release_level": "ga",
"library_type": ""
},
+ "cloud.google.com/go/bigquery/migration/apiv2alpha": {
+ "distribution_name": "cloud.google.com/go/bigquery/migration/apiv2alpha",
+ "description": "BigQuery Migration API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/bigquery/latest/migration/apiv2alpha",
+ "release_level": "alpha",
+ "library_type": ""
+ },
"cloud.google.com/go/bigquery/reservation/apiv1": {
"distribution_name": "cloud.google.com/go/bigquery/reservation/apiv1",
"description": "BigQuery Reservation API",
@@ -467,6 +467,15 @@
"release_level": "ga",
"library_type": ""
},
+ "cloud.google.com/go/deploy/apiv1": {
+ "distribution_name": "cloud.google.com/go/deploy/apiv1",
+ "description": "Google Cloud Deploy API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/deploy/latest/apiv1",
+ "release_level": "beta",
+ "library_type": ""
+ },
"cloud.google.com/go/dialogflow/apiv2": {
"distribution_name": "cloud.google.com/go/dialogflow/apiv2",
"description": "Dialogflow API",
@@ -566,6 +575,15 @@
"release_level": "ga",
"library_type": ""
},
+ "cloud.google.com/go/filestore/apiv1": {
+ "distribution_name": "cloud.google.com/go/filestore/apiv1",
+ "description": "Cloud Filestore API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/filestore/latest/apiv1",
+ "release_level": "beta",
+ "library_type": ""
+ },
"cloud.google.com/go/firestore": {
"distribution_name": "cloud.google.com/go/firestore",
"description": "Cloud Firestore API",
@@ -683,6 +701,15 @@
"release_level": "ga",
"library_type": ""
},
+ "cloud.google.com/go/ids/apiv1": {
+ "distribution_name": "cloud.google.com/go/ids/apiv1",
+ "description": "Cloud IDS API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/ids/latest/apiv1",
+ "release_level": "beta",
+ "library_type": ""
+ },
"cloud.google.com/go/iot/apiv1": {
"distribution_name": "cloud.google.com/go/iot/apiv1",
"description": "Cloud IoT API",
@@ -842,7 +869,7 @@
"language": "Go",
"client_library_type": "generated",
"docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/monitoring/latest/metricsscope/apiv1",
- "release_level": "beta",
+ "release_level": "ga",
"library_type": ""
},
"cloud.google.com/go/networkconnectivity/apiv1": {
@@ -890,6 +917,15 @@
"release_level": "beta",
"library_type": ""
},
+ "cloud.google.com/go/orchestration/airflow/service/apiv1": {
+ "distribution_name": "cloud.google.com/go/orchestration/airflow/service/apiv1",
+ "description": "Cloud Composer API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/orchestration/latest/airflow/service/apiv1",
+ "release_level": "beta",
+ "library_type": ""
+ },
"cloud.google.com/go/orgpolicy/apiv2": {
"distribution_name": "cloud.google.com/go/orgpolicy/apiv2",
"description": "Organization Policy API",
@@ -1484,6 +1520,15 @@
"release_level": "beta",
"library_type": ""
},
+ "cloud.google.com/go/vmmigration/apiv1": {
+ "distribution_name": "cloud.google.com/go/vmmigration/apiv1",
+ "description": "VM Migration API",
+ "language": "Go",
+ "client_library_type": "generated",
+ "docs_url": "https://cloud.google.com/go/docs/reference/cloud.google.com/go/vmmigration/latest/apiv1",
+ "release_level": "beta",
+ "library_type": ""
+ },
"cloud.google.com/go/vpcaccess/apiv1": {
"distribution_name": "cloud.google.com/go/vpcaccess/apiv1",
"description": "Serverless VPC Access API",
diff --git a/vendor/cloud.google.com/go/internal/retry.go b/vendor/cloud.google.com/go/internal/retry.go
index 7a7b4c205..2943a6d0b 100644
--- a/vendor/cloud.google.com/go/internal/retry.go
+++ b/vendor/cloud.google.com/go/internal/retry.go
@@ -16,9 +16,11 @@ package internal
import (
"context"
+ "fmt"
"time"
gax "github.com/googleapis/gax-go/v2"
+ "google.golang.org/grpc/status"
)
// Retry calls the supplied function f repeatedly according to the provided
@@ -44,11 +46,40 @@ func retry(ctx context.Context, bo gax.Backoff, f func() (stop bool, err error),
lastErr = err
}
p := bo.Pause()
- if cerr := sleep(ctx, p); cerr != nil {
+ if ctxErr := sleep(ctx, p); ctxErr != nil {
if lastErr != nil {
- return Annotatef(lastErr, "retry failed with %v; last error", cerr)
+ return wrappedCallErr{ctxErr: ctxErr, wrappedErr: lastErr}
}
- return cerr
+ return ctxErr
}
}
}
+
+// Use this error type to return an error which allows introspection of both
+// the context error and the error from the service.
+type wrappedCallErr struct {
+ ctxErr error
+ wrappedErr error
+}
+
+func (e wrappedCallErr) Error() string {
+ return fmt.Sprintf("retry failed with %v; last error: %v", e.ctxErr, e.wrappedErr)
+}
+
+func (e wrappedCallErr) Unwrap() error {
+ return e.wrappedErr
+}
+
+// Is allows errors.Is to match the error from the call as well as context
+// sentinel errors.
+func (e wrappedCallErr) Is(err error) bool {
+ return e.ctxErr == err || e.wrappedErr == err
+}
+
+// GRPCStatus allows the wrapped error to be used with status.FromError.
+func (e wrappedCallErr) GRPCStatus() *status.Status {
+ if s, ok := status.FromError(e.wrappedErr); ok {
+ return s
+ }
+ return nil
+}
diff --git a/vendor/cloud.google.com/go/internal/trace/trace.go b/vendor/cloud.google.com/go/internal/trace/trace.go
index 66dc39116..c201d343e 100644
--- a/vendor/cloud.google.com/go/internal/trace/trace.go
+++ b/vendor/cloud.google.com/go/internal/trace/trace.go
@@ -19,6 +19,7 @@ import (
"fmt"
"go.opencensus.io/trace"
+ "golang.org/x/xerrors"
"google.golang.org/api/googleapi"
"google.golang.org/genproto/googleapis/rpc/code"
"google.golang.org/grpc/status"
@@ -42,7 +43,8 @@ func EndSpan(ctx context.Context, err error) {
// toStatus interrogates an error and converts it to an appropriate
// OpenCensus status.
func toStatus(err error) trace.Status {
- if err2, ok := err.(*googleapi.Error); ok {
+ var err2 *googleapi.Error
+ if ok := xerrors.As(err, &err2); ok {
return trace.Status{Code: httpStatusCodeToOCCode(err2.Code), Message: err2.Message}
} else if s, ok := status.FromError(err); ok {
return trace.Status{Code: int32(s.Code()), Message: s.Message()}
diff --git a/vendor/cloud.google.com/go/storage/CHANGES.md b/vendor/cloud.google.com/go/storage/CHANGES.md
index 4f2b4fcfe..4acf3bee0 100644
--- a/vendor/cloud.google.com/go/storage/CHANGES.md
+++ b/vendor/cloud.google.com/go/storage/CHANGES.md
@@ -1,5 +1,92 @@
# Changes
+
+## [1.21.0](https://github.com/googleapis/google-cloud-go/compare/storage/v1.20.0...storage/v1.21.0) (2022-02-17)
+
+
+### Features
+
+* **storage:** add better version metadata to calls ([#5507](https://github.com/googleapis/google-cloud-go/issues/5507)) ([13fe0bc](https://github.com/googleapis/google-cloud-go/commit/13fe0bc0d8acbffd46b59ab69b25449f1cbd6a88)), refs [#2749](https://github.com/googleapis/google-cloud-go/issues/2749)
+* **storage:** add Writer.ChunkRetryDeadline ([#5482](https://github.com/googleapis/google-cloud-go/issues/5482)) ([498a746](https://github.com/googleapis/google-cloud-go/commit/498a746769fa43958b92af8875b927879947128e))
+
+## [1.20.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.19.0...storage/v1.20.0) (2022-02-04)
+
+
+### Features
+
+* **storage/internal:** Update definition of RewriteObjectRequest to bring to parity with JSON API support ([#5447](https://www.github.com/googleapis/google-cloud-go/issues/5447)) ([7d175ef](https://www.github.com/googleapis/google-cloud-go/commit/7d175ef12b7b3e75585427f5dd2aab4a175e92d6))
+
+## [1.19.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.2...storage/v1.19.0) (2022-01-25)
+
+
+### Features
+
+* **storage:** add fully configurable and idempotency-aware retry strategy ([#5384](https://www.github.com/googleapis/google-cloud-go/issues/5384), [#5185](https://www.github.com/googleapis/google-cloud-go/issues/5185), [#5170](https://www.github.com/googleapis/google-cloud-go/issues/5170), [#5223](https://www.github.com/googleapis/google-cloud-go/issues/5223), [#5221](https://www.github.com/googleapis/google-cloud-go/issues/5221), [#5193](https://www.github.com/googleapis/google-cloud-go/issues/5193), [#5159](https://www.github.com/googleapis/google-cloud-go/issues/5159), [#5165](https://www.github.com/googleapis/google-cloud-go/issues/5165), [#5166](https://www.github.com/googleapis/google-cloud-go/issues/5166), [#5210](https://www.github.com/googleapis/google-cloud-go/issues/5210), [#5172](https://www.github.com/googleapis/google-cloud-go/issues/5172), [#5314](https://www.github.com/googleapis/google-cloud-go/issues/5314))
+ * This release contains changes to fully align this library's retry strategy
+ with best practices as described in the
+ Cloud Storage [docs](https://cloud.google.com/storage/docs/retry-strategy).
+ * The library will now retry only idempotent operations by default. This means
+ that for certain operations, including object upload, compose, rewrite,
+ update, and delete, requests will not be retried by default unless
+ [idempotency conditions](https://cloud.google.com/storage/docs/retry-strategy#idempotency)
+ for the request have been met.
+ * The library now has methods to configure aspects of retry policy for
+ API calls, including which errors are retried, the timing of the
+ exponential backoff, and how idempotency is taken into account.
+ * If you wish to re-enable retries for a non-idempotent request, use the
+ [RetryAlways](https://pkg.go.dev/cloud.google.com/go/storage@main#RetryAlways)
+ policy.
+ * For full details on how to configure retries, see the
+ [package docs](https://pkg.go.dev/cloud.google.com/go/storage@main#hdr-Retrying_failed_requests)
+ and the
+ [Cloud Storage docs](https://cloud.google.com/storage/docs/retry-strategy)
+* **storage:** GenerateSignedPostPolicyV4 can use existing creds to authenticate ([#5105](https://www.github.com/googleapis/google-cloud-go/issues/5105)) ([46489f4](https://www.github.com/googleapis/google-cloud-go/commit/46489f4c8a634068a3e7cf2fd5e5ca11b555c0a8))
+* **storage:** post policy can be signed with a fn that takes raw bytes ([#5079](https://www.github.com/googleapis/google-cloud-go/issues/5079)) ([25d1278](https://www.github.com/googleapis/google-cloud-go/commit/25d1278cab539fbfdd8563ed6b297e30d3fe555c))
+* **storage:** add rpo (turbo replication) support ([#5003](https://www.github.com/googleapis/google-cloud-go/issues/5003)) ([3bd5995](https://www.github.com/googleapis/google-cloud-go/commit/3bd59958e0c06d2655b67fcb5410668db3c52af0))
+
+### Bug Fixes
+
+* **storage:** fix nil check in gRPC Reader ([#5376](https://www.github.com/googleapis/google-cloud-go/issues/5376)) ([5e7d722](https://www.github.com/googleapis/google-cloud-go/commit/5e7d722d18a62b28ba98169b3bdbb49401377264))
+
+### [1.18.2](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.1...storage/v1.18.2) (2021-10-18)
+
+
+### Bug Fixes
+
+* **storage:** upgrade genproto ([#4993](https://www.github.com/googleapis/google-cloud-go/issues/4993)) ([5ca462d](https://www.github.com/googleapis/google-cloud-go/commit/5ca462d99fe851b7cddfd70108798e2fa959bdfd)), refs [#4991](https://www.github.com/googleapis/google-cloud-go/issues/4991)
+
+### [1.18.1](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.18.0...storage/v1.18.1) (2021-10-14)
+
+
+### Bug Fixes
+
+* **storage:** don't assume auth from a client option ([#4982](https://www.github.com/googleapis/google-cloud-go/issues/4982)) ([e17334d](https://www.github.com/googleapis/google-cloud-go/commit/e17334d1fe7645d89d14ae7148313498b984dfbb))
+
+## [1.18.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.17.0...storage/v1.18.0) (2021-10-11)
+
+
+### Features
+
+* **storage:** returned wrapped error for timeouts ([#4802](https://www.github.com/googleapis/google-cloud-go/issues/4802)) ([0e102a3](https://www.github.com/googleapis/google-cloud-go/commit/0e102a385dc67a06f6b444b3a93e6998428529be)), refs [#4197](https://www.github.com/googleapis/google-cloud-go/issues/4197)
+* **storage:** SignedUrl can use existing creds to authenticate ([#4604](https://www.github.com/googleapis/google-cloud-go/issues/4604)) ([b824c89](https://www.github.com/googleapis/google-cloud-go/commit/b824c897e6941270747b612f6d36a8d6ae081315))
+
+
+### Bug Fixes
+
+* **storage:** update PAP to use inherited instead of unspecified ([#4909](https://www.github.com/googleapis/google-cloud-go/issues/4909)) ([dac26b1](https://www.github.com/googleapis/google-cloud-go/commit/dac26b1af2f2972f12775341173bcc5f982438b8))
+
+## [1.17.0](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.16.1...storage/v1.17.0) (2021-09-28)
+
+
+### Features
+
+* **storage:** add projectNumber field to bucketAttrs. ([#4805](https://www.github.com/googleapis/google-cloud-go/issues/4805)) ([07343af](https://www.github.com/googleapis/google-cloud-go/commit/07343afc15085b164cc41d202d13f9d46f5c0d02))
+
+
+### Bug Fixes
+
+* **storage:** align retry idempotency (part 1) ([#4715](https://www.github.com/googleapis/google-cloud-go/issues/4715)) ([ffa903e](https://www.github.com/googleapis/google-cloud-go/commit/ffa903eeec61aa3869e5220e2f09371127b5c393))
+
### [1.16.1](https://www.github.com/googleapis/google-cloud-go/compare/storage/v1.16.0...storage/v1.16.1) (2021-08-30)
diff --git a/vendor/cloud.google.com/go/storage/README.md b/vendor/cloud.google.com/go/storage/README.md
index 13c89ea6d..8536d9cab 100644
--- a/vendor/cloud.google.com/go/storage/README.md
+++ b/vendor/cloud.google.com/go/storage/README.md
@@ -3,7 +3,7 @@
- [About Cloud Storage](https://cloud.google.com/storage/)
- [API documentation](https://cloud.google.com/storage/docs)
- [Go client documentation](https://pkg.go.dev/cloud.google.com/go/storage)
-- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/master/storage)
+- [Complete sample programs](https://github.com/GoogleCloudPlatform/golang-samples/tree/main/storage)
### Example Usage
diff --git a/vendor/cloud.google.com/go/storage/acl.go b/vendor/cloud.google.com/go/storage/acl.go
index a28b89b10..9bdf96e3e 100644
--- a/vendor/cloud.google.com/go/storage/acl.go
+++ b/vendor/cloud.google.com/go/storage/acl.go
@@ -73,6 +73,7 @@ type ACLHandle struct {
object string
isDefault bool
userProject string // for requester-pays buckets
+ retry *retryConfig
}
// Delete permanently deletes the ACL entry for the given entity.
@@ -120,12 +121,12 @@ func (a *ACLHandle) List(ctx context.Context) (rules []ACLRule, err error) {
func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) {
var acls *raw.ObjectAccessControls
var err error
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
req := a.c.raw.DefaultObjectAccessControls.List(a.bucket)
a.configureCall(ctx, req)
acls, err = req.Do()
return err
- })
+ }, a.retry, true)
if err != nil {
return nil, err
}
@@ -133,22 +134,23 @@ func (a *ACLHandle) bucketDefaultList(ctx context.Context) ([]ACLRule, error) {
}
func (a *ACLHandle) bucketDefaultDelete(ctx context.Context, entity ACLEntity) error {
- return runWithRetry(ctx, func() error {
- req := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity))
- a.configureCall(ctx, req)
+ req := a.c.raw.DefaultObjectAccessControls.Delete(a.bucket, string(entity))
+ a.configureCall(ctx, req)
+
+ return run(ctx, func() error {
return req.Do()
- })
+ }, a.retry, false)
}
func (a *ACLHandle) bucketList(ctx context.Context) ([]ACLRule, error) {
var acls *raw.BucketAccessControls
var err error
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
req := a.c.raw.BucketAccessControls.List(a.bucket)
a.configureCall(ctx, req)
acls, err = req.Do()
return err
- })
+ }, a.retry, true)
if err != nil {
return nil, err
}
@@ -161,35 +163,31 @@ func (a *ACLHandle) bucketSet(ctx context.Context, entity ACLEntity, role ACLRol
Entity: string(entity),
Role: string(role),
}
- err := runWithRetry(ctx, func() error {
- req := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl)
- a.configureCall(ctx, req)
+ req := a.c.raw.BucketAccessControls.Update(a.bucket, string(entity), acl)
+ a.configureCall(ctx, req)
+ return run(ctx, func() error {
_, err := req.Do()
return err
- })
- if err != nil {
- return err
- }
- return nil
+ }, a.retry, false)
}
func (a *ACLHandle) bucketDelete(ctx context.Context, entity ACLEntity) error {
- return runWithRetry(ctx, func() error {
- req := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity))
- a.configureCall(ctx, req)
+ req := a.c.raw.BucketAccessControls.Delete(a.bucket, string(entity))
+ a.configureCall(ctx, req)
+ return run(ctx, func() error {
return req.Do()
- })
+ }, a.retry, false)
}
func (a *ACLHandle) objectList(ctx context.Context) ([]ACLRule, error) {
var acls *raw.ObjectAccessControls
var err error
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
req := a.c.raw.ObjectAccessControls.List(a.bucket, a.object)
a.configureCall(ctx, req)
acls, err = req.Do()
return err
- })
+ }, a.retry, true)
if err != nil {
return nil, err
}
@@ -214,18 +212,18 @@ func (a *ACLHandle) objectSet(ctx context.Context, entity ACLEntity, role ACLRol
req = a.c.raw.ObjectAccessControls.Update(a.bucket, a.object, string(entity), acl)
}
a.configureCall(ctx, req)
- return runWithRetry(ctx, func() error {
+ return run(ctx, func() error {
_, err := req.Do()
return err
- })
+ }, a.retry, false)
}
func (a *ACLHandle) objectDelete(ctx context.Context, entity ACLEntity) error {
- return runWithRetry(ctx, func() error {
- req := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity))
- a.configureCall(ctx, req)
+ req := a.c.raw.ObjectAccessControls.Delete(a.bucket, a.object, string(entity))
+ a.configureCall(ctx, req)
+ return run(ctx, func() error {
return req.Do()
- })
+ }, a.retry, false)
}
func (a *ACLHandle) configureCall(ctx context.Context, call interface{ Header() http.Header }) {
diff --git a/vendor/cloud.google.com/go/storage/bucket.go b/vendor/cloud.google.com/go/storage/bucket.go
index 602c85128..9d145f039 100644
--- a/vendor/cloud.google.com/go/storage/bucket.go
+++ b/vendor/cloud.google.com/go/storage/bucket.go
@@ -16,15 +16,22 @@ package storage
import (
"context"
+ "encoding/base64"
+ "encoding/json"
+ "errors"
"fmt"
"net/http"
"reflect"
"time"
+ "cloud.google.com/go/compute/metadata"
"cloud.google.com/go/internal/optional"
"cloud.google.com/go/internal/trace"
+ "golang.org/x/xerrors"
"google.golang.org/api/googleapi"
+ "google.golang.org/api/iamcredentials/v1"
"google.golang.org/api/iterator"
+ "google.golang.org/api/option"
raw "google.golang.org/api/storage/v1"
)
@@ -37,6 +44,7 @@ type BucketHandle struct {
defaultObjectACL ACLHandle
conds *BucketConditions
userProject string // project for Requester Pays buckets
+ retry *retryConfig
}
// Bucket returns a BucketHandle, which provides operations on the named bucket.
@@ -47,18 +55,22 @@ type BucketHandle struct {
// found at:
// https://cloud.google.com/storage/docs/bucket-naming
func (c *Client) Bucket(name string) *BucketHandle {
+ retry := c.retry.clone()
return &BucketHandle{
c: c,
name: name,
acl: ACLHandle{
c: c,
bucket: name,
+ retry: retry,
},
defaultObjectACL: ACLHandle{
c: c,
bucket: name,
isDefault: true,
+ retry: retry,
},
+ retry: retry,
}
}
@@ -88,7 +100,7 @@ func (b *BucketHandle) Create(ctx context.Context, projectID string, attrs *Buck
if attrs != nil && attrs.PredefinedDefaultObjectACL != "" {
req.PredefinedDefaultObjectAcl(attrs.PredefinedDefaultObjectACL)
}
- return runWithRetry(ctx, func() error { _, err := req.Context(ctx).Do(); return err })
+ return run(ctx, func() error { _, err := req.Context(ctx).Do(); return err }, b.retry, true)
}
// Delete deletes the Bucket.
@@ -100,7 +112,8 @@ func (b *BucketHandle) Delete(ctx context.Context) (err error) {
if err != nil {
return err
}
- return runWithRetry(ctx, func() error { return req.Context(ctx).Do() })
+
+ return run(ctx, func() error { return req.Context(ctx).Do() }, b.retry, true)
}
func (b *BucketHandle) newDeleteCall() (*raw.BucketsDeleteCall, error) {
@@ -137,6 +150,7 @@ func (b *BucketHandle) DefaultObjectACL() *ACLHandle {
// for valid object names can be found at:
// https://cloud.google.com/storage/docs/naming-objects
func (b *BucketHandle) Object(name string) *ObjectHandle {
+ retry := b.retry.clone()
return &ObjectHandle{
c: b.c,
bucket: b.name,
@@ -146,9 +160,11 @@ func (b *BucketHandle) Object(name string) *ObjectHandle {
bucket: b.name,
object: name,
userProject: b.userProject,
+ retry: retry,
},
gen: -1,
userProject: b.userProject,
+ retry: retry,
}
}
@@ -162,11 +178,12 @@ func (b *BucketHandle) Attrs(ctx context.Context) (attrs *BucketAttrs, err error
return nil, err
}
var resp *raw.Bucket
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
resp, err = req.Context(ctx).Do()
return err
- })
- if e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {
+ }, b.retry, true)
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
return nil, ErrBucketNotExist
}
if err != nil {
@@ -202,12 +219,20 @@ func (b *BucketHandle) Update(ctx context.Context, uattrs BucketAttrsToUpdate) (
if uattrs.PredefinedDefaultObjectACL != "" {
req.PredefinedDefaultObjectAcl(uattrs.PredefinedDefaultObjectACL)
}
- // TODO(jba): retry iff metagen is set?
- rb, err := req.Context(ctx).Do()
- if err != nil {
+
+ isIdempotent := b.conds != nil && b.conds.MetagenerationMatch != 0
+
+ var rawBucket *raw.Bucket
+ call := func() error {
+ rb, err := req.Context(ctx).Do()
+ rawBucket = rb
+ return err
+ }
+
+ if err := run(ctx, call, b.retry, isIdempotent); err != nil {
return nil, err
}
- return newBucket(rb)
+ return newBucket(rawBucket)
}
func (b *BucketHandle) newPatchCall(uattrs *BucketAttrsToUpdate) (*raw.BucketsPatchCall, error) {
@@ -223,6 +248,164 @@ func (b *BucketHandle) newPatchCall(uattrs *BucketAttrsToUpdate) (*raw.BucketsPa
return req, nil
}
+// SignedURL returns a URL for the specified object. Signed URLs allow anyone
+// access to a restricted resource for a limited time without needing a
+// Google account or signing in. For more information about signed URLs, see
+// https://cloud.google.com/storage/docs/accesscontrol#signed_urls_query_string_authentication
+//
+// This method only requires the Method and Expires fields in the specified
+// SignedURLOptions opts to be non-nil. If not provided, it attempts to fill the
+// GoogleAccessID and PrivateKey from the GOOGLE_APPLICATION_CREDENTIALS environment variable.
+// If you are authenticating with a custom HTTP client, Service Account based
+// auto-detection will be hindered.
+//
+// If no private key is found, it attempts to use the GoogleAccessID to sign the URL.
+// This requires the IAM Service Account Credentials API to be enabled
+// (https://console.developers.google.com/apis/api/iamcredentials.googleapis.com/overview)
+// and iam.serviceAccounts.signBlob permissions on the GoogleAccessID service account.
+// If you do not want these fields set for you, you may pass them in through opts or use
+// SignedURL(bucket, name string, opts *SignedURLOptions) instead.
+func (b *BucketHandle) SignedURL(object string, opts *SignedURLOptions) (string, error) {
+ if opts.GoogleAccessID != "" && (opts.SignBytes != nil || len(opts.PrivateKey) > 0) {
+ return SignedURL(b.name, object, opts)
+ }
+ // Make a copy of opts so we don't modify the pointer parameter.
+ newopts := opts.clone()
+
+ if newopts.GoogleAccessID == "" {
+ id, err := b.detectDefaultGoogleAccessID()
+ if err != nil {
+ return "", err
+ }
+ newopts.GoogleAccessID = id
+ }
+ if newopts.SignBytes == nil && len(newopts.PrivateKey) == 0 {
+ if b.c.creds != nil && len(b.c.creds.JSON) > 0 {
+ var sa struct {
+ PrivateKey string `json:"private_key"`
+ }
+ err := json.Unmarshal(b.c.creds.JSON, &sa)
+ if err == nil && sa.PrivateKey != "" {
+ newopts.PrivateKey = []byte(sa.PrivateKey)
+ }
+ }
+
+ // Don't error out if we can't unmarshal the private key from the client,
+ // fallback to the default sign function for the service account.
+ if len(newopts.PrivateKey) == 0 {
+ newopts.SignBytes = b.defaultSignBytesFunc(newopts.GoogleAccessID)
+ }
+ }
+ return SignedURL(b.name, object, newopts)
+}
+
+// GenerateSignedPostPolicyV4 generates a PostPolicyV4 value from bucket, object and opts.
+// The generated URL and fields will then allow an unauthenticated client to perform multipart uploads.
+//
+// This method only requires the Expires field in the specified PostPolicyV4Options
+// to be non-nil. If not provided, it attempts to fill the GoogleAccessID and PrivateKey
+// from the GOOGLE_APPLICATION_CREDENTIALS environment variable.
+// If you are authenticating with a custom HTTP client, Service Account based
+// auto-detection will be hindered.
+//
+// If no private key is found, it attempts to use the GoogleAccessID to sign the URL.
+// This requires the IAM Service Account Credentials API to be enabled
+// (https://console.developers.google.com/apis/api/iamcredentials.googleapis.com/overview)
+// and iam.serviceAccounts.signBlob permissions on the GoogleAccessID service account.
+// If you do not want these fields set for you, you may pass them in through opts or use
+// GenerateSignedPostPolicyV4(bucket, name string, opts *PostPolicyV4Options) instead.
+func (b *BucketHandle) GenerateSignedPostPolicyV4(object string, opts *PostPolicyV4Options) (*PostPolicyV4, error) {
+ if opts.GoogleAccessID != "" && (opts.SignRawBytes != nil || opts.SignBytes != nil || len(opts.PrivateKey) > 0) {
+ return GenerateSignedPostPolicyV4(b.name, object, opts)
+ }
+ // Make a copy of opts so we don't modify the pointer parameter.
+ newopts := opts.clone()
+
+ if newopts.GoogleAccessID == "" {
+ id, err := b.detectDefaultGoogleAccessID()
+ if err != nil {
+ return nil, err
+ }
+ newopts.GoogleAccessID = id
+ }
+ if newopts.SignBytes == nil && newopts.SignRawBytes == nil && len(newopts.PrivateKey) == 0 {
+ if b.c.creds != nil && len(b.c.creds.JSON) > 0 {
+ var sa struct {
+ PrivateKey string `json:"private_key"`
+ }
+ err := json.Unmarshal(b.c.creds.JSON, &sa)
+ if err == nil && sa.PrivateKey != "" {
+ newopts.PrivateKey = []byte(sa.PrivateKey)
+ }
+ }
+
+ // Don't error out if we can't unmarshal the private key from the client,
+ // fallback to the default sign function for the service account.
+ if len(newopts.PrivateKey) == 0 {
+ newopts.SignRawBytes = b.defaultSignBytesFunc(newopts.GoogleAccessID)
+ }
+ }
+ return GenerateSignedPostPolicyV4(b.name, object, newopts)
+}
+
+func (b *BucketHandle) detectDefaultGoogleAccessID() (string, error) {
+ returnErr := errors.New("no credentials found on client and not on GCE (Google Compute Engine)")
+
+ if b.c.creds != nil && len(b.c.creds.JSON) > 0 {
+ var sa struct {
+ ClientEmail string `json:"client_email"`
+ }
+ err := json.Unmarshal(b.c.creds.JSON, &sa)
+ if err == nil && sa.ClientEmail != "" {
+ return sa.ClientEmail, nil
+ } else if err != nil {
+ returnErr = err
+ } else {
+ returnErr = errors.New("storage: empty client email in credentials")
+ }
+
+ }
+
+ // Don't error out if we can't unmarshal, fallback to GCE check.
+ if metadata.OnGCE() {
+ email, err := metadata.Email("default")
+ if err == nil && email != "" {
+ return email, nil
+ } else if err != nil {
+ returnErr = err
+ } else {
+ returnErr = errors.New("got empty email from GCE metadata service")
+ }
+
+ }
+ return "", fmt.Errorf("storage: unable to detect default GoogleAccessID: %v", returnErr)
+}
+
+func (b *BucketHandle) defaultSignBytesFunc(email string) func([]byte) ([]byte, error) {
+ return func(in []byte) ([]byte, error) {
+ ctx := context.Background()
+
+ // It's ok to recreate this service per call since we pass in the http client,
+ // circumventing the cost of recreating the auth/transport layer
+ svc, err := iamcredentials.NewService(ctx, option.WithHTTPClient(b.c.hc))
+ if err != nil {
+ return nil, fmt.Errorf("unable to create iamcredentials client: %v", err)
+ }
+
+ resp, err := svc.Projects.ServiceAccounts.SignBlob(fmt.Sprintf("projects/-/serviceAccounts/%s", email), &iamcredentials.SignBlobRequest{
+ Payload: base64.StdEncoding.EncodeToString(in),
+ }).Do()
+ if err != nil {
+ return nil, fmt.Errorf("unable to sign bytes: %v", err)
+ }
+ out, err := base64.StdEncoding.DecodeString(resp.SignedBlob)
+ if err != nil {
+ return nil, fmt.Errorf("unable to base64 decode response: %v", err)
+ }
+ return out, nil
+ }
+}
+
// BucketAttrs represents the metadata for a Google Cloud Storage bucket.
// Read-only fields are ignored by BucketHandle.Create.
type BucketAttrs struct {
@@ -337,6 +520,16 @@ type BucketAttrs struct {
// Typical values are "multi-region", "region" and "dual-region".
// This field is read-only.
LocationType string
+
+ // The project number of the project the bucket belongs to.
+ // This field is read-only.
+ ProjectNumber uint64
+
+ // RPO configures the Recovery Point Objective (RPO) policy of the bucket.
+ // Set to RPOAsyncTurbo to turn on Turbo Replication for a bucket.
+ // See https://cloud.google.com/storage/docs/managing-turbo-replication for
+ // more information.
+ RPO RPO
}
// BucketPolicyOnly is an alias for UniformBucketLevelAccess.
@@ -372,23 +565,29 @@ const (
// not set in a call to GCS.
PublicAccessPreventionUnknown PublicAccessPrevention = iota
- // PublicAccessPreventionUnspecified corresponds to a value of "unspecified"
- // and is the default for buckets.
+ // PublicAccessPreventionUnspecified corresponds to a value of "unspecified".
+ // Deprecated: use PublicAccessPreventionInherited
PublicAccessPreventionUnspecified
// PublicAccessPreventionEnforced corresponds to a value of "enforced". This
// enforces Public Access Prevention on the bucket.
PublicAccessPreventionEnforced
- publicAccessPreventionUnknown string = ""
- publicAccessPreventionUnspecified = "unspecified"
- publicAccessPreventionEnforced = "enforced"
+ // PublicAccessPreventionInherited corresponds to a value of "inherited"
+ // and is the default for buckets.
+ PublicAccessPreventionInherited
+
+ publicAccessPreventionUnknown string = ""
+ // TODO: remove unspecified when change is fully completed
+ publicAccessPreventionUnspecified = "unspecified"
+ publicAccessPreventionEnforced = "enforced"
+ publicAccessPreventionInherited = "inherited"
)
func (p PublicAccessPrevention) String() string {
switch p {
- case PublicAccessPreventionUnspecified:
- return publicAccessPreventionUnspecified
+ case PublicAccessPreventionInherited, PublicAccessPreventionUnspecified:
+ return publicAccessPreventionInherited
case PublicAccessPreventionEnforced:
return publicAccessPreventionEnforced
default:
@@ -597,6 +796,8 @@ func newBucket(b *raw.Bucket) (*BucketAttrs, error) {
PublicAccessPrevention: toPublicAccessPrevention(b.IamConfiguration),
Etag: b.Etag,
LocationType: b.LocationType,
+ ProjectNumber: b.ProjectNumber,
+ RPO: toRPO(b),
}, nil
}
@@ -649,6 +850,7 @@ func (b *BucketAttrs) toRawBucket() *raw.Bucket {
Logging: b.Logging.toRawBucketLogging(),
Website: b.Website.toRawBucketWebsite(),
IamConfiguration: bktIAM,
+ Rpo: b.RPO.String(),
}
}
@@ -758,6 +960,12 @@ type BucketAttrsToUpdate struct {
// See https://cloud.google.com/storage/docs/json_api/v1/buckets/patch.
PredefinedDefaultObjectACL string
+ // RPO configures the Recovery Point Objective (RPO) policy of the bucket.
+ // Set to RPOAsyncTurbo to turn on Turbo Replication for a bucket.
+ // See https://cloud.google.com/storage/docs/managing-turbo-replication for
+ // more information.
+ RPO RPO
+
setLabels map[string]string
deleteLabels map[string]bool
}
@@ -870,7 +1078,10 @@ func (ua *BucketAttrsToUpdate) toRawBucket() *raw.Bucket {
rb.DefaultObjectAcl = nil
rb.ForceSendFields = append(rb.ForceSendFields, "DefaultObjectAcl")
}
+
rb.StorageClass = ua.StorageClass
+ rb.Rpo = ua.RPO.String()
+
if ua.setLabels != nil || ua.deleteLabels != nil {
rb.Labels = map[string]string{}
for k, v := range ua.setLabels {
@@ -950,10 +1161,10 @@ func (b *BucketHandle) LockRetentionPolicy(ctx context.Context) error {
metageneration = b.conds.MetagenerationMatch
}
req := b.c.raw.Buckets.LockRetentionPolicy(b.name, metageneration)
- return runWithRetry(ctx, func() error {
+ return run(ctx, func() error {
_, err := req.Context(ctx).Do()
return err
- })
+ }, b.retry, true)
}
// applyBucketConds modifies the provided call using the conditions in conds.
@@ -1207,8 +1418,8 @@ func toPublicAccessPrevention(b *raw.BucketIamConfiguration) PublicAccessPrevent
return PublicAccessPreventionUnknown
}
switch b.PublicAccessPrevention {
- case publicAccessPreventionUnspecified:
- return PublicAccessPreventionUnspecified
+ case publicAccessPreventionInherited, publicAccessPreventionUnspecified:
+ return PublicAccessPreventionInherited
case publicAccessPreventionEnforced:
return PublicAccessPreventionEnforced
default:
@@ -1216,6 +1427,20 @@ func toPublicAccessPrevention(b *raw.BucketIamConfiguration) PublicAccessPrevent
}
}
+func toRPO(b *raw.Bucket) RPO {
+ if b == nil {
+ return RPOUnknown
+ }
+ switch b.Rpo {
+ case rpoDefault:
+ return RPODefault
+ case rpoAsyncTurbo:
+ return RPOAsyncTurbo
+ default:
+ return RPOUnknown
+ }
+}
+
// Objects returns an iterator over the objects in the bucket that match the
// Query q. If q is nil, no filtering is done. Objects will be iterated over
// lexicographically by name.
@@ -1236,6 +1461,33 @@ func (b *BucketHandle) Objects(ctx context.Context, q *Query) *ObjectIterator {
return it
}
+// Retryer returns a bucket handle that is configured with custom retry
+// behavior as specified by the options that are passed to it. All operations
+// on the new handle will use the customized retry configuration.
+// Retry options set on a object handle will take precedence over options set on
+// the bucket handle.
+// These retry options will merge with the client's retry configuration (if set)
+// for the returned handle. Options passed into this method will take precedence
+// over retry options on the client. Note that you must explicitly pass in each
+// option you want to override.
+func (b *BucketHandle) Retryer(opts ...RetryOption) *BucketHandle {
+ b2 := *b
+ var retry *retryConfig
+ if b.retry != nil {
+ // merge the options with the existing retry
+ retry = b.retry
+ } else {
+ retry = &retryConfig{}
+ }
+ for _, opt := range opts {
+ opt.apply(retry)
+ }
+ b2.retry = retry
+ b2.acl.retry = retry
+ b2.defaultObjectACL.retry = retry
+ return &b2
+}
+
// An ObjectIterator is an iterator over ObjectAttrs.
//
// Note: This iterator is not safe for concurrent operations without explicit synchronization.
@@ -1303,12 +1555,13 @@ func (it *ObjectIterator) fetch(pageSize int, pageToken string) (string, error)
}
var resp *raw.Objects
var err error
- err = runWithRetry(it.ctx, func() error {
+ err = run(it.ctx, func() error {
resp, err = req.Context(it.ctx).Do()
return err
- })
+ }, it.bucket.retry, true)
if err != nil {
- if e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
err = ErrBucketNotExist
}
return "", err
@@ -1386,10 +1639,10 @@ func (it *BucketIterator) fetch(pageSize int, pageToken string) (token string, e
req.MaxResults(int64(pageSize))
}
var resp *raw.Buckets
- err = runWithRetry(it.ctx, func() error {
+ err = run(it.ctx, func() error {
resp, err = req.Context(it.ctx).Do()
return err
- })
+ }, it.client.retry, true)
if err != nil {
return "", err
}
@@ -1402,3 +1655,39 @@ func (it *BucketIterator) fetch(pageSize int, pageToken string) (token string, e
}
return resp.NextPageToken, nil
}
+
+// RPO (Recovery Point Objective) configures the turbo replication feature. See
+// https://cloud.google.com/storage/docs/managing-turbo-replication for more information.
+type RPO int
+
+const (
+ // RPOUnknown is a zero value. It may be returned from bucket.Attrs() if RPO
+ // is not present in the bucket metadata, that is, the bucket is not dual-region.
+ // This value is also used if the RPO field is not set in a call to GCS.
+ RPOUnknown RPO = iota
+
+ // RPODefault represents default replication. It is used to reset RPO on an
+ // existing bucket that has this field set to RPOAsyncTurbo. Otherwise it
+ // is equivalent to RPOUnknown, and is always ignored. This value is valid
+ // for dual- or multi-region buckets.
+ RPODefault
+
+ // RPOAsyncTurbo represents turbo replication and is used to enable Turbo
+ // Replication on a bucket. This value is only valid for dual-region buckets.
+ RPOAsyncTurbo
+
+ rpoUnknown string = ""
+ rpoDefault = "DEFAULT"
+ rpoAsyncTurbo = "ASYNC_TURBO"
+)
+
+func (rpo RPO) String() string {
+ switch rpo {
+ case RPODefault:
+ return rpoDefault
+ case RPOAsyncTurbo:
+ return rpoAsyncTurbo
+ default:
+ return rpoUnknown
+ }
+}
diff --git a/vendor/cloud.google.com/go/storage/copy.go b/vendor/cloud.google.com/go/storage/copy.go
index 61983df5a..f18075352 100644
--- a/vendor/cloud.google.com/go/storage/copy.go
+++ b/vendor/cloud.google.com/go/storage/copy.go
@@ -138,8 +138,11 @@ func (c *Copier) callRewrite(ctx context.Context, rawObj *raw.Object) (*raw.Rewr
var res *raw.RewriteResponse
var err error
setClientHeader(call.Header())
- err = runWithRetry(ctx, func() error { res, err = call.Do(); return err })
- if err != nil {
+
+ retryCall := func() error { res, err = call.Do(); return err }
+ isIdempotent := c.dst.conds != nil && (c.dst.conds.GenerationMatch != 0 || c.dst.conds.DoesNotExist)
+
+ if err := run(ctx, retryCall, c.dst.retry, isIdempotent); err != nil {
return nil, err
}
c.RewriteToken = res.RewriteToken
@@ -230,8 +233,11 @@ func (c *Composer) Run(ctx context.Context) (attrs *ObjectAttrs, err error) {
}
var obj *raw.Object
setClientHeader(call.Header())
- err = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })
- if err != nil {
+
+ retryCall := func() error { obj, err = call.Do(); return err }
+ isIdempotent := c.dst.conds != nil && (c.dst.conds.GenerationMatch != 0 || c.dst.conds.DoesNotExist)
+
+ if err := run(ctx, retryCall, c.dst.retry, isIdempotent); err != nil {
return nil, err
}
return newObject(obj), nil
diff --git a/vendor/cloud.google.com/go/storage/doc.go b/vendor/cloud.google.com/go/storage/doc.go
index 418e16068..f90dbe905 100644
--- a/vendor/cloud.google.com/go/storage/doc.go
+++ b/vendor/cloud.google.com/go/storage/doc.go
@@ -19,15 +19,9 @@ Google Cloud Storage stores data in named objects, which are grouped into bucket
More information about Google Cloud Storage is available at
https://cloud.google.com/storage/docs.
-See https://godoc.org/cloud.google.com/go for authentication, timeouts,
+See https://pkg.go.dev/cloud.google.com/go for authentication, timeouts,
connection pooling and similar aspects of this package.
-All of the methods of this package use exponential backoff to retry calls that fail
-with certain errors, as described in
-https://cloud.google.com/storage/docs/exponential-backoff. Retrying continues
-indefinitely unless the controlling context is canceled or the client is closed. See
-context.WithTimeout and context.WithCancel.
-
Creating a Client
@@ -246,11 +240,52 @@ as the documentation of GenerateSignedPostPolicyV4.
Errors
-Errors returned by this client are often of the type [`googleapi.Error`](https://godoc.org/google.golang.org/api/googleapi#Error).
-These errors can be introspected for more information by type asserting to the richer `googleapi.Error` type. For example:
+Errors returned by this client are often of the type googleapi.Error.
+These errors can be introspected for more information by using errors.As
+with the richer googleapi.Error type. For example:
- if e, ok := err.(*googleapi.Error); ok {
+ var e *googleapi.Error
+ if ok := errors.As(err, &e); ok {
if e.Code == 409 { ... }
}
+
+See https://pkg.go.dev/google.golang.org/api/googleapi#Error for more information.
+
+Retrying failed requests
+
+Methods in this package may retry calls that fail with transient errors.
+Retrying continues indefinitely unless the controlling context is canceled, the
+client is closed, or a non-transient error is received. To stop retries from
+continuing, use context timeouts or cancellation.
+
+The retry strategy in this library follows best practices for Cloud Storage. By
+default, operations are retried only if they are idempotent, and exponential
+backoff with jitter is employed. In addition, errors are only retried if they
+are defined as transient by the service. See
+https://cloud.google.com/storage/docs/retry-strategy for more information.
+
+Users can configure non-default retry behavior for a single library call (using
+BucketHandle.Retryer and ObjectHandle.Retryer) or for all calls made by a
+client (using Client.SetRetry). For example:
+
+ o := client.Bucket(bucket).Object(object).Retryer(
+ // Use WithBackoff to change the timing of the exponential backoff.
+ storage.WithBackoff(gax.Backoff{
+ Initial: 2 * time.Second,
+ }),
+ // Use WithPolicy to configure the idempotency policy. RetryAlways will
+ // retry the operation even if it is non-idempotent.
+ storage.WithPolicy(storage.RetryAlways),
+ )
+
+ // Use a context timeout to set an overall deadline on the call, including all
+ // potential retries.
+ ctx, cancel := context.WithTimeout(ctx, 5*time.Second)
+ defer cancel()
+
+ // Delete an object using the specified strategy and timeout.
+ if err := o.Delete(ctx); err != nil {
+ // Handle err.
+ }
*/
package storage // import "cloud.google.com/go/storage"
diff --git a/vendor/cloud.google.com/go/storage/emulator_test.sh b/vendor/cloud.google.com/go/storage/emulator_test.sh
new file mode 100644
index 000000000..e1cf4af76
--- /dev/null
+++ b/vendor/cloud.google.com/go/storage/emulator_test.sh
@@ -0,0 +1,71 @@
+#!/bin/bash
+# Copyright 2021 Google LLC
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License..
+
+# Fail on any error
+set -eo pipefail
+
+# Display commands being run
+set -x
+
+# Only run on Go 1.17+
+min_minor_ver=17
+
+v=`go version | { read _ _ v _; echo ${v#go}; }`
+comps=(${v//./ })
+minor_ver=${comps[1]}
+
+if [ "$minor_ver" -lt "$min_minor_ver" ]; then
+ echo minor version $minor_ver, skipping
+ exit 0
+fi
+
+export STORAGE_EMULATOR_HOST="http://localhost:9000"
+
+DEFAULT_IMAGE_NAME='gcr.io/cloud-devrel-public-resources/storage-testbench'
+DEFAULT_IMAGE_TAG='latest'
+DOCKER_IMAGE=${DEFAULT_IMAGE_NAME}:${DEFAULT_IMAGE_TAG}
+CONTAINER_NAME=storage_testbench
+
+# Get the docker image for the testbench
+docker pull $DOCKER_IMAGE
+
+# Start the testbench
+# Note: --net=host makes the container bind directly to the Docker host’s network,
+# with no network isolation. If we were to use port-mapping instead, reset connection errors
+# would be captured differently and cause unexpected test behaviour.
+# The host networking driver works only on Linux hosts.
+# See more about using host networking: https://docs.docker.com/network/host/
+docker run --name $CONTAINER_NAME --rm --net=host $DOCKER_IMAGE &
+echo "Running the Cloud Storage testbench: $STORAGE_EMULATOR_HOST"
+
+# Check that the server is running - retry several times to allow for start-up time
+response=$(curl -w "%{http_code}\n" $STORAGE_EMULATOR_HOST --retry-connrefused --retry 5 -o /dev/null)
+
+if [[ $response != 200 ]]
+then
+ echo "Testbench server did not start correctly"
+ exit 1
+fi
+
+# Stop the testbench & cleanup environment variables
+function cleanup() {
+ echo "Cleanup testbench"
+ docker stop $CONTAINER_NAME
+ unset STORAGE_EMULATOR_HOST;
+}
+trap cleanup EXIT
+
+# Run tests
+go test -v -timeout 10m ./ -run="TestRetryConformance" -short 2>&1 | tee -a sponge_log.log
diff --git a/vendor/cloud.google.com/go/storage/go.mod b/vendor/cloud.google.com/go/storage/go.mod
index 51a31e8e2..205992cb8 100644
--- a/vendor/cloud.google.com/go/storage/go.mod
+++ b/vendor/cloud.google.com/go/storage/go.mod
@@ -1,16 +1,18 @@
module cloud.google.com/go/storage
-go 1.11
+go 1.15
require (
- cloud.google.com/go v0.93.3
+ cloud.google.com/go v0.100.2
+ cloud.google.com/go/compute v1.2.0
+ cloud.google.com/go/iam v0.1.1
github.com/golang/protobuf v1.5.2
- github.com/google/go-cmp v0.5.6
- github.com/googleapis/gax-go/v2 v2.0.5
- golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a
+ github.com/google/go-cmp v0.5.7
+ github.com/googleapis/gax-go/v2 v2.1.1
+ golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8
golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
- google.golang.org/api v0.54.0
- google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda
- google.golang.org/grpc v1.40.0
+ google.golang.org/api v0.69.0
+ google.golang.org/genproto v0.0.0-20220216160803-4663080d8bc8
+ google.golang.org/grpc v1.44.0
google.golang.org/protobuf v1.27.1
)
diff --git a/vendor/cloud.google.com/go/storage/go.sum b/vendor/cloud.google.com/go/storage/go.sum
index e9b3a4583..30272fd0c 100644
--- a/vendor/cloud.google.com/go/storage/go.sum
+++ b/vendor/cloud.google.com/go/storage/go.sum
@@ -22,16 +22,26 @@ cloud.google.com/go v0.83.0/go.mod h1:Z7MJUsANfY0pYPdw0lbnivPx4/vhy/e2FEkSkF7vAV
cloud.google.com/go v0.84.0/go.mod h1:RazrYuxIK6Kb7YrzzhPoLmCVzl7Sup4NrbKPg8KHSUM=
cloud.google.com/go v0.87.0/go.mod h1:TpDYlFy7vuLzZMMZ+B6iRiELaY7z/gJPaqbMx6mlWcY=
cloud.google.com/go v0.90.0/go.mod h1:kRX0mNRHe0e2rC6oNakvwQqzyDmg57xJ+SZU1eT2aDQ=
-cloud.google.com/go v0.93.3 h1:wPBktZFzYBcCZVARvwVKqH1uEj+aLXofJEtrb4oOsio=
cloud.google.com/go v0.93.3/go.mod h1:8utlLll2EF5XMAV15woO4lSbWQlk8rer9aLOfLh7+YI=
+cloud.google.com/go v0.94.1/go.mod h1:qAlAugsXlC+JWO+Bke5vCtc9ONxjQT3drlTTnAplMW4=
+cloud.google.com/go v0.97.0/go.mod h1:GF7l59pYBVlXQIBLx3a761cZ41F9bBH3JUlihCt2Udc=
+cloud.google.com/go v0.99.0/go.mod h1:w0Xx2nLzqWJPuozYQX+hFfCSI8WioryfRDzkoI/Y2ZA=
+cloud.google.com/go v0.100.1/go.mod h1:fs4QogzfH5n2pBXBP9vRiU+eCny7lD2vmFZy79Iuw1U=
+cloud.google.com/go v0.100.2 h1:t9Iw5QH5v4XtlEQaCtUY7x6sCABps8sW0acw7e2WQ6Y=
+cloud.google.com/go v0.100.2/go.mod h1:4Xra9TjzAeYHrl5+oeLlzbM2k3mjVhZh4UqTZ//w99A=
cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/compute v0.1.0/go.mod h1:GAesmwr110a34z04OlxYkATPBEfVhkymfTBXtfbBFow=
+cloud.google.com/go/compute v1.2.0 h1:EKki8sSdvDU0OO9mAXGwPXOTOgPz2l08R0/IutDH11I=
+cloud.google.com/go/compute v1.2.0/go.mod h1:xlogom/6gr8RJGBe7nT2eGsQYAFUbbv8dbC29qE3Xmw=
cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/iam v0.1.1 h1:4CapQyNFjiksks1/x7jsvsygFPhihslYk5GptIrlX68=
+cloud.google.com/go/iam v0.1.1/go.mod h1:CKqrcnI/suGpybEHxZ7BMehL0oA4LpdyJdUlTl9jVMw=
cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
@@ -48,6 +58,7 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
@@ -55,7 +66,11 @@ github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDk
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
@@ -64,6 +79,7 @@ github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5y
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
@@ -116,8 +132,9 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.6 h1:BKbKCqvP6I+rmFHt06ZmyQtvB8xAkWdhFyr0ZUNZcxQ=
github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.7 h1:81/ik6ipDQS2aGcBfIN5dHDB36BwrStyeAQquSYCV4o=
+github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE=
github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
@@ -141,8 +158,10 @@ github.com/google/pprof v0.0.0-20210720184732-4bb14d4b1be1/go.mod h1:kpwsk12EmLe
github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
-github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/gax-go/v2 v2.1.0/go.mod h1:Q3nei7sK6ybPYH7twZdmQpAd1MKb7pfu6SK+H1/DsU0=
+github.com/googleapis/gax-go/v2 v2.1.1 h1:dp3bWCh+PPO1zjRRiCSczJav13sBvG4UhNyVTa1KqdU=
+github.com/googleapis/gax-go/v2 v2.1.1/go.mod h1:hddJymUZASv3XPyGkUpKj8pPO47Rmb0eJc8R6ouapiM=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
@@ -163,6 +182,7 @@ github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
@@ -251,8 +271,9 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc=
golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM=
-golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420 h1:a8jGStKg0XqKDlKqjLrXn0ioF5MH36pT7Z0BRTqLhbk=
golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -266,8 +287,10 @@ golang.org/x/oauth2 v0.0.0-20210220000619-9bb904979d93/go.mod h1:KelEdhl1UZF7XfJ
golang.org/x/oauth2 v0.0.0-20210313182246-cd4f82c27b84/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/oauth2 v0.0.0-20210628180205-a41e5a781914/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
-golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a h1:4Kd8OPUx1xgUwrHDaviWZO8MsgoZTZYC3g+8m16RBww=
golang.org/x/oauth2 v0.0.0-20210805134026-6f1e6394065a/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8 h1:RerP+noqYHUQ8CMRcPlC2nvTa4dcBIjegkuWdcUDuqg=
+golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -319,11 +342,20 @@ golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210514084401-e8d321eab015/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210603125802-9665404d3644/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
-golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069 h1:siQdpVirKtzPhKl3lZWozZraCFObP8S1v6PRp0bLrtU=
golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210823070655-63515b42dcdf/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210908233432-aa78b53d3365/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211124211545-fe61309f8881/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211210111614-af8b64212486/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220114195835-da31bd327af9/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158 h1:rm+CHSpPEEW2IsXUib1ThaHIjuBVZjxNgSKmBLFfD4c=
+golang.org/x/sys v0.0.0-20220209214540-3681064d5158/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -331,8 +363,9 @@ golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.6 h1:aRYxNxv6iGQlyVaZmk6ZgYEDa+Jg18DxebPSrd6bg1M=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
@@ -417,8 +450,16 @@ google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59t
google.golang.org/api v0.48.0/go.mod h1:71Pr1vy+TAZRPkPs/xlCf5SsU8WjuAWv1Pfjbtukyy4=
google.golang.org/api v0.50.0/go.mod h1:4bNT5pAuq5ji4SRZm+5QIkjny9JAyVD/3gaSihNefaw=
google.golang.org/api v0.51.0/go.mod h1:t4HdrdoNgyN5cbEfm7Lum0lcLDLiise1F8qDKX00sOU=
-google.golang.org/api v0.54.0 h1:ECJUVngj71QI6XEm7b1sAf8BljU5inEhMbKPR8Lxhhk=
google.golang.org/api v0.54.0/go.mod h1:7C4bFFOvVDGXjfDTAsgGwDgAxRDeQ4X8NvUedIt6z3k=
+google.golang.org/api v0.55.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.56.0/go.mod h1:38yMfeP1kfjsl8isn0tliTjIb1rJXcQi4UXlbqivdVE=
+google.golang.org/api v0.57.0/go.mod h1:dVPlbZyBo2/OjBpmvNdpn2GRm6rPy75jyU7bmhdrMgI=
+google.golang.org/api v0.61.0/go.mod h1:xQRti5UdCmoCEqFxcz93fTl338AVqDgyaDRuOZ3hg9I=
+google.golang.org/api v0.63.0/go.mod h1:gs4ij2ffTRXwuzzgJl/56BdwJaA194ijkfn++9tDuPo=
+google.golang.org/api v0.64.0/go.mod h1:931CdxA8Rm4t6zqTFGSsgwbAEZ2+GMYurbndwSimebM=
+google.golang.org/api v0.66.0/go.mod h1:I1dmXYpX7HGwz/ejRxwQp2qj5bFAz93HiCU1C1oYd9M=
+google.golang.org/api v0.69.0 h1:yHW5s2SFyDapr/43kYtIQmoaaFVW4baLMLwqV4auj2A=
+google.golang.org/api v0.69.0/go.mod h1:boanBiw+h5c3s+tBPgEzLDRHfFLWV0qXxRHz3ws7C80=
google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
@@ -477,8 +518,23 @@ google.golang.org/genproto v0.0.0-20210716133855-ce7ef5c701ea/go.mod h1:AxrInvYm
google.golang.org/genproto v0.0.0-20210728212813-7823e685a01f/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210805201207-89edb61ffb67/go.mod h1:ob2IJxKrgPT52GcgX759i1sleT07tiKowYBGbczaW48=
google.golang.org/genproto v0.0.0-20210813162853-db860fec028c/go.mod h1:cFeNkxwySK631ADgubI+/XFU/xp8FD5KIVV4rj8UC5w=
-google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda h1:iT5uhT54PtbqUsWddv/nnEWdE5e/MTr+Nv3vjxlBP1A=
-google.golang.org/genproto v0.0.0-20210825212027-de86158e7fda/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210821163610-241b8fcbd6c8/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210828152312-66f60bf46e71/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210831024726-fe130286e0e2/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210903162649-d08c68adba83/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210909211513-a8c4777a87af/go.mod h1:eFjDcFEctNawg4eG61bRv87N7iHBWyVhJu7u1kqDUXY=
+google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211206160659-862468c7d6e0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211208223120-3a66f561d7aa/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211221195035-429b39de9b1c/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20211223182754-3ac035c7e7cb/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220111164026-67b88f271998/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220114231437-d2e6a121cae0/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220201184016-50beb8ab5c44/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc=
+google.golang.org/genproto v0.0.0-20220211171837-173942840c17/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
+google.golang.org/genproto v0.0.0-20220216160803-4663080d8bc8 h1:divpuJZKgX3Qt7MFDE5v62yu0yQcQbTCD9VJp9leX58=
+google.golang.org/genproto v0.0.0-20220216160803-4663080d8bc8/go.mod h1:kGP+zUP2Ddo0ayMi4YuN7C3WZyJvGLZRh8Z5wnAqvEI=
google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
@@ -503,8 +559,10 @@ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ
google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM=
google.golang.org/grpc v1.39.0/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
google.golang.org/grpc v1.39.1/go.mod h1:PImNr+rS9TWYb2O4/emRugxiyHZ5JyHW5F+RPnDzfrE=
-google.golang.org/grpc v1.40.0 h1:AGJ0Ih4mHjSeibYkFGh1dD9KJ/eOtZ93I6hoHhukQ5Q=
google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.40.1/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34=
+google.golang.org/grpc v1.44.0 h1:weqSxi/TMs1SqFRMHCtBgXRs8k3X39QIDEZ0pRcttUg=
+google.golang.org/grpc v1.44.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU=
google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw=
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
diff --git a/vendor/cloud.google.com/go/storage/hmac.go b/vendor/cloud.google.com/go/storage/hmac.go
index 7d8185f37..6f834d4e9 100644
--- a/vendor/cloud.google.com/go/storage/hmac.go
+++ b/vendor/cloud.google.com/go/storage/hmac.go
@@ -89,8 +89,8 @@ type HMACKey struct {
type HMACKeyHandle struct {
projectID string
accessID string
-
- raw *raw.ProjectsHmacKeysService
+ retry *retryConfig
+ raw *raw.ProjectsHmacKeysService
}
// HMACKeyHandle creates a handle that will be used for HMACKey operations.
@@ -100,6 +100,7 @@ func (c *Client) HMACKeyHandle(projectID, accessID string) *HMACKeyHandle {
return &HMACKeyHandle{
projectID: projectID,
accessID: accessID,
+ retry: c.retry,
raw: raw.NewProjectsHmacKeysService(c.raw),
}
}
@@ -126,10 +127,10 @@ func (hkh *HMACKeyHandle) Get(ctx context.Context, opts ...HMACKeyOption) (*HMAC
var metadata *raw.HmacKeyMetadata
var err error
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
metadata, err = call.Context(ctx).Do()
return err
- })
+ }, hkh.retry, true)
if err != nil {
return nil, err
}
@@ -156,9 +157,9 @@ func (hkh *HMACKeyHandle) Delete(ctx context.Context, opts ...HMACKeyOption) err
}
setClientHeader(delCall.Header())
- return runWithRetry(ctx, func() error {
+ return run(ctx, func() error {
return delCall.Context(ctx).Do()
- })
+ }, hkh.retry, true)
}
func pbHmacKeyToHMACKey(pb *raw.HmacKey, updatedTimeCanBeNil bool) (*HMACKey, error) {
@@ -215,12 +216,12 @@ func (c *Client) CreateHMACKey(ctx context.Context, projectID, serviceAccountEma
setClientHeader(call.Header())
var hkPb *raw.HmacKey
- var err error
- err = runWithRetry(ctx, func() error {
- hkPb, err = call.Context(ctx).Do()
+
+ if err := run(ctx, func() error {
+ h, err := call.Context(ctx).Do()
+ hkPb = h
return err
- })
- if err != nil {
+ }, c.retry, false); err != nil {
return nil, err
}
@@ -262,10 +263,11 @@ func (h *HMACKeyHandle) Update(ctx context.Context, au HMACKeyAttrsToUpdate, opt
var metadata *raw.HmacKeyMetadata
var err error
- err = runWithRetry(ctx, func() error {
+ isIdempotent := len(au.Etag) > 0
+ err = run(ctx, func() error {
metadata, err = call.Context(ctx).Do()
return err
- })
+ }, h.retry, isIdempotent)
if err != nil {
return nil, err
@@ -290,6 +292,7 @@ type HMACKeysIterator struct {
nextFunc func() error
index int
desc hmacKeyDesc
+ retry *retryConfig
}
// ListHMACKeys returns an iterator for listing HMACKeys.
@@ -302,6 +305,7 @@ func (c *Client) ListHMACKeys(ctx context.Context, projectID string, opts ...HMA
ctx: ctx,
raw: raw.NewProjectsHmacKeysService(c.raw),
projectID: projectID,
+ retry: c.retry,
}
for _, opt := range opts {
@@ -366,10 +370,10 @@ func (it *HMACKeysIterator) fetch(pageSize int, pageToken string) (token string,
ctx := it.ctx
var resp *raw.HmacKeysMetadata
- err = runWithRetry(it.ctx, func() error {
+ err = run(it.ctx, func() error {
resp, err = call.Context(ctx).Do()
return err
- })
+ }, it.retry, true)
if err != nil {
return "", err
}
diff --git a/vendor/cloud.google.com/go/storage/iam.go b/vendor/cloud.google.com/go/storage/iam.go
index 5caefb059..a870ab8ee 100644
--- a/vendor/cloud.google.com/go/storage/iam.go
+++ b/vendor/cloud.google.com/go/storage/iam.go
@@ -29,6 +29,7 @@ func (b *BucketHandle) IAM() *iam.Handle {
return iam.InternalNewHandleClient(&iamClient{
raw: b.c.raw,
userProject: b.userProject,
+ retry: b.retry,
}, b.name)
}
@@ -36,6 +37,7 @@ func (b *BucketHandle) IAM() *iam.Handle {
type iamClient struct {
raw *raw.Service
userProject string
+ retry *retryConfig
}
func (c *iamClient) Get(ctx context.Context, resource string) (p *iampb.Policy, err error) {
@@ -52,10 +54,10 @@ func (c *iamClient) GetWithVersion(ctx context.Context, resource string, request
call.UserProject(c.userProject)
}
var rp *raw.Policy
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
rp, err = call.Context(ctx).Do()
return err
- })
+ }, c.retry, true)
if err != nil {
return nil, err
}
@@ -72,10 +74,11 @@ func (c *iamClient) Set(ctx context.Context, resource string, p *iampb.Policy) (
if c.userProject != "" {
call.UserProject(c.userProject)
}
- return runWithRetry(ctx, func() error {
+ isIdempotent := len(p.Etag) > 0
+ return run(ctx, func() error {
_, err := call.Context(ctx).Do()
return err
- })
+ }, c.retry, isIdempotent)
}
func (c *iamClient) Test(ctx context.Context, resource string, perms []string) (permissions []string, err error) {
@@ -88,10 +91,10 @@ func (c *iamClient) Test(ctx context.Context, resource string, perms []string) (
call.UserProject(c.userProject)
}
var res *raw.TestIamPermissionsResponse
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
res, err = call.Context(ctx).Do()
return err
- })
+ }, c.retry, true)
if err != nil {
return nil, err
}
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
index 03f6c4a65..e01ae492b 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/doc.go
@@ -1,4 +1,4 @@
-// Copyright 2021 Google LLC
+// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -39,6 +39,22 @@
//
// The following is an example of making an API call with the newly created client.
//
+// ctx := context.Background()
+// c, err := storage.NewClient(ctx)
+// if err != nil {
+// // TODO: Handle error.
+// }
+// defer c.Close()
+//
+// req := &storagepb.DeleteBucketRequest{
+// // TODO: Fill request struct fields.
+// // See https://pkg.go.dev/google.golang.org/genproto/googleapis/storage/v2#DeleteBucketRequest.
+// }
+// err = c.DeleteBucket(ctx, req)
+// if err != nil {
+// // TODO: Handle error.
+// }
+//
// Use of Context
//
// The ctx passed to NewClient is used for authentication requests and
@@ -68,7 +84,7 @@ import (
type clientHookParams struct{}
type clientHook func(context.Context, clientHookParams) ([]option.ClientOption, error)
-const versionClient = "20210821"
+const versionClient = "20220216"
func insertMetadata(ctx context.Context, mds ...metadata.MD) context.Context {
out, _ := metadata.FromOutgoingContext(ctx)
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/gapic_metadata.json b/vendor/cloud.google.com/go/storage/internal/apiv2/gapic_metadata.json
index 5f7961b15..355215ed4 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/gapic_metadata.json
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/gapic_metadata.json
@@ -10,6 +10,101 @@
"grpc": {
"libraryClient": "Client",
"rpcs": {
+ "ComposeObject": {
+ "methods": [
+ "ComposeObject"
+ ]
+ },
+ "CreateBucket": {
+ "methods": [
+ "CreateBucket"
+ ]
+ },
+ "CreateHmacKey": {
+ "methods": [
+ "CreateHmacKey"
+ ]
+ },
+ "CreateNotification": {
+ "methods": [
+ "CreateNotification"
+ ]
+ },
+ "DeleteBucket": {
+ "methods": [
+ "DeleteBucket"
+ ]
+ },
+ "DeleteHmacKey": {
+ "methods": [
+ "DeleteHmacKey"
+ ]
+ },
+ "DeleteNotification": {
+ "methods": [
+ "DeleteNotification"
+ ]
+ },
+ "DeleteObject": {
+ "methods": [
+ "DeleteObject"
+ ]
+ },
+ "GetBucket": {
+ "methods": [
+ "GetBucket"
+ ]
+ },
+ "GetHmacKey": {
+ "methods": [
+ "GetHmacKey"
+ ]
+ },
+ "GetIamPolicy": {
+ "methods": [
+ "GetIamPolicy"
+ ]
+ },
+ "GetNotification": {
+ "methods": [
+ "GetNotification"
+ ]
+ },
+ "GetObject": {
+ "methods": [
+ "GetObject"
+ ]
+ },
+ "GetServiceAccount": {
+ "methods": [
+ "GetServiceAccount"
+ ]
+ },
+ "ListBuckets": {
+ "methods": [
+ "ListBuckets"
+ ]
+ },
+ "ListHmacKeys": {
+ "methods": [
+ "ListHmacKeys"
+ ]
+ },
+ "ListNotifications": {
+ "methods": [
+ "ListNotifications"
+ ]
+ },
+ "ListObjects": {
+ "methods": [
+ "ListObjects"
+ ]
+ },
+ "LockBucketRetentionPolicy": {
+ "methods": [
+ "LockBucketRetentionPolicy"
+ ]
+ },
"QueryWriteStatus": {
"methods": [
"QueryWriteStatus"
@@ -20,11 +115,41 @@
"ReadObject"
]
},
+ "RewriteObject": {
+ "methods": [
+ "RewriteObject"
+ ]
+ },
+ "SetIamPolicy": {
+ "methods": [
+ "SetIamPolicy"
+ ]
+ },
"StartResumableWrite": {
"methods": [
"StartResumableWrite"
]
},
+ "TestIamPermissions": {
+ "methods": [
+ "TestIamPermissions"
+ ]
+ },
+ "UpdateBucket": {
+ "methods": [
+ "UpdateBucket"
+ ]
+ },
+ "UpdateHmacKey": {
+ "methods": [
+ "UpdateHmacKey"
+ ]
+ },
+ "UpdateObject": {
+ "methods": [
+ "UpdateObject"
+ ]
+ },
"WriteObject": {
"methods": [
"WriteObject"
diff --git a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
index 20c2121d8..8507a0c0f 100644
--- a/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
+++ b/vendor/cloud.google.com/go/storage/internal/apiv2/storage_client.go
@@ -1,4 +1,4 @@
-// Copyright 2021 Google LLC
+// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -22,23 +22,51 @@ import (
"time"
gax "github.com/googleapis/gax-go/v2"
+ "google.golang.org/api/iterator"
"google.golang.org/api/option"
"google.golang.org/api/option/internaloption"
gtransport "google.golang.org/api/transport/grpc"
+ iampb "google.golang.org/genproto/googleapis/iam/v1"
storagepb "google.golang.org/genproto/googleapis/storage/v2"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/metadata"
+ "google.golang.org/protobuf/proto"
)
var newClientHook clientHook
// CallOptions contains the retry settings for each method of Client.
type CallOptions struct {
- ReadObject []gax.CallOption
- WriteObject []gax.CallOption
- StartResumableWrite []gax.CallOption
- QueryWriteStatus []gax.CallOption
+ DeleteBucket []gax.CallOption
+ GetBucket []gax.CallOption
+ CreateBucket []gax.CallOption
+ ListBuckets []gax.CallOption
+ LockBucketRetentionPolicy []gax.CallOption
+ GetIamPolicy []gax.CallOption
+ SetIamPolicy []gax.CallOption
+ TestIamPermissions []gax.CallOption
+ UpdateBucket []gax.CallOption
+ DeleteNotification []gax.CallOption
+ GetNotification []gax.CallOption
+ CreateNotification []gax.CallOption
+ ListNotifications []gax.CallOption
+ ComposeObject []gax.CallOption
+ DeleteObject []gax.CallOption
+ GetObject []gax.CallOption
+ ReadObject []gax.CallOption
+ UpdateObject []gax.CallOption
+ WriteObject []gax.CallOption
+ ListObjects []gax.CallOption
+ RewriteObject []gax.CallOption
+ StartResumableWrite []gax.CallOption
+ QueryWriteStatus []gax.CallOption
+ GetServiceAccount []gax.CallOption
+ CreateHmacKey []gax.CallOption
+ DeleteHmacKey []gax.CallOption
+ GetHmacKey []gax.CallOption
+ ListHmacKeys []gax.CallOption
+ UpdateHmacKey []gax.CallOption
}
func defaultGRPCClientOptions() []option.ClientOption {
@@ -48,7 +76,6 @@ func defaultGRPCClientOptions() []option.ClientOption {
internaloption.WithDefaultAudience("https://storage.googleapis.com/"),
internaloption.WithDefaultScopes(DefaultAuthScopes()...),
internaloption.EnableJwtWithScope(),
- option.WithGRPCDialOption(grpc.WithDisableServiceConfig()),
option.WithGRPCDialOption(grpc.WithDefaultCallOptions(
grpc.MaxCallRecvMsgSize(math.MaxInt32))),
}
@@ -56,6 +83,198 @@ func defaultGRPCClientOptions() []option.ClientOption {
func defaultCallOptions() *CallOptions {
return &CallOptions{
+ DeleteBucket: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ GetBucket: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ CreateBucket: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ ListBuckets: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ LockBucketRetentionPolicy: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ GetIamPolicy: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ SetIamPolicy: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ TestIamPermissions: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ UpdateBucket: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ DeleteNotification: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ GetNotification: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ CreateNotification: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ ListNotifications: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ ComposeObject: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ DeleteObject: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ GetObject: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
ReadObject: []gax.CallOption{
gax.WithRetry(func() gax.Retryer {
return gax.OnCodes([]codes.Code{
@@ -68,6 +287,18 @@ func defaultCallOptions() *CallOptions {
})
}),
},
+ UpdateObject: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
WriteObject: []gax.CallOption{
gax.WithRetry(func() gax.Retryer {
return gax.OnCodes([]codes.Code{
@@ -80,6 +311,30 @@ func defaultCallOptions() *CallOptions {
})
}),
},
+ ListObjects: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ RewriteObject: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
StartResumableWrite: []gax.CallOption{
gax.WithRetry(func() gax.Retryer {
return gax.OnCodes([]codes.Code{
@@ -104,6 +359,78 @@ func defaultCallOptions() *CallOptions {
})
}),
},
+ GetServiceAccount: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ CreateHmacKey: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ DeleteHmacKey: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ GetHmacKey: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ ListHmacKeys: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
+ UpdateHmacKey: []gax.CallOption{
+ gax.WithRetry(func() gax.Retryer {
+ return gax.OnCodes([]codes.Code{
+ codes.DeadlineExceeded,
+ codes.Unavailable,
+ }, gax.Backoff{
+ Initial: 1000 * time.Millisecond,
+ Max: 60000 * time.Millisecond,
+ Multiplier: 2.00,
+ })
+ }),
+ },
}
}
@@ -112,16 +439,62 @@ type internalClient interface {
Close() error
setGoogleClientInfo(...string)
Connection() *grpc.ClientConn
+ DeleteBucket(context.Context, *storagepb.DeleteBucketRequest, ...gax.CallOption) error
+ GetBucket(context.Context, *storagepb.GetBucketRequest, ...gax.CallOption) (*storagepb.Bucket, error)
+ CreateBucket(context.Context, *storagepb.CreateBucketRequest, ...gax.CallOption) (*storagepb.Bucket, error)
+ ListBuckets(context.Context, *storagepb.ListBucketsRequest, ...gax.CallOption) *BucketIterator
+ LockBucketRetentionPolicy(context.Context, *storagepb.LockBucketRetentionPolicyRequest, ...gax.CallOption) (*storagepb.Bucket, error)
+ GetIamPolicy(context.Context, *iampb.GetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
+ SetIamPolicy(context.Context, *iampb.SetIamPolicyRequest, ...gax.CallOption) (*iampb.Policy, error)
+ TestIamPermissions(context.Context, *iampb.TestIamPermissionsRequest, ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error)
+ UpdateBucket(context.Context, *storagepb.UpdateBucketRequest, ...gax.CallOption) (*storagepb.Bucket, error)
+ DeleteNotification(context.Context, *storagepb.DeleteNotificationRequest, ...gax.CallOption) error
+ GetNotification(context.Context, *storagepb.GetNotificationRequest, ...gax.CallOption) (*storagepb.Notification, error)
+ CreateNotification(context.Context, *storagepb.CreateNotificationRequest, ...gax.CallOption) (*storagepb.Notification, error)
+ ListNotifications(context.Context, *storagepb.ListNotificationsRequest, ...gax.CallOption) *NotificationIterator
+ ComposeObject(context.Context, *storagepb.ComposeObjectRequest, ...gax.CallOption) (*storagepb.Object, error)
+ DeleteObject(context.Context, *storagepb.DeleteObjectRequest, ...gax.CallOption) error
+ GetObject(context.Context, *storagepb.GetObjectRequest, ...gax.CallOption) (*storagepb.Object, error)
ReadObject(context.Context, *storagepb.ReadObjectRequest, ...gax.CallOption) (storagepb.Storage_ReadObjectClient, error)
+ UpdateObject(context.Context, *storagepb.UpdateObjectRequest, ...gax.CallOption) (*storagepb.Object, error)
WriteObject(context.Context, ...gax.CallOption) (storagepb.Storage_WriteObjectClient, error)
+ ListObjects(context.Context, *storagepb.ListObjectsRequest, ...gax.CallOption) *ObjectIterator
+ RewriteObject(context.Context, *storagepb.RewriteObjectRequest, ...gax.CallOption) (*storagepb.RewriteResponse, error)
StartResumableWrite(context.Context, *storagepb.StartResumableWriteRequest, ...gax.CallOption) (*storagepb.StartResumableWriteResponse, error)
QueryWriteStatus(context.Context, *storagepb.QueryWriteStatusRequest, ...gax.CallOption) (*storagepb.QueryWriteStatusResponse, error)
+ GetServiceAccount(context.Context, *storagepb.GetServiceAccountRequest, ...gax.CallOption) (*storagepb.ServiceAccount, error)
+ CreateHmacKey(context.Context, *storagepb.CreateHmacKeyRequest, ...gax.CallOption) (*storagepb.CreateHmacKeyResponse, error)
+ DeleteHmacKey(context.Context, *storagepb.DeleteHmacKeyRequest, ...gax.CallOption) error
+ GetHmacKey(context.Context, *storagepb.GetHmacKeyRequest, ...gax.CallOption) (*storagepb.HmacKeyMetadata, error)
+ ListHmacKeys(context.Context, *storagepb.ListHmacKeysRequest, ...gax.CallOption) *HmacKeyMetadataIterator
+ UpdateHmacKey(context.Context, *storagepb.UpdateHmacKeyRequest, ...gax.CallOption) (*storagepb.HmacKeyMetadata, error)
}
// Client is a client for interacting with Cloud Storage API.
// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
//
-// Manages Google Cloud Storage resources.
+// API Overview and Naming SyntaxThe Cloud Storage gRPC API allows applications to read and write data through
+// the abstractions of buckets and objects. For a description of these
+// abstractions please see https://cloud.google.com/storage/docs (at https://cloud.google.com/storage/docs).
+//
+// Resources are named as follows:
+//
+// Projects are referred to as they are defined by the Resource Manager API,
+// using strings like projects/123456 or projects/my-string-id.
+//
+// Buckets are named using string names of the form:
+// projects/{project}/buckets/{bucket}
+// For globally unique buckets, _ may be substituted for the project.
+//
+// Objects are uniquely identified by their name along with the name of the
+// bucket they belong to, as separate strings in this API. For example:
+//
+// ReadObjectRequest {
+// bucket: ‘projects/_/buckets/my-bucket’
+// object: ‘my-object’
+// }
+// Note that object names can contain / characters, which are treated as
+// any other character (no special directory semantics).
type Client struct {
// The internal transport-dependent client.
internalClient internalClient
@@ -138,18 +511,105 @@ func (c *Client) Close() error {
return c.internalClient.Close()
}
-// setGoogleClientInfo sets the name and version of the application in
-// the `x-goog-api-client` header passed on each request. Intended for
-// use by Google-written clients.
-func (c *Client) setGoogleClientInfo(keyval ...string) {
- c.internalClient.setGoogleClientInfo(keyval...)
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *Client) setGoogleClientInfo(keyval ...string) {
+ c.internalClient.setGoogleClientInfo(keyval...)
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated.
+func (c *Client) Connection() *grpc.ClientConn {
+ return c.internalClient.Connection()
+}
+
+// DeleteBucket permanently deletes an empty bucket.
+func (c *Client) DeleteBucket(ctx context.Context, req *storagepb.DeleteBucketRequest, opts ...gax.CallOption) error {
+ return c.internalClient.DeleteBucket(ctx, req, opts...)
+}
+
+// GetBucket returns metadata for the specified bucket.
+func (c *Client) GetBucket(ctx context.Context, req *storagepb.GetBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ return c.internalClient.GetBucket(ctx, req, opts...)
+}
+
+// CreateBucket creates a new bucket.
+func (c *Client) CreateBucket(ctx context.Context, req *storagepb.CreateBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ return c.internalClient.CreateBucket(ctx, req, opts...)
+}
+
+// ListBuckets retrieves a list of buckets for a given project.
+func (c *Client) ListBuckets(ctx context.Context, req *storagepb.ListBucketsRequest, opts ...gax.CallOption) *BucketIterator {
+ return c.internalClient.ListBuckets(ctx, req, opts...)
+}
+
+// LockBucketRetentionPolicy locks retention policy on a bucket.
+func (c *Client) LockBucketRetentionPolicy(ctx context.Context, req *storagepb.LockBucketRetentionPolicyRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ return c.internalClient.LockBucketRetentionPolicy(ctx, req, opts...)
+}
+
+// GetIamPolicy gets the IAM policy for a specified bucket.
+func (c *Client) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
+ return c.internalClient.GetIamPolicy(ctx, req, opts...)
+}
+
+// SetIamPolicy updates an IAM policy for the specified bucket.
+func (c *Client) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
+ return c.internalClient.SetIamPolicy(ctx, req, opts...)
+}
+
+// TestIamPermissions tests a set of permissions on the given bucket to see which, if
+// any, are held by the caller.
+func (c *Client) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
+ return c.internalClient.TestIamPermissions(ctx, req, opts...)
+}
+
+// UpdateBucket updates a bucket. Equivalent to JSON API’s storage.buckets.patch method.
+func (c *Client) UpdateBucket(ctx context.Context, req *storagepb.UpdateBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ return c.internalClient.UpdateBucket(ctx, req, opts...)
+}
+
+// DeleteNotification permanently deletes a notification subscription.
+func (c *Client) DeleteNotification(ctx context.Context, req *storagepb.DeleteNotificationRequest, opts ...gax.CallOption) error {
+ return c.internalClient.DeleteNotification(ctx, req, opts...)
+}
+
+// GetNotification view a notification config.
+func (c *Client) GetNotification(ctx context.Context, req *storagepb.GetNotificationRequest, opts ...gax.CallOption) (*storagepb.Notification, error) {
+ return c.internalClient.GetNotification(ctx, req, opts...)
+}
+
+// CreateNotification creates a notification subscription for a given bucket.
+// These notifications, when triggered, publish messages to the specified
+// Pub/Sub topics.
+// See https://cloud.google.com/storage/docs/pubsub-notifications (at https://cloud.google.com/storage/docs/pubsub-notifications).
+func (c *Client) CreateNotification(ctx context.Context, req *storagepb.CreateNotificationRequest, opts ...gax.CallOption) (*storagepb.Notification, error) {
+ return c.internalClient.CreateNotification(ctx, req, opts...)
+}
+
+// ListNotifications retrieves a list of notification subscriptions for a given bucket.
+func (c *Client) ListNotifications(ctx context.Context, req *storagepb.ListNotificationsRequest, opts ...gax.CallOption) *NotificationIterator {
+ return c.internalClient.ListNotifications(ctx, req, opts...)
+}
+
+// ComposeObject concatenates a list of existing objects into a new object in the same
+// bucket.
+func (c *Client) ComposeObject(ctx context.Context, req *storagepb.ComposeObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ return c.internalClient.ComposeObject(ctx, req, opts...)
}
-// Connection returns a connection to the API service.
-//
-// Deprecated.
-func (c *Client) Connection() *grpc.ClientConn {
- return c.internalClient.Connection()
+// DeleteObject deletes an object and its metadata. Deletions are permanent if versioning
+// is not enabled for the bucket, or if the generation parameter
+// is used.
+func (c *Client) DeleteObject(ctx context.Context, req *storagepb.DeleteObjectRequest, opts ...gax.CallOption) error {
+ return c.internalClient.DeleteObject(ctx, req, opts...)
+}
+
+// GetObject retrieves an object’s metadata.
+func (c *Client) GetObject(ctx context.Context, req *storagepb.GetObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ return c.internalClient.GetObject(ctx, req, opts...)
}
// ReadObject reads an object’s data.
@@ -157,6 +617,12 @@ func (c *Client) ReadObject(ctx context.Context, req *storagepb.ReadObjectReques
return c.internalClient.ReadObject(ctx, req, opts...)
}
+// UpdateObject updates an object’s metadata.
+// Equivalent to JSON API’s storage.objects.patch.
+func (c *Client) UpdateObject(ctx context.Context, req *storagepb.UpdateObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ return c.internalClient.UpdateObject(ctx, req, opts...)
+}
+
// WriteObject stores a new object and metadata.
//
// An object can be written either in a single message stream or in a
@@ -172,7 +638,7 @@ func (c *Client) ReadObject(ctx context.Context, req *storagepb.ReadObjectReques
// each following call to Create. If there is an error or the connection is
// broken during the resumable Create(), the client should check the status
// of the Create() by calling QueryWriteStatus() and continue writing from
-// the returned committed_size. This may be less than the amount of data the
+// the returned persisted_size. This may be less than the amount of data the
// client previously sent.
//
// The service will not view the object as complete until the client has
@@ -185,6 +651,17 @@ func (c *Client) WriteObject(ctx context.Context, opts ...gax.CallOption) (stora
return c.internalClient.WriteObject(ctx, opts...)
}
+// ListObjects retrieves a list of objects matching the criteria.
+func (c *Client) ListObjects(ctx context.Context, req *storagepb.ListObjectsRequest, opts ...gax.CallOption) *ObjectIterator {
+ return c.internalClient.ListObjects(ctx, req, opts...)
+}
+
+// RewriteObject rewrites a source object to a destination object. Optionally overrides
+// metadata.
+func (c *Client) RewriteObject(ctx context.Context, req *storagepb.RewriteObjectRequest, opts ...gax.CallOption) (*storagepb.RewriteResponse, error) {
+ return c.internalClient.RewriteObject(ctx, req, opts...)
+}
+
// StartResumableWrite starts a resumable write. How long the write operation remains valid, and
// what happens when the write operation becomes invalid, are
// service-dependent.
@@ -192,7 +669,7 @@ func (c *Client) StartResumableWrite(ctx context.Context, req *storagepb.StartRe
return c.internalClient.StartResumableWrite(ctx, req, opts...)
}
-// QueryWriteStatus determines the committed_size for an object that is being written, which
+// QueryWriteStatus determines the persisted_size for an object that is being written, which
// can then be used as the write_offset for the next Write() call.
//
// If the object does not exist (i.e., the object has been deleted, or the
@@ -203,12 +680,42 @@ func (c *Client) StartResumableWrite(ctx context.Context, req *storagepb.StartRe
// much data has been processed for this object. This is useful if the
// client is buffering data and needs to know which data can be safely
// evicted. For any sequence of QueryWriteStatus() calls for a given
-// object name, the sequence of returned committed_size values will be
+// object name, the sequence of returned persisted_size values will be
// non-decreasing.
func (c *Client) QueryWriteStatus(ctx context.Context, req *storagepb.QueryWriteStatusRequest, opts ...gax.CallOption) (*storagepb.QueryWriteStatusResponse, error) {
return c.internalClient.QueryWriteStatus(ctx, req, opts...)
}
+// GetServiceAccount retrieves the name of a project’s Google Cloud Storage service account.
+func (c *Client) GetServiceAccount(ctx context.Context, req *storagepb.GetServiceAccountRequest, opts ...gax.CallOption) (*storagepb.ServiceAccount, error) {
+ return c.internalClient.GetServiceAccount(ctx, req, opts...)
+}
+
+// CreateHmacKey creates a new HMAC key for the given service account.
+func (c *Client) CreateHmacKey(ctx context.Context, req *storagepb.CreateHmacKeyRequest, opts ...gax.CallOption) (*storagepb.CreateHmacKeyResponse, error) {
+ return c.internalClient.CreateHmacKey(ctx, req, opts...)
+}
+
+// DeleteHmacKey deletes a given HMAC key. Key must be in an INACTIVE state.
+func (c *Client) DeleteHmacKey(ctx context.Context, req *storagepb.DeleteHmacKeyRequest, opts ...gax.CallOption) error {
+ return c.internalClient.DeleteHmacKey(ctx, req, opts...)
+}
+
+// GetHmacKey gets an existing HMAC key metadata for the given id.
+func (c *Client) GetHmacKey(ctx context.Context, req *storagepb.GetHmacKeyRequest, opts ...gax.CallOption) (*storagepb.HmacKeyMetadata, error) {
+ return c.internalClient.GetHmacKey(ctx, req, opts...)
+}
+
+// ListHmacKeys lists HMAC keys under a given project with the additional filters provided.
+func (c *Client) ListHmacKeys(ctx context.Context, req *storagepb.ListHmacKeysRequest, opts ...gax.CallOption) *HmacKeyMetadataIterator {
+ return c.internalClient.ListHmacKeys(ctx, req, opts...)
+}
+
+// UpdateHmacKey updates a given HMAC key state between ACTIVE and INACTIVE.
+func (c *Client) UpdateHmacKey(ctx context.Context, req *storagepb.UpdateHmacKeyRequest, opts ...gax.CallOption) (*storagepb.HmacKeyMetadata, error) {
+ return c.internalClient.UpdateHmacKey(ctx, req, opts...)
+}
+
// gRPCClient is a client for interacting with Cloud Storage API over gRPC transport.
//
// Methods, except Close, may be called concurrently. However, fields must not be modified concurrently with method calls.
@@ -232,7 +739,28 @@ type gRPCClient struct {
// NewClient creates a new storage client based on gRPC.
// The returned client must be Closed when it is done being used to clean up its underlying connections.
//
-// Manages Google Cloud Storage resources.
+// API Overview and Naming SyntaxThe Cloud Storage gRPC API allows applications to read and write data through
+// the abstractions of buckets and objects. For a description of these
+// abstractions please see https://cloud.google.com/storage/docs (at https://cloud.google.com/storage/docs).
+//
+// Resources are named as follows:
+//
+// Projects are referred to as they are defined by the Resource Manager API,
+// using strings like projects/123456 or projects/my-string-id.
+//
+// Buckets are named using string names of the form:
+// projects/{project}/buckets/{bucket}
+// For globally unique buckets, _ may be substituted for the project.
+//
+// Objects are uniquely identified by their name along with the name of the
+// bucket they belong to, as separate strings in this API. For example:
+//
+// ReadObjectRequest {
+// bucket: ‘projects/_/buckets/my-bucket’
+// object: ‘my-object’
+// }
+// Note that object names can contain / characters, which are treated as
+// any other character (no special directory semantics).
func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) {
clientOpts := defaultGRPCClientOptions()
if newClientHook != nil {
@@ -254,39 +782,393 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error
}
client := Client{CallOptions: defaultCallOptions()}
- c := &gRPCClient{
- connPool: connPool,
- disableDeadlines: disableDeadlines,
- client: storagepb.NewStorageClient(connPool),
- CallOptions: &client.CallOptions,
+ c := &gRPCClient{
+ connPool: connPool,
+ disableDeadlines: disableDeadlines,
+ client: storagepb.NewStorageClient(connPool),
+ CallOptions: &client.CallOptions,
+ }
+ c.setGoogleClientInfo()
+
+ client.internalClient = c
+
+ return &client, nil
+}
+
+// Connection returns a connection to the API service.
+//
+// Deprecated.
+func (c *gRPCClient) Connection() *grpc.ClientConn {
+ return c.connPool.Conn()
+}
+
+// setGoogleClientInfo sets the name and version of the application in
+// the `x-goog-api-client` header passed on each request. Intended for
+// use by Google-written clients.
+func (c *gRPCClient) setGoogleClientInfo(keyval ...string) {
+ kv := append([]string{"gl-go", versionGo()}, keyval...)
+ kv = append(kv, "gapic", versionClient, "gax", gax.Version, "grpc", grpc.Version)
+ c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
+}
+
+// Close closes the connection to the API service. The user should invoke this when
+// the client is no longer required.
+func (c *gRPCClient) Close() error {
+ return c.connPool.Close()
+}
+
+func (c *gRPCClient) DeleteBucket(ctx context.Context, req *storagepb.DeleteBucketRequest, opts ...gax.CallOption) error {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).DeleteBucket[0:len((*c.CallOptions).DeleteBucket):len((*c.CallOptions).DeleteBucket)], opts...)
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ _, err = c.client.DeleteBucket(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ return err
+}
+
+func (c *gRPCClient) GetBucket(ctx context.Context, req *storagepb.GetBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetBucket[0:len((*c.CallOptions).GetBucket):len((*c.CallOptions).GetBucket)], opts...)
+ var resp *storagepb.Bucket
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetBucket(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) CreateBucket(ctx context.Context, req *storagepb.CreateBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).CreateBucket[0:len((*c.CallOptions).CreateBucket):len((*c.CallOptions).CreateBucket)], opts...)
+ var resp *storagepb.Bucket
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.CreateBucket(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) ListBuckets(ctx context.Context, req *storagepb.ListBucketsRequest, opts ...gax.CallOption) *BucketIterator {
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).ListBuckets[0:len((*c.CallOptions).ListBuckets):len((*c.CallOptions).ListBuckets)], opts...)
+ it := &BucketIterator{}
+ req = proto.Clone(req).(*storagepb.ListBucketsRequest)
+ it.InternalFetch = func(pageSize int, pageToken string) ([]*storagepb.Bucket, string, error) {
+ resp := &storagepb.ListBucketsResponse{}
+ if pageToken != "" {
+ req.PageToken = pageToken
+ }
+ if pageSize > math.MaxInt32 {
+ req.PageSize = math.MaxInt32
+ } else if pageSize != 0 {
+ req.PageSize = int32(pageSize)
+ }
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.ListBuckets(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, "", err
+ }
+
+ it.Response = resp
+ return resp.GetBuckets(), resp.GetNextPageToken(), nil
+ }
+ fetch := func(pageSize int, pageToken string) (string, error) {
+ items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ it.items = append(it.items, items...)
+ return nextPageToken, nil
+ }
+
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
+ it.pageInfo.MaxSize = int(req.GetPageSize())
+ it.pageInfo.Token = req.GetPageToken()
+
+ return it
+}
+
+func (c *gRPCClient) LockBucketRetentionPolicy(ctx context.Context, req *storagepb.LockBucketRetentionPolicyRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).LockBucketRetentionPolicy[0:len((*c.CallOptions).LockBucketRetentionPolicy):len((*c.CallOptions).LockBucketRetentionPolicy)], opts...)
+ var resp *storagepb.Bucket
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.LockBucketRetentionPolicy(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) GetIamPolicy(ctx context.Context, req *iampb.GetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetIamPolicy[0:len((*c.CallOptions).GetIamPolicy):len((*c.CallOptions).GetIamPolicy)], opts...)
+ var resp *iampb.Policy
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetIamPolicy(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) SetIamPolicy(ctx context.Context, req *iampb.SetIamPolicyRequest, opts ...gax.CallOption) (*iampb.Policy, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).SetIamPolicy[0:len((*c.CallOptions).SetIamPolicy):len((*c.CallOptions).SetIamPolicy)], opts...)
+ var resp *iampb.Policy
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.SetIamPolicy(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) TestIamPermissions(ctx context.Context, req *iampb.TestIamPermissionsRequest, opts ...gax.CallOption) (*iampb.TestIamPermissionsResponse, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).TestIamPermissions[0:len((*c.CallOptions).TestIamPermissions):len((*c.CallOptions).TestIamPermissions)], opts...)
+ var resp *iampb.TestIamPermissionsResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.TestIamPermissions(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) UpdateBucket(ctx context.Context, req *storagepb.UpdateBucketRequest, opts ...gax.CallOption) (*storagepb.Bucket, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).UpdateBucket[0:len((*c.CallOptions).UpdateBucket):len((*c.CallOptions).UpdateBucket)], opts...)
+ var resp *storagepb.Bucket
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.UpdateBucket(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) DeleteNotification(ctx context.Context, req *storagepb.DeleteNotificationRequest, opts ...gax.CallOption) error {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).DeleteNotification[0:len((*c.CallOptions).DeleteNotification):len((*c.CallOptions).DeleteNotification)], opts...)
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ _, err = c.client.DeleteNotification(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ return err
+}
+
+func (c *gRPCClient) GetNotification(ctx context.Context, req *storagepb.GetNotificationRequest, opts ...gax.CallOption) (*storagepb.Notification, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetNotification[0:len((*c.CallOptions).GetNotification):len((*c.CallOptions).GetNotification)], opts...)
+ var resp *storagepb.Notification
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetNotification(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) CreateNotification(ctx context.Context, req *storagepb.CreateNotificationRequest, opts ...gax.CallOption) (*storagepb.Notification, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).CreateNotification[0:len((*c.CallOptions).CreateNotification):len((*c.CallOptions).CreateNotification)], opts...)
+ var resp *storagepb.Notification
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.CreateNotification(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) ListNotifications(ctx context.Context, req *storagepb.ListNotificationsRequest, opts ...gax.CallOption) *NotificationIterator {
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).ListNotifications[0:len((*c.CallOptions).ListNotifications):len((*c.CallOptions).ListNotifications)], opts...)
+ it := &NotificationIterator{}
+ req = proto.Clone(req).(*storagepb.ListNotificationsRequest)
+ it.InternalFetch = func(pageSize int, pageToken string) ([]*storagepb.Notification, string, error) {
+ resp := &storagepb.ListNotificationsResponse{}
+ if pageToken != "" {
+ req.PageToken = pageToken
+ }
+ if pageSize > math.MaxInt32 {
+ req.PageSize = math.MaxInt32
+ } else if pageSize != 0 {
+ req.PageSize = int32(pageSize)
+ }
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.ListNotifications(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, "", err
+ }
+
+ it.Response = resp
+ return resp.GetNotifications(), resp.GetNextPageToken(), nil
+ }
+ fetch := func(pageSize int, pageToken string) (string, error) {
+ items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ it.items = append(it.items, items...)
+ return nextPageToken, nil
}
- c.setGoogleClientInfo()
- client.internalClient = c
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
+ it.pageInfo.MaxSize = int(req.GetPageSize())
+ it.pageInfo.Token = req.GetPageToken()
- return &client, nil
+ return it
}
-// Connection returns a connection to the API service.
-//
-// Deprecated.
-func (c *gRPCClient) Connection() *grpc.ClientConn {
- return c.connPool.Conn()
+func (c *gRPCClient) ComposeObject(ctx context.Context, req *storagepb.ComposeObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).ComposeObject[0:len((*c.CallOptions).ComposeObject):len((*c.CallOptions).ComposeObject)], opts...)
+ var resp *storagepb.Object
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.ComposeObject(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
}
-// setGoogleClientInfo sets the name and version of the application in
-// the `x-goog-api-client` header passed on each request. Intended for
-// use by Google-written clients.
-func (c *gRPCClient) setGoogleClientInfo(keyval ...string) {
- kv := append([]string{"gl-go", versionGo()}, keyval...)
- kv = append(kv, "gapic", versionClient, "gax", gax.Version, "grpc", grpc.Version)
- c.xGoogMetadata = metadata.Pairs("x-goog-api-client", gax.XGoogHeader(kv...))
+func (c *gRPCClient) DeleteObject(ctx context.Context, req *storagepb.DeleteObjectRequest, opts ...gax.CallOption) error {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).DeleteObject[0:len((*c.CallOptions).DeleteObject):len((*c.CallOptions).DeleteObject)], opts...)
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ _, err = c.client.DeleteObject(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ return err
}
-// Close closes the connection to the API service. The user should invoke this when
-// the client is no longer required.
-func (c *gRPCClient) Close() error {
- return c.connPool.Close()
+func (c *gRPCClient) GetObject(ctx context.Context, req *storagepb.GetObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetObject[0:len((*c.CallOptions).GetObject):len((*c.CallOptions).GetObject)], opts...)
+ var resp *storagepb.Object
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetObject(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
}
func (c *gRPCClient) ReadObject(ctx context.Context, req *storagepb.ReadObjectRequest, opts ...gax.CallOption) (storagepb.Storage_ReadObjectClient, error) {
@@ -303,6 +1185,26 @@ func (c *gRPCClient) ReadObject(ctx context.Context, req *storagepb.ReadObjectRe
return resp, nil
}
+func (c *gRPCClient) UpdateObject(ctx context.Context, req *storagepb.UpdateObjectRequest, opts ...gax.CallOption) (*storagepb.Object, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).UpdateObject[0:len((*c.CallOptions).UpdateObject):len((*c.CallOptions).UpdateObject)], opts...)
+ var resp *storagepb.Object
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.UpdateObject(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
func (c *gRPCClient) WriteObject(ctx context.Context, opts ...gax.CallOption) (storagepb.Storage_WriteObjectClient, error) {
ctx = insertMetadata(ctx, c.xGoogMetadata)
var resp storagepb.Storage_WriteObjectClient
@@ -318,6 +1220,69 @@ func (c *gRPCClient) WriteObject(ctx context.Context, opts ...gax.CallOption) (s
return resp, nil
}
+func (c *gRPCClient) ListObjects(ctx context.Context, req *storagepb.ListObjectsRequest, opts ...gax.CallOption) *ObjectIterator {
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).ListObjects[0:len((*c.CallOptions).ListObjects):len((*c.CallOptions).ListObjects)], opts...)
+ it := &ObjectIterator{}
+ req = proto.Clone(req).(*storagepb.ListObjectsRequest)
+ it.InternalFetch = func(pageSize int, pageToken string) ([]*storagepb.Object, string, error) {
+ resp := &storagepb.ListObjectsResponse{}
+ if pageToken != "" {
+ req.PageToken = pageToken
+ }
+ if pageSize > math.MaxInt32 {
+ req.PageSize = math.MaxInt32
+ } else if pageSize != 0 {
+ req.PageSize = int32(pageSize)
+ }
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.ListObjects(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, "", err
+ }
+
+ it.Response = resp
+ return resp.GetObjects(), resp.GetNextPageToken(), nil
+ }
+ fetch := func(pageSize int, pageToken string) (string, error) {
+ items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ it.items = append(it.items, items...)
+ return nextPageToken, nil
+ }
+
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
+ it.pageInfo.MaxSize = int(req.GetPageSize())
+ it.pageInfo.Token = req.GetPageToken()
+
+ return it
+}
+
+func (c *gRPCClient) RewriteObject(ctx context.Context, req *storagepb.RewriteObjectRequest, opts ...gax.CallOption) (*storagepb.RewriteResponse, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).RewriteObject[0:len((*c.CallOptions).RewriteObject):len((*c.CallOptions).RewriteObject)], opts...)
+ var resp *storagepb.RewriteResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.RewriteObject(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
func (c *gRPCClient) StartResumableWrite(ctx context.Context, req *storagepb.StartResumableWriteRequest, opts ...gax.CallOption) (*storagepb.StartResumableWriteResponse, error) {
if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
@@ -357,3 +1322,330 @@ func (c *gRPCClient) QueryWriteStatus(ctx context.Context, req *storagepb.QueryW
}
return resp, nil
}
+
+func (c *gRPCClient) GetServiceAccount(ctx context.Context, req *storagepb.GetServiceAccountRequest, opts ...gax.CallOption) (*storagepb.ServiceAccount, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetServiceAccount[0:len((*c.CallOptions).GetServiceAccount):len((*c.CallOptions).GetServiceAccount)], opts...)
+ var resp *storagepb.ServiceAccount
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetServiceAccount(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) CreateHmacKey(ctx context.Context, req *storagepb.CreateHmacKeyRequest, opts ...gax.CallOption) (*storagepb.CreateHmacKeyResponse, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).CreateHmacKey[0:len((*c.CallOptions).CreateHmacKey):len((*c.CallOptions).CreateHmacKey)], opts...)
+ var resp *storagepb.CreateHmacKeyResponse
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.CreateHmacKey(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) DeleteHmacKey(ctx context.Context, req *storagepb.DeleteHmacKeyRequest, opts ...gax.CallOption) error {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).DeleteHmacKey[0:len((*c.CallOptions).DeleteHmacKey):len((*c.CallOptions).DeleteHmacKey)], opts...)
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ _, err = c.client.DeleteHmacKey(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ return err
+}
+
+func (c *gRPCClient) GetHmacKey(ctx context.Context, req *storagepb.GetHmacKeyRequest, opts ...gax.CallOption) (*storagepb.HmacKeyMetadata, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).GetHmacKey[0:len((*c.CallOptions).GetHmacKey):len((*c.CallOptions).GetHmacKey)], opts...)
+ var resp *storagepb.HmacKeyMetadata
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.GetHmacKey(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+func (c *gRPCClient) ListHmacKeys(ctx context.Context, req *storagepb.ListHmacKeysRequest, opts ...gax.CallOption) *HmacKeyMetadataIterator {
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).ListHmacKeys[0:len((*c.CallOptions).ListHmacKeys):len((*c.CallOptions).ListHmacKeys)], opts...)
+ it := &HmacKeyMetadataIterator{}
+ req = proto.Clone(req).(*storagepb.ListHmacKeysRequest)
+ it.InternalFetch = func(pageSize int, pageToken string) ([]*storagepb.HmacKeyMetadata, string, error) {
+ resp := &storagepb.ListHmacKeysResponse{}
+ if pageToken != "" {
+ req.PageToken = pageToken
+ }
+ if pageSize > math.MaxInt32 {
+ req.PageSize = math.MaxInt32
+ } else if pageSize != 0 {
+ req.PageSize = int32(pageSize)
+ }
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.ListHmacKeys(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, "", err
+ }
+
+ it.Response = resp
+ return resp.GetHmacKeys(), resp.GetNextPageToken(), nil
+ }
+ fetch := func(pageSize int, pageToken string) (string, error) {
+ items, nextPageToken, err := it.InternalFetch(pageSize, pageToken)
+ if err != nil {
+ return "", err
+ }
+ it.items = append(it.items, items...)
+ return nextPageToken, nil
+ }
+
+ it.pageInfo, it.nextFunc = iterator.NewPageInfo(fetch, it.bufLen, it.takeBuf)
+ it.pageInfo.MaxSize = int(req.GetPageSize())
+ it.pageInfo.Token = req.GetPageToken()
+
+ return it
+}
+
+func (c *gRPCClient) UpdateHmacKey(ctx context.Context, req *storagepb.UpdateHmacKeyRequest, opts ...gax.CallOption) (*storagepb.HmacKeyMetadata, error) {
+ if _, ok := ctx.Deadline(); !ok && !c.disableDeadlines {
+ cctx, cancel := context.WithTimeout(ctx, 60000*time.Millisecond)
+ defer cancel()
+ ctx = cctx
+ }
+ ctx = insertMetadata(ctx, c.xGoogMetadata)
+ opts = append((*c.CallOptions).UpdateHmacKey[0:len((*c.CallOptions).UpdateHmacKey):len((*c.CallOptions).UpdateHmacKey)], opts...)
+ var resp *storagepb.HmacKeyMetadata
+ err := gax.Invoke(ctx, func(ctx context.Context, settings gax.CallSettings) error {
+ var err error
+ resp, err = c.client.UpdateHmacKey(ctx, req, settings.GRPC...)
+ return err
+ }, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return resp, nil
+}
+
+// BucketIterator manages a stream of *storagepb.Bucket.
+type BucketIterator struct {
+ items []*storagepb.Bucket
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+
+ // Response is the raw response for the current page.
+ // It must be cast to the RPC response type.
+ // Calling Next() or InternalFetch() updates this value.
+ Response interface{}
+
+ // InternalFetch is for use by the Google Cloud Libraries only.
+ // It is not part of the stable interface of this package.
+ //
+ // InternalFetch returns results from a single call to the underlying RPC.
+ // The number of results is no greater than pageSize.
+ // If there are no more results, nextPageToken is empty and err is nil.
+ InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Bucket, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *BucketIterator) PageInfo() *iterator.PageInfo {
+ return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *BucketIterator) Next() (*storagepb.Bucket, error) {
+ var item *storagepb.Bucket
+ if err := it.nextFunc(); err != nil {
+ return item, err
+ }
+ item = it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+func (it *BucketIterator) bufLen() int {
+ return len(it.items)
+}
+
+func (it *BucketIterator) takeBuf() interface{} {
+ b := it.items
+ it.items = nil
+ return b
+}
+
+// HmacKeyMetadataIterator manages a stream of *storagepb.HmacKeyMetadata.
+type HmacKeyMetadataIterator struct {
+ items []*storagepb.HmacKeyMetadata
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+
+ // Response is the raw response for the current page.
+ // It must be cast to the RPC response type.
+ // Calling Next() or InternalFetch() updates this value.
+ Response interface{}
+
+ // InternalFetch is for use by the Google Cloud Libraries only.
+ // It is not part of the stable interface of this package.
+ //
+ // InternalFetch returns results from a single call to the underlying RPC.
+ // The number of results is no greater than pageSize.
+ // If there are no more results, nextPageToken is empty and err is nil.
+ InternalFetch func(pageSize int, pageToken string) (results []*storagepb.HmacKeyMetadata, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *HmacKeyMetadataIterator) PageInfo() *iterator.PageInfo {
+ return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *HmacKeyMetadataIterator) Next() (*storagepb.HmacKeyMetadata, error) {
+ var item *storagepb.HmacKeyMetadata
+ if err := it.nextFunc(); err != nil {
+ return item, err
+ }
+ item = it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+func (it *HmacKeyMetadataIterator) bufLen() int {
+ return len(it.items)
+}
+
+func (it *HmacKeyMetadataIterator) takeBuf() interface{} {
+ b := it.items
+ it.items = nil
+ return b
+}
+
+// NotificationIterator manages a stream of *storagepb.Notification.
+type NotificationIterator struct {
+ items []*storagepb.Notification
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+
+ // Response is the raw response for the current page.
+ // It must be cast to the RPC response type.
+ // Calling Next() or InternalFetch() updates this value.
+ Response interface{}
+
+ // InternalFetch is for use by the Google Cloud Libraries only.
+ // It is not part of the stable interface of this package.
+ //
+ // InternalFetch returns results from a single call to the underlying RPC.
+ // The number of results is no greater than pageSize.
+ // If there are no more results, nextPageToken is empty and err is nil.
+ InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Notification, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *NotificationIterator) PageInfo() *iterator.PageInfo {
+ return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *NotificationIterator) Next() (*storagepb.Notification, error) {
+ var item *storagepb.Notification
+ if err := it.nextFunc(); err != nil {
+ return item, err
+ }
+ item = it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+func (it *NotificationIterator) bufLen() int {
+ return len(it.items)
+}
+
+func (it *NotificationIterator) takeBuf() interface{} {
+ b := it.items
+ it.items = nil
+ return b
+}
+
+// ObjectIterator manages a stream of *storagepb.Object.
+type ObjectIterator struct {
+ items []*storagepb.Object
+ pageInfo *iterator.PageInfo
+ nextFunc func() error
+
+ // Response is the raw response for the current page.
+ // It must be cast to the RPC response type.
+ // Calling Next() or InternalFetch() updates this value.
+ Response interface{}
+
+ // InternalFetch is for use by the Google Cloud Libraries only.
+ // It is not part of the stable interface of this package.
+ //
+ // InternalFetch returns results from a single call to the underlying RPC.
+ // The number of results is no greater than pageSize.
+ // If there are no more results, nextPageToken is empty and err is nil.
+ InternalFetch func(pageSize int, pageToken string) (results []*storagepb.Object, nextPageToken string, err error)
+}
+
+// PageInfo supports pagination. See the google.golang.org/api/iterator package for details.
+func (it *ObjectIterator) PageInfo() *iterator.PageInfo {
+ return it.pageInfo
+}
+
+// Next returns the next result. Its second return value is iterator.Done if there are no more
+// results. Once Next returns Done, all subsequent calls will return Done.
+func (it *ObjectIterator) Next() (*storagepb.Object, error) {
+ var item *storagepb.Object
+ if err := it.nextFunc(); err != nil {
+ return item, err
+ }
+ item = it.items[0]
+ it.items = it.items[1:]
+ return item, nil
+}
+
+func (it *ObjectIterator) bufLen() int {
+ return len(it.items)
+}
+
+func (it *ObjectIterator) takeBuf() interface{} {
+ b := it.items
+ it.items = nil
+ return b
+}
diff --git a/vendor/cloud.google.com/go/storage/internal/version.go b/vendor/cloud.google.com/go/storage/internal/version.go
new file mode 100644
index 000000000..b1672963f
--- /dev/null
+++ b/vendor/cloud.google.com/go/storage/internal/version.go
@@ -0,0 +1,18 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package internal
+
+// Version is the current tagged release of the library.
+const Version = "1.21.0"
diff --git a/vendor/cloud.google.com/go/storage/invoke.go b/vendor/cloud.google.com/go/storage/invoke.go
index 2ecf48fff..aab893d08 100644
--- a/vendor/cloud.google.com/go/storage/invoke.go
+++ b/vendor/cloud.google.com/go/storage/invoke.go
@@ -17,42 +17,66 @@ package storage
import (
"context"
"io"
+ "net"
"net/url"
"strings"
"cloud.google.com/go/internal"
gax "github.com/googleapis/gax-go/v2"
+ "golang.org/x/xerrors"
"google.golang.org/api/googleapi"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"
)
-// runWithRetry calls the function until it returns nil or a non-retryable error, or
-// the context is done.
-func runWithRetry(ctx context.Context, call func() error) error {
- return internal.Retry(ctx, gax.Backoff{}, func() (stop bool, err error) {
+var defaultRetry *retryConfig = &retryConfig{}
+
+// run determines whether a retry is necessary based on the config and
+// idempotency information. It then calls the function with or without retries
+// as appropriate, using the configured settings.
+func run(ctx context.Context, call func() error, retry *retryConfig, isIdempotent bool) error {
+ if retry == nil {
+ retry = defaultRetry
+ }
+ if (retry.policy == RetryIdempotent && !isIdempotent) || retry.policy == RetryNever {
+ return call()
+ }
+ bo := gax.Backoff{}
+ if retry.backoff != nil {
+ bo.Multiplier = retry.backoff.Multiplier
+ bo.Initial = retry.backoff.Initial
+ bo.Max = retry.backoff.Max
+ }
+ var errorFunc func(err error) bool = shouldRetry
+ if retry.shouldRetry != nil {
+ errorFunc = retry.shouldRetry
+ }
+ return internal.Retry(ctx, bo, func() (stop bool, err error) {
err = call()
- if err == nil {
- return true, nil
- }
- if shouldRetry(err) {
- return false, nil
- }
- return true, err
+ return !errorFunc(err), err
})
}
func shouldRetry(err error) bool {
- if err == io.ErrUnexpectedEOF {
+ if err == nil {
+ return false
+ }
+ if xerrors.Is(err, io.ErrUnexpectedEOF) {
return true
}
+
switch e := err.(type) {
+ case *net.OpError:
+ if strings.Contains(e.Error(), "use of closed network connection") {
+ // TODO: check against net.ErrClosed (go 1.16+) instead of string
+ return true
+ }
case *googleapi.Error:
- // Retry on 429 and 5xx, according to
+ // Retry on 408, 429, and 5xx, according to
// https://cloud.google.com/storage/docs/exponential-backoff.
- return e.Code == 429 || (e.Code >= 500 && e.Code < 600)
+ return e.Code == 408 || e.Code == 429 || (e.Code >= 500 && e.Code < 600)
case *url.Error:
- // Retry socket-level errors ECONNREFUSED and ENETUNREACH (from syscall).
+ // Retry socket-level errors ECONNREFUSED and ECONNRESET (from syscall).
// Unfortunately the error type is unexported, so we resort to string
// matching.
retriable := []string{"connection refused", "connection reset"}
diff --git a/vendor/cloud.google.com/go/storage/notifications.go b/vendor/cloud.google.com/go/storage/notifications.go
index 84619b6d5..333664f92 100644
--- a/vendor/cloud.google.com/go/storage/notifications.go
+++ b/vendor/cloud.google.com/go/storage/notifications.go
@@ -137,7 +137,12 @@ func (b *BucketHandle) AddNotification(ctx context.Context, n *Notification) (re
if b.userProject != "" {
call.UserProject(b.userProject)
}
- rn, err := call.Context(ctx).Do()
+
+ var rn *raw.Notification
+ err = run(ctx, func() error {
+ rn, err = call.Context(ctx).Do()
+ return err
+ }, b.retry, false)
if err != nil {
return nil, err
}
@@ -156,10 +161,10 @@ func (b *BucketHandle) Notifications(ctx context.Context) (n map[string]*Notific
call.UserProject(b.userProject)
}
var res *raw.Notifications
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
res, err = call.Context(ctx).Do()
return err
- })
+ }, b.retry, true)
if err != nil {
return nil, err
}
@@ -184,5 +189,7 @@ func (b *BucketHandle) DeleteNotification(ctx context.Context, id string) (err e
if b.userProject != "" {
call.UserProject(b.userProject)
}
- return call.Context(ctx).Do()
+ return run(ctx, func() error {
+ return call.Context(ctx).Do()
+ }, b.retry, true)
}
diff --git a/vendor/cloud.google.com/go/storage/post_policy_v4.go b/vendor/cloud.google.com/go/storage/post_policy_v4.go
index db9d13838..7e9721010 100644
--- a/vendor/cloud.google.com/go/storage/post_policy_v4.go
+++ b/vendor/cloud.google.com/go/storage/post_policy_v4.go
@@ -52,22 +52,38 @@ type PostPolicyV4Options struct {
// Exactly one of PrivateKey or SignBytes must be non-nil.
PrivateKey []byte
- // SignBytes is a function for implementing custom signing. For example, if
+ // SignBytes is a function for implementing custom signing.
+ //
+ // Deprecated: Use SignRawBytes. If both SignBytes and SignRawBytes are defined,
+ // SignBytes will be ignored.
+ // This SignBytes function expects the bytes it receives to be hashed, while
+ // SignRawBytes accepts the raw bytes without hashing, allowing more flexibility.
+ // Add the following to the top of your signing function to hash the bytes
+ // to use SignRawBytes instead:
+ // shaSum := sha256.Sum256(bytes)
+ // bytes = shaSum[:]
+ //
+ SignBytes func(hashBytes []byte) (signature []byte, err error)
+
+ // SignRawBytes is a function for implementing custom signing. For example, if
// your application is running on Google App Engine, you can use
// appengine's internal signing function:
- // ctx := appengine.NewContext(request)
- // acc, _ := appengine.ServiceAccount(ctx)
- // url, err := SignedURL("bucket", "object", &SignedURLOptions{
- // GoogleAccessID: acc,
- // SignBytes: func(b []byte) ([]byte, error) {
- // _, signedBytes, err := appengine.SignBytes(ctx, b)
- // return signedBytes, err
- // },
- // // etc.
- // })
+ // ctx := appengine.NewContext(request)
+ // acc, _ := appengine.ServiceAccount(ctx)
+ // &PostPolicyV4Options{
+ // GoogleAccessID: acc,
+ // SignRawBytes: func(b []byte) ([]byte, error) {
+ // _, signedBytes, err := appengine.SignBytes(ctx, b)
+ // return signedBytes, err
+ // },
+ // // etc.
+ // })
//
- // Exactly one of PrivateKey or SignBytes must be non-nil.
- SignBytes func(hashBytes []byte) (signature []byte, err error)
+ // SignRawBytes is equivalent to the SignBytes field on SignedURLOptions;
+ // that is, you may use the same signing function for the two.
+ //
+ // Exactly one of PrivateKey or SignRawBytes must be non-nil.
+ SignRawBytes func(bytes []byte) (signature []byte, err error)
// Expires is the expiration time on the signed URL.
// It must be a time in the future.
@@ -96,6 +112,23 @@ type PostPolicyV4Options struct {
// a 4XX status code, back with the message describing the problem.
// Optional.
Conditions []PostPolicyV4Condition
+
+ shouldHashSignBytes bool
+}
+
+func (opts *PostPolicyV4Options) clone() *PostPolicyV4Options {
+ return &PostPolicyV4Options{
+ GoogleAccessID: opts.GoogleAccessID,
+ PrivateKey: opts.PrivateKey,
+ SignBytes: opts.SignBytes,
+ SignRawBytes: opts.SignRawBytes,
+ Expires: opts.Expires,
+ Style: opts.Style,
+ Insecure: opts.Insecure,
+ Fields: opts.Fields,
+ Conditions: opts.Conditions,
+ shouldHashSignBytes: opts.shouldHashSignBytes,
+ }
}
// PolicyV4Fields describes the attributes for a PostPolicyV4 request.
@@ -220,20 +253,22 @@ func GenerateSignedPostPolicyV4(bucket, object string, opts *PostPolicyV4Options
var signingFn func(hashedBytes []byte) ([]byte, error)
switch {
- case opts.SignBytes != nil:
+ case opts.SignRawBytes != nil:
+ signingFn = opts.SignRawBytes
+ case opts.shouldHashSignBytes:
signingFn = opts.SignBytes
-
case len(opts.PrivateKey) != 0:
parsedRSAPrivKey, err := parseKey(opts.PrivateKey)
if err != nil {
return nil, err
}
- signingFn = func(hashedBytes []byte) ([]byte, error) {
- return rsa.SignPKCS1v15(rand.Reader, parsedRSAPrivKey, crypto.SHA256, hashedBytes)
+ signingFn = func(b []byte) ([]byte, error) {
+ sum := sha256.Sum256(b)
+ return rsa.SignPKCS1v15(rand.Reader, parsedRSAPrivKey, crypto.SHA256, sum[:])
}
default:
- return nil, errors.New("storage: exactly one of PrivateKey or SignedBytes must be set")
+ return nil, errors.New("storage: exactly one of PrivateKey or SignRawBytes must be set")
}
var descFields PolicyV4Fields
@@ -307,10 +342,18 @@ func GenerateSignedPostPolicyV4(bucket, object string, opts *PostPolicyV4Options
}
b64Policy := base64.StdEncoding.EncodeToString(condsAsJSON)
- shaSum := sha256.Sum256([]byte(b64Policy))
- signature, err := signingFn(shaSum[:])
- if err != nil {
- return nil, err
+ var signature []byte
+ var signErr error
+
+ if opts.shouldHashSignBytes {
+ // SignBytes expects hashed bytes as input instead of raw bytes, so we hash them
+ shaSum := sha256.Sum256([]byte(b64Policy))
+ signature, signErr = signingFn(shaSum[:])
+ } else {
+ signature, signErr = signingFn([]byte(b64Policy))
+ }
+ if signErr != nil {
+ return nil, signErr
}
policyFields["policy"] = b64Policy
@@ -348,15 +391,16 @@ func GenerateSignedPostPolicyV4(bucket, object string, opts *PostPolicyV4Options
// validatePostPolicyV4Options checks that:
// * GoogleAccessID is set
-// * either but not both PrivateKey and SignBytes are set or nil, but not both
-// * Expires, the deadline is not in the past
+// * either PrivateKey or SignRawBytes/SignBytes is set, but not both
+// * the deadline set in Expires is not in the past
// * if Style is not set, it'll use PathStyle
+// * sets shouldHashSignBytes to true if opts.SignBytes should be used
func validatePostPolicyV4Options(opts *PostPolicyV4Options, now time.Time) error {
if opts == nil || opts.GoogleAccessID == "" {
return errors.New("storage: missing required GoogleAccessID")
}
- if privBlank, signBlank := len(opts.PrivateKey) == 0, opts.SignBytes == nil; privBlank == signBlank {
- return errors.New("storage: exactly one of PrivateKey or SignedBytes must be set")
+ if privBlank, signBlank := len(opts.PrivateKey) == 0, opts.SignBytes == nil && opts.SignRawBytes == nil; privBlank == signBlank {
+ return errors.New("storage: exactly one of PrivateKey or SignRawBytes must be set")
}
if opts.Expires.Before(now) {
return errors.New("storage: expecting Expires to be in the future")
@@ -364,6 +408,9 @@ func validatePostPolicyV4Options(opts *PostPolicyV4Options, now time.Time) error
if opts.Style == nil {
opts.Style = PathStyle()
}
+ if opts.SignRawBytes == nil && opts.SignBytes != nil {
+ opts.shouldHashSignBytes = true
+ }
return nil
}
diff --git a/vendor/cloud.google.com/go/storage/reader.go b/vendor/cloud.google.com/go/storage/reader.go
index 0f06db0ab..86153256c 100644
--- a/vendor/cloud.google.com/go/storage/reader.go
+++ b/vendor/cloud.google.com/go/storage/reader.go
@@ -30,7 +30,6 @@ import (
"cloud.google.com/go/internal/trace"
"google.golang.org/api/googleapi"
storagepb "google.golang.org/genproto/googleapis/storage/v2"
- "google.golang.org/protobuf/proto"
)
var crc32cTable = crc32.MakeTable(crc32.Castagnoli)
@@ -164,7 +163,7 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64)
}
var res *http.Response
- err = runWithRetry(ctx, func() error {
+ err = run(ctx, func() error {
res, err = o.c.hc.Do(req)
if err != nil {
return err
@@ -211,7 +210,7 @@ func (o *ObjectHandle) NewRangeReader(ctx context.Context, offset, length int64)
gen = gen64
}
return nil
- })
+ }, o.retry, true)
if err != nil {
return nil, err
}
@@ -475,13 +474,16 @@ func (o *ObjectHandle) newRangeReaderWithGRPC(ctx context.Context, offset, lengt
}
req.ReadOffset = start
- setRequestConditions(req, o.conds)
+ if err := applyCondsProto("reopenWithGRPC", o.gen, o.conds, req); err != nil {
+ cancel()
+ return nil, nil, err
+ }
var stream storagepb.Storage_ReadObjectClient
var msg *storagepb.ReadObjectResponse
var err error
- err = runWithRetry(cc, func() error {
+ err = run(cc, func() error {
stream, err = o.c.gc.ReadObject(cc, req)
if err != nil {
return err
@@ -490,7 +492,7 @@ func (o *ObjectHandle) newRangeReaderWithGRPC(ctx context.Context, offset, lengt
msg, err = stream.Recv()
return err
- })
+ }, o.retry, true)
if err != nil {
// Close the stream context we just created to ensure we don't leak
// resources.
@@ -539,8 +541,8 @@ func (o *ObjectHandle) newRangeReaderWithGRPC(ctx context.Context, offset, lengt
}
// Only support checksums when reading an entire object, not a range.
- if msg.GetObjectChecksums().Crc32C != nil && offset == 0 && length == 0 {
- r.wantCRC = msg.GetObjectChecksums().GetCrc32C()
+ if checksums := msg.GetObjectChecksums(); checksums != nil && checksums.Crc32C != nil && offset == 0 && length == 0 {
+ r.wantCRC = checksums.GetCrc32C()
r.checkCRC = true
}
@@ -631,10 +633,7 @@ func (r *Reader) readWithGRPC(p []byte) (int, error) {
if leftover > 0 {
// Wasn't able to copy all of the data in the message, store for
// future Read calls.
- // TODO: Instead of acquiring a new block of memory, should we reuse
- // the existing leftovers slice, expanding it if necessary?
- r.leftovers = make([]byte, leftover)
- copy(r.leftovers, content[n:])
+ r.leftovers = content[n:]
}
r.seen += int64(n)
@@ -683,29 +682,6 @@ func (r *Reader) reopenStream(seen int64) (*storagepb.ReadObjectResponse, error)
return res.response, nil
}
-// setRequestConditions is used to apply the given Conditions to a gRPC request
-// message.
-//
-// This is an experimental API and not intended for public use.
-func setRequestConditions(req *storagepb.ReadObjectRequest, conds *Conditions) {
- if conds == nil {
- return
- }
- if conds.MetagenerationMatch != 0 {
- req.IfMetagenerationMatch = proto.Int64(conds.MetagenerationMatch)
- } else if conds.MetagenerationNotMatch != 0 {
- req.IfMetagenerationNotMatch = proto.Int64(conds.MetagenerationNotMatch)
- }
- switch {
- case conds.GenerationNotMatch != 0:
- req.IfGenerationNotMatch = proto.Int64(conds.GenerationNotMatch)
- case conds.GenerationMatch != 0:
- req.IfGenerationMatch = proto.Int64(conds.GenerationMatch)
- case conds.DoesNotExist:
- req.IfGenerationMatch = proto.Int64(0)
- }
-}
-
// Size returns the size of the object in bytes.
// The returned value is always the same and is not affected by
// calls to Read or Close.
diff --git a/vendor/cloud.google.com/go/storage/storage.go b/vendor/cloud.google.com/go/storage/storage.go
index fbf437f68..457d77c8d 100644
--- a/vendor/cloud.google.com/go/storage/storage.go
+++ b/vendor/cloud.google.com/go/storage/storage.go
@@ -40,14 +40,21 @@ import (
"cloud.google.com/go/internal/optional"
"cloud.google.com/go/internal/trace"
"cloud.google.com/go/internal/version"
+ "cloud.google.com/go/storage/internal"
gapic "cloud.google.com/go/storage/internal/apiv2"
+ "github.com/googleapis/gax-go/v2"
+ "golang.org/x/oauth2/google"
+ "golang.org/x/xerrors"
"google.golang.org/api/googleapi"
"google.golang.org/api/option"
"google.golang.org/api/option/internaloption"
raw "google.golang.org/api/storage/v1"
+ "google.golang.org/api/transport"
htransport "google.golang.org/api/transport/http"
storagepb "google.golang.org/genproto/googleapis/storage/v2"
+ "google.golang.org/grpc"
"google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protoreflect"
"google.golang.org/protobuf/types/known/timestamppb"
)
@@ -63,7 +70,7 @@ var (
errMethodNotValid = fmt.Errorf("storage: HTTP method should be one of %v", reflect.ValueOf(signedURLMethods).MapKeys())
)
-var userAgent = fmt.Sprintf("gcloud-golang-storage/%s", version.Repo)
+var userAgent = fmt.Sprintf("gcloud-golang-storage/%s", internal.Version)
const (
// ScopeFullControl grants permissions to manage your
@@ -77,9 +84,15 @@ const (
// ScopeReadWrite grants permissions to manage your
// data in Google Cloud Storage.
ScopeReadWrite = raw.DevstorageReadWriteScope
+
+ // defaultConnPoolSize is the default number of connections
+ // to initialize in the GAPIC gRPC connection pool. A larger
+ // connection pool may be necessary for jobs that require
+ // high throughput and/or leverage many concurrent streams.
+ defaultConnPoolSize = 4
)
-var xGoogHeader = fmt.Sprintf("gl-go/%s gccl/%s", version.Go(), version.Repo)
+var xGoogHeader = fmt.Sprintf("gl-go/%s gccl/%s", version.Go(), internal.Version)
func setClientHeader(headers http.Header) {
headers.Set("x-goog-api-client", xGoogHeader)
@@ -96,6 +109,9 @@ type Client struct {
scheme string
// ReadHost is the default host used on the reader.
readHost string
+ // May be nil.
+ creds *google.Credentials
+ retry *retryConfig
// gc is an optional gRPC-based, GAPIC client.
//
@@ -110,6 +126,7 @@ type Client struct {
// Clients should be reused instead of created as needed. The methods of Client
// are safe for concurrent use by multiple goroutines.
func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error) {
+ var creds *google.Credentials
// In general, it is recommended to use raw.NewService instead of htransport.NewClient
// since raw.NewService configures the correct default endpoints when initializing the
@@ -120,10 +137,18 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error
// need to account for STORAGE_EMULATOR_HOST override when setting the default endpoints.
if host := os.Getenv("STORAGE_EMULATOR_HOST"); host == "" {
// Prepend default options to avoid overriding options passed by the user.
- opts = append([]option.ClientOption{option.WithScopes(ScopeFullControl), option.WithUserAgent(userAgent)}, opts...)
+ opts = append([]option.ClientOption{option.WithScopes(ScopeFullControl, "https://www.googleapis.com/auth/cloud-platform"), option.WithUserAgent(userAgent)}, opts...)
opts = append(opts, internaloption.WithDefaultEndpoint("https://storage.googleapis.com/storage/v1/"))
opts = append(opts, internaloption.WithDefaultMTLSEndpoint("https://storage.mtls.googleapis.com/storage/v1/"))
+
+ // Don't error out here. The user may have passed in their own HTTP
+ // client which does not auth with ADC or other common conventions.
+ c, err := transport.Creds(ctx, opts...)
+ if err == nil {
+ creds = c
+ opts = append(opts, internaloption.WithCredentials(creds))
+ }
} else {
var hostURL *url.URL
@@ -170,6 +195,7 @@ func NewClient(ctx context.Context, opts ...option.ClientOption) (*Client, error
raw: rawService,
scheme: u.Scheme,
readHost: u.Host,
+ creds: creds,
}, nil
}
@@ -187,11 +213,34 @@ func newHybridClient(ctx context.Context, opts *hybridClientOptions) (*Client, e
if opts == nil {
opts = &hybridClientOptions{}
}
+ opts.GRPCOpts = append(defaultGRPCOptions(), opts.GRPCOpts...)
+
c, err := NewClient(ctx, opts.HTTPOpts...)
if err != nil {
return nil, err
}
+ // Set emulator options for gRPC if an emulator was specified. Note that in a
+ // hybrid client, STORAGE_EMULATOR_HOST will set the host to use for HTTP and
+ // STORAGE_EMULATOR_HOST_GRPC will set the host to use for gRPC (when using a
+ // local emulator, HTTP and gRPC must use different ports, so this is
+ // necessary).
+ // TODO: when full gRPC client is available, remove STORAGE_EMULATOR_HOST_GRPC
+ // and use STORAGE_EMULATOR_HOST for both the HTTP and gRPC based clients.
+ if host := os.Getenv("STORAGE_EMULATOR_HOST_GRPC"); host != "" {
+ // Strip the scheme from the emulator host. WithEndpoint does not take a
+ // scheme for gRPC.
+ if strings.Contains(host, "://") {
+ host = strings.SplitN(host, "://", 2)[1]
+ }
+
+ opts.GRPCOpts = append(opts.GRPCOpts,
+ option.WithEndpoint(host),
+ option.WithGRPCDialOption(grpc.WithInsecure()),
+ option.WithoutAuthentication(),
+ )
+ }
+
g, err := gapic.NewClient(ctx, opts.GRPCOpts...)
if err != nil {
return nil, err
@@ -201,6 +250,14 @@ func newHybridClient(ctx context.Context, opts *hybridClientOptions) (*Client, e
return c, nil
}
+// defaultGRPCOptions returns a set of the default client options
+// for gRPC client initialization.
+func defaultGRPCOptions() []option.ClientOption {
+ return []option.ClientOption{
+ option.WithGRPCConnectionPool(defaultConnPoolSize),
+ }
+}
+
// Close closes the Client.
//
// Close need not be called at program exit.
@@ -208,6 +265,7 @@ func (c *Client) Close() error {
// Set fields to nil so that subsequent uses will panic.
c.hc = nil
c.raw = nil
+ c.creds = nil
if c.gc != nil {
return c.gc.Close()
}
@@ -394,6 +452,23 @@ type SignedURLOptions struct {
Scheme SigningScheme
}
+func (opts *SignedURLOptions) clone() *SignedURLOptions {
+ return &SignedURLOptions{
+ GoogleAccessID: opts.GoogleAccessID,
+ SignBytes: opts.SignBytes,
+ PrivateKey: opts.PrivateKey,
+ Method: opts.Method,
+ Expires: opts.Expires,
+ ContentType: opts.ContentType,
+ Headers: opts.Headers,
+ QueryParameters: opts.QueryParameters,
+ MD5: opts.MD5,
+ Style: opts.Style,
+ Insecure: opts.Insecure,
+ Scheme: opts.Scheme,
+ }
+}
+
var (
tabRegex = regexp.MustCompile(`[\t]+`)
// I was tempted to call this spacex. :)
@@ -507,11 +582,11 @@ func v4SanitizeHeaders(hdrs []string) []string {
return sanitizedHeaders
}
-// SignedURL returns a URL for the specified object. Signed URLs allow
-// the users access to a restricted resource for a limited time without having a
-// Google account or signing in. For more information about the signed
-// URLs, see https://cloud.google.com/storage/docs/accesscontrol#Signed-URLs.
-func SignedURL(bucket, name string, opts *SignedURLOptions) (string, error) {
+// SignedURL returns a URL for the specified object. Signed URLs allow anyone
+// access to a restricted resource for a limited time without needing a
+// Google account or signing in. For more information about signed URLs, see
+// https://cloud.google.com/storage/docs/accesscontrol#signed_urls_query_string_authentication
+func SignedURL(bucket, object string, opts *SignedURLOptions) (string, error) {
now := utcNow()
if err := validateOptions(opts, now); err != nil {
return "", err
@@ -520,13 +595,13 @@ func SignedURL(bucket, name string, opts *SignedURLOptions) (string, error) {
switch opts.Scheme {
case SigningSchemeV2:
opts.Headers = v2SanitizeHeaders(opts.Headers)
- return signedURLV2(bucket, name, opts)
+ return signedURLV2(bucket, object, opts)
case SigningSchemeV4:
opts.Headers = v4SanitizeHeaders(opts.Headers)
- return signedURLV4(bucket, name, opts, now)
+ return signedURLV4(bucket, object, opts, now)
default: // SigningSchemeDefault
opts.Headers = v2SanitizeHeaders(opts.Headers)
- return signedURLV2(bucket, name, opts)
+ return signedURLV2(bucket, object, opts)
}
}
@@ -802,6 +877,7 @@ type ObjectHandle struct {
encryptionKey []byte // AES-256 key
userProject string // for requester-pays buckets
readCompressed bool // Accept-Encoding: gzip
+ retry *retryConfig
}
// ACL provides access to the object's access control list.
@@ -865,8 +941,9 @@ func (o *ObjectHandle) Attrs(ctx context.Context) (attrs *ObjectAttrs, err error
}
var obj *raw.Object
setClientHeader(call.Header())
- err = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })
- if e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {
+ err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, true)
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
return nil, ErrObjectNotExist
}
if err != nil {
@@ -965,8 +1042,13 @@ func (o *ObjectHandle) Update(ctx context.Context, uattrs ObjectAttrsToUpdate) (
}
var obj *raw.Object
setClientHeader(call.Header())
- err = runWithRetry(ctx, func() error { obj, err = call.Do(); return err })
- if e, ok := err.(*googleapi.Error); ok && e.Code == http.StatusNotFound {
+ var isIdempotent bool
+ if o.conds != nil && o.conds.MetagenerationMatch != 0 {
+ isIdempotent = true
+ }
+ err = run(ctx, func() error { obj, err = call.Do(); return err }, o.retry, isIdempotent)
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
return nil, ErrObjectNotExist
}
if err != nil {
@@ -1028,14 +1110,16 @@ func (o *ObjectHandle) Delete(ctx context.Context) error {
}
// Encryption doesn't apply to Delete.
setClientHeader(call.Header())
- err := runWithRetry(ctx, func() error { return call.Do() })
- switch e := err.(type) {
- case nil:
- return nil
- case *googleapi.Error:
- if e.Code == http.StatusNotFound {
- return ErrObjectNotExist
- }
+ var isIdempotent bool
+ // Delete is idempotent if GenerationMatch or Generation have been passed in.
+ // The default generation is negative to get the latest version of the object.
+ if (o.conds != nil && o.conds.GenerationMatch != 0) || o.gen >= 0 {
+ isIdempotent = true
+ }
+ err := run(ctx, func() error { return call.Do() }, o.retry, isIdempotent)
+ var e *googleapi.Error
+ if ok := xerrors.As(err, &e); ok && e.Code == http.StatusNotFound {
+ return ErrObjectNotExist
}
return err
}
@@ -1388,9 +1472,8 @@ func newObject(o *raw.Object) *ObjectAttrs {
}
}
-func newObjectFromProto(r *storagepb.WriteObjectResponse) *ObjectAttrs {
- o := r.GetResource()
- if r == nil || o == nil {
+func newObjectFromProto(o *storagepb.Object) *ObjectAttrs {
+ if o == nil {
return nil
}
return &ObjectAttrs{
@@ -1413,7 +1496,7 @@ func newObjectFromProto(r *storagepb.WriteObjectResponse) *ObjectAttrs {
Generation: o.Generation,
Metageneration: o.Metageneration,
StorageClass: o.StorageClass,
- CustomerKeySHA256: o.GetCustomerEncryption().GetKeySha256(),
+ CustomerKeySHA256: string(o.GetCustomerEncryption().GetKeySha256Bytes()),
KMSKeyName: o.GetKmsKey(),
Created: convertProtoTime(o.GetCreateTime()),
Deleted: convertProtoTime(o.GetDeleteTime()),
@@ -1728,6 +1811,169 @@ func setConditionField(call reflect.Value, name string, value interface{}) bool
return true
}
+// Retryer returns an object handle that is configured with custom retry
+// behavior as specified by the options that are passed to it. All operations
+// on the new handle will use the customized retry configuration.
+// These retry options will merge with the bucket's retryer (if set) for the
+// returned handle. Options passed into this method will take precedence over
+// retry options on the bucket and client. Note that you must explicitly pass in
+// each option you want to override.
+func (o *ObjectHandle) Retryer(opts ...RetryOption) *ObjectHandle {
+ o2 := *o
+ var retry *retryConfig
+ if o.retry != nil {
+ // merge the options with the existing retry
+ retry = o.retry
+ } else {
+ retry = &retryConfig{}
+ }
+ for _, opt := range opts {
+ opt.apply(retry)
+ }
+ o2.retry = retry
+ o2.acl.retry = retry
+ return &o2
+}
+
+// SetRetry configures the client with custom retry behavior as specified by the
+// options that are passed to it. All operations using this client will use the
+// customized retry configuration.
+// This should be called once before using the client for network operations, as
+// there could be indeterminate behaviour with operations in progress.
+// Retry options set on a bucket or object handle will take precedence over
+// these options.
+func (c *Client) SetRetry(opts ...RetryOption) {
+ var retry *retryConfig
+ if c.retry != nil {
+ // merge the options with the existing retry
+ retry = c.retry
+ } else {
+ retry = &retryConfig{}
+ }
+ for _, opt := range opts {
+ opt.apply(retry)
+ }
+ c.retry = retry
+}
+
+// RetryOption allows users to configure non-default retry behavior for API
+// calls made to GCS.
+type RetryOption interface {
+ apply(config *retryConfig)
+}
+
+// WithBackoff allows configuration of the backoff timing used for retries.
+// Available configuration options (Initial, Max and Multiplier) are described
+// at https://pkg.go.dev/github.com/googleapis/gax-go/v2#Backoff. If any fields
+// are not supplied by the user, gax default values will be used.
+func WithBackoff(backoff gax.Backoff) RetryOption {
+ return &withBackoff{
+ backoff: backoff,
+ }
+}
+
+type withBackoff struct {
+ backoff gax.Backoff
+}
+
+func (wb *withBackoff) apply(config *retryConfig) {
+ config.backoff = &wb.backoff
+}
+
+// RetryPolicy describes the available policies for which operations should be
+// retried. The default is `RetryIdempotent`.
+type RetryPolicy int
+
+const (
+ // RetryIdempotent causes only idempotent operations to be retried when the
+ // service returns a transient error. Using this policy, fully idempotent
+ // operations (such as `ObjectHandle.Attrs()`) will always be retried.
+ // Conditionally idempotent operations (for example `ObjectHandle.Update()`)
+ // will be retried only if the necessary conditions have been supplied (in
+ // the case of `ObjectHandle.Update()` this would mean supplying a
+ // `Conditions.MetagenerationMatch` condition is required).
+ RetryIdempotent RetryPolicy = iota
+
+ // RetryAlways causes all operations to be retried when the service returns a
+ // transient error, regardless of idempotency considerations.
+ RetryAlways
+
+ // RetryNever causes the client to not perform retries on failed operations.
+ RetryNever
+)
+
+// WithPolicy allows the configuration of which operations should be performed
+// with retries for transient errors.
+func WithPolicy(policy RetryPolicy) RetryOption {
+ return &withPolicy{
+ policy: policy,
+ }
+}
+
+type withPolicy struct {
+ policy RetryPolicy
+}
+
+func (ws *withPolicy) apply(config *retryConfig) {
+ config.policy = ws.policy
+}
+
+// WithErrorFunc allows users to pass a custom function to the retryer. Errors
+// will be retried if and only if `shouldRetry(err)` returns true.
+// By default, the following errors are retried (see invoke.go for the default
+// shouldRetry function):
+//
+// - HTTP responses with codes 408, 429, 502, 503, and 504.
+//
+// - Transient network errors such as connection reset and io.ErrUnexpectedEOF.
+//
+// - Errors which are considered transient using the Temporary() interface.
+//
+// - Wrapped versions of these errors.
+//
+// This option can be used to retry on a different set of errors than the
+// default.
+func WithErrorFunc(shouldRetry func(err error) bool) RetryOption {
+ return &withErrorFunc{
+ shouldRetry: shouldRetry,
+ }
+}
+
+type withErrorFunc struct {
+ shouldRetry func(err error) bool
+}
+
+func (wef *withErrorFunc) apply(config *retryConfig) {
+ config.shouldRetry = wef.shouldRetry
+}
+
+type retryConfig struct {
+ backoff *gax.Backoff
+ policy RetryPolicy
+ shouldRetry func(err error) bool
+}
+
+func (r *retryConfig) clone() *retryConfig {
+ if r == nil {
+ return nil
+ }
+
+ var bo *gax.Backoff
+ if r.backoff != nil {
+ bo = &gax.Backoff{
+ Initial: r.backoff.Initial,
+ Max: r.backoff.Max,
+ Multiplier: r.backoff.Multiplier,
+ }
+ }
+
+ return &retryConfig{
+ backoff: bo,
+ policy: r.policy,
+ shouldRetry: r.shouldRetry,
+ }
+}
+
// composeSourceObj wraps a *raw.ComposeRequestSourceObjects, but adds the methods
// that modifyCall searches for by name.
type composeSourceObj struct {
@@ -1769,7 +2015,12 @@ func setEncryptionHeaders(headers http.Header, key []byte, copySource bool) erro
// ServiceAccount fetches the email address of the given project's Google Cloud Storage service account.
func (c *Client) ServiceAccount(ctx context.Context, projectID string) (string, error) {
r := c.raw.Projects.ServiceAccount.Get(projectID)
- res, err := r.Context(ctx).Do()
+ var res *raw.ServiceAccount
+ var err error
+ err = run(ctx, func() error {
+ res, err = r.Context(ctx).Do()
+ return err
+ }, c.retry, true)
if err != nil {
return "", err
}
@@ -1788,3 +2039,63 @@ func bucketResourceName(p, b string) string {
func parseBucketName(b string) string {
return strings.TrimPrefix(b, "projects/_/buckets/")
}
+
+// setConditionProtoField uses protobuf reflection to set named condition field
+// to the given condition value if supported on the protobuf message.
+//
+// This is an experimental API and not intended for public use.
+func setConditionProtoField(m protoreflect.Message, f string, v int64) bool {
+ fields := m.Descriptor().Fields()
+ if rf := fields.ByName(protoreflect.Name(f)); rf != nil {
+ m.Set(rf, protoreflect.ValueOfInt64(v))
+ return true
+ }
+
+ return false
+}
+
+// applyCondsProto validates and attempts to set the conditions on a protobuf
+// message using protobuf reflection.
+//
+// This is an experimental API and not intended for public use.
+func applyCondsProto(method string, gen int64, conds *Conditions, msg proto.Message) error {
+ rmsg := msg.ProtoReflect()
+
+ if gen >= 0 {
+ if !setConditionProtoField(rmsg, "generation", gen) {
+ return fmt.Errorf("storage: %s: generation not supported", method)
+ }
+ }
+ if conds == nil {
+ return nil
+ }
+ if err := conds.validate(method); err != nil {
+ return err
+ }
+
+ switch {
+ case conds.GenerationMatch != 0:
+ if !setConditionProtoField(rmsg, "if_generation_match", conds.GenerationMatch) {
+ return fmt.Errorf("storage: %s: ifGenerationMatch not supported", method)
+ }
+ case conds.GenerationNotMatch != 0:
+ if !setConditionProtoField(rmsg, "if_generation_not_match", conds.GenerationNotMatch) {
+ return fmt.Errorf("storage: %s: ifGenerationNotMatch not supported", method)
+ }
+ case conds.DoesNotExist:
+ if !setConditionProtoField(rmsg, "if_generation_match", int64(0)) {
+ return fmt.Errorf("storage: %s: DoesNotExist not supported", method)
+ }
+ }
+ switch {
+ case conds.MetagenerationMatch != 0:
+ if !setConditionProtoField(rmsg, "if_metageneration_match", conds.MetagenerationMatch) {
+ return fmt.Errorf("storage: %s: ifMetagenerationMatch not supported", method)
+ }
+ case conds.MetagenerationNotMatch != 0:
+ if !setConditionProtoField(rmsg, "if_metageneration_not_match", conds.MetagenerationNotMatch) {
+ return fmt.Errorf("storage: %s: ifMetagenerationNotMatch not supported", method)
+ }
+ }
+ return nil
+}
diff --git a/vendor/cloud.google.com/go/storage/writer.go b/vendor/cloud.google.com/go/storage/writer.go
index e468d5d8e..bd886b04e 100644
--- a/vendor/cloud.google.com/go/storage/writer.go
+++ b/vendor/cloud.google.com/go/storage/writer.go
@@ -21,10 +21,24 @@ import (
"fmt"
"io"
"sync"
+ "time"
"unicode/utf8"
+ "github.com/golang/protobuf/proto"
+ "golang.org/x/xerrors"
"google.golang.org/api/googleapi"
raw "google.golang.org/api/storage/v1"
+ storagepb "google.golang.org/genproto/googleapis/storage/v2"
+ "google.golang.org/grpc/codes"
+ "google.golang.org/grpc/status"
+)
+
+const (
+ // Maximum amount of content that can be sent per WriteObjectRequest message.
+ // A buffer reaching this amount will precipitate a flush of the buffer.
+ //
+ // This is only used for the gRPC-based Writer.
+ maxPerMessageWriteSize int = int(storagepb.ServiceConstants_MAX_WRITE_CHUNK_BYTES)
)
// A Writer writes a Cloud Storage object.
@@ -63,6 +77,23 @@ type Writer struct {
// ChunkSize must be set before the first Write call.
ChunkSize int
+ // ChunkRetryDeadline sets a per-chunk retry deadline for multi-chunk
+ // resumable uploads.
+ //
+ // For uploads of larger files, the Writer will attempt to retry if the
+ // request to upload a particular chunk fails with a transient error.
+ // If a single chunk has been attempting to upload for longer than this
+ // deadline and the request fails, it will no longer be retried, and the error
+ // will be returned to the caller. This is only applicable for files which are
+ // large enough to require a multi-chunk resumable upload. The default value
+ // is 32s. Users may want to pick a longer deadline if they are using larger
+ // values for ChunkSize or if they expect to have a slow or unreliable
+ // internet connection.
+ //
+ // To set a deadline on the entire upload, use context timeout or
+ // cancellation.
+ ChunkRetryDeadline time.Duration
+
// ProgressFunc can be used to monitor the progress of a large write.
// operation. If ProgressFunc is not nil and writing requires multiple
// calls to the underlying service (see
@@ -84,36 +115,39 @@ type Writer struct {
mu sync.Mutex
err error
+
+ // The gRPC client-stream used for sending buffers.
+ //
+ // This is an experimental API and not intended for public use.
+ stream storagepb.Storage_WriteObjectClient
+
+ // The Resumable Upload ID started by a gRPC-based Writer.
+ //
+ // This is an experimental API and not intended for public use.
+ upid string
}
func (w *Writer) open() error {
- attrs := w.ObjectAttrs
- // Check the developer didn't change the object Name (this is unfortunate, but
- // we don't want to store an object under the wrong name).
- if attrs.Name != w.o.object {
- return fmt.Errorf("storage: Writer.Name %q does not match object name %q", attrs.Name, w.o.object)
- }
- if !utf8.ValidString(attrs.Name) {
- return fmt.Errorf("storage: object name %q is not valid UTF-8", attrs.Name)
- }
- if attrs.KMSKeyName != "" && w.o.encryptionKey != nil {
- return errors.New("storage: cannot use KMSKeyName with a customer-supplied encryption key")
- }
- if w.ChunkSize < 0 {
- return errors.New("storage: Writer.ChunkSize must be non-negative")
+ if err := w.validateWriteAttrs(); err != nil {
+ return err
}
+
pr, pw := io.Pipe()
w.pw = pw
w.opened = true
go w.monitorCancel()
+ attrs := w.ObjectAttrs
mediaOpts := []googleapi.MediaOption{
googleapi.ChunkSize(w.ChunkSize),
}
if c := attrs.ContentType; c != "" {
mediaOpts = append(mediaOpts, googleapi.ContentType(c))
}
+ if w.ChunkRetryDeadline != 0 {
+ mediaOpts = append(mediaOpts, googleapi.ChunkRetryDeadline(w.ChunkRetryDeadline))
+ }
go func() {
defer close(w.donec)
@@ -159,6 +193,22 @@ func (w *Writer) open() error {
// call to set up the upload as well as calls to upload individual chunks
// for a resumable upload (as long as the chunk size is non-zero). Hence
// there is no need to add retries here.
+
+ // Retry only when the operation is idempotent or the retry policy is RetryAlways.
+ isIdempotent := w.o.conds != nil && (w.o.conds.GenerationMatch >= 0 || w.o.conds.DoesNotExist == true)
+ var useRetry bool
+ if (w.o.retry == nil || w.o.retry.policy == RetryIdempotent) && isIdempotent {
+ useRetry = true
+ } else if w.o.retry != nil && w.o.retry.policy == RetryAlways {
+ useRetry = true
+ }
+ if useRetry {
+ if w.o.retry != nil {
+ call.WithRetry(w.o.retry.backoff, w.o.retry.shouldRetry)
+ } else {
+ call.WithRetry(nil, nil)
+ }
+ }
resp, err = call.Do()
}
if err != nil {
@@ -190,7 +240,12 @@ func (w *Writer) Write(p []byte) (n int, err error) {
return 0, werr
}
if !w.opened {
- if err := w.open(); err != nil {
+ // gRPC client has been initialized - use gRPC to upload.
+ if w.o.c.gc != nil {
+ if err := w.openGRPC(); err != nil {
+ return 0, err
+ }
+ } else if err := w.open(); err != nil {
return 0, err
}
}
@@ -202,7 +257,7 @@ func (w *Writer) Write(p []byte) (n int, err error) {
// Preserve existing functionality that when context is canceled, Write will return
// context.Canceled instead of "io: read/write on closed pipe". This hides the
// pipe implementation detail from users and makes Write seem as though it's an RPC.
- if werr == context.Canceled || werr == context.DeadlineExceeded {
+ if xerrors.Is(werr, context.Canceled) || xerrors.Is(werr, context.DeadlineExceeded) {
return n, werr
}
}
@@ -263,3 +318,373 @@ func (w *Writer) CloseWithError(err error) error {
func (w *Writer) Attrs() *ObjectAttrs {
return w.obj
}
+
+func (w *Writer) validateWriteAttrs() error {
+ attrs := w.ObjectAttrs
+ // Check the developer didn't change the object Name (this is unfortunate, but
+ // we don't want to store an object under the wrong name).
+ if attrs.Name != w.o.object {
+ return fmt.Errorf("storage: Writer.Name %q does not match object name %q", attrs.Name, w.o.object)
+ }
+ if !utf8.ValidString(attrs.Name) {
+ return fmt.Errorf("storage: object name %q is not valid UTF-8", attrs.Name)
+ }
+ if attrs.KMSKeyName != "" && w.o.encryptionKey != nil {
+ return errors.New("storage: cannot use KMSKeyName with a customer-supplied encryption key")
+ }
+ if w.ChunkSize < 0 {
+ return errors.New("storage: Writer.ChunkSize must be non-negative")
+ }
+ return nil
+}
+
+// progress is a convenience wrapper that reports write progress to the Writer
+// ProgressFunc if it is set and progress is non-zero.
+func (w *Writer) progress(p int64) {
+ if w.ProgressFunc != nil && p != 0 {
+ w.ProgressFunc(p)
+ }
+}
+
+// error acquires the Writer's lock, sets the Writer's err to the given error,
+// then relinquishes the lock.
+func (w *Writer) error(err error) {
+ w.mu.Lock()
+ w.err = err
+ w.mu.Unlock()
+}
+
+// openGRPC initializes a pipe for the user to write data to, and a routine to
+// read from that pipe and upload the data to GCS via gRPC.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) openGRPC() error {
+ if err := w.validateWriteAttrs(); err != nil {
+ return err
+ }
+
+ pr, pw := io.Pipe()
+ w.pw = pw
+ w.opened = true
+
+ go w.monitorCancel()
+
+ bufSize := w.ChunkSize
+ if w.ChunkSize == 0 {
+ // TODO: Should we actually use the minimum of 256 KB here when the user
+ // indicates they want minimal memory usage? We cannot do a zero-copy,
+ // bufferless upload like HTTP/JSON can.
+ // TODO: We need to determine if we can avoid starting a
+ // resumable upload when the user *plans* to send more than bufSize but
+ // with a bufferless upload.
+ bufSize = maxPerMessageWriteSize
+ }
+ buf := make([]byte, bufSize)
+
+ var offset int64
+
+ // This function reads the data sent to the pipe and sends sets of messages
+ // on the gRPC client-stream as the buffer is filled.
+ go func() {
+ defer close(w.donec)
+
+ // Loop until there is an error or the Object has been finalized.
+ for {
+ // Note: This blocks until either the buffer is full or EOF is read.
+ recvd, doneReading, err := read(pr, buf)
+ if err != nil {
+ err = checkCanceled(err)
+ w.error(err)
+ pr.CloseWithError(err)
+ return
+ }
+ toWrite := buf[:recvd]
+
+ // TODO: Figure out how to set up encryption via CommonObjectRequestParams.
+
+ // The chunk buffer is full, but there is no end in sight. This
+ // means that a resumable upload will need to be used to send
+ // multiple chunks, until we are done reading data. Start a
+ // resumable upload if it has not already been started.
+ // Otherwise, all data will be sent over a single gRPC stream.
+ if !doneReading && w.upid == "" {
+ err = w.startResumableUpload()
+ if err != nil {
+ err = checkCanceled(err)
+ w.error(err)
+ pr.CloseWithError(err)
+ return
+ }
+ }
+
+ o, off, finalized, err := w.uploadBuffer(toWrite, recvd, offset, doneReading)
+ if err != nil {
+ err = checkCanceled(err)
+ w.error(err)
+ pr.CloseWithError(err)
+ return
+ }
+ // At this point, the current buffer has been uploaded. Capture the
+ // committed offset here in case the upload was not finalized and
+ // another chunk is to be uploaded.
+ offset = off
+ w.progress(offset)
+
+ // When we are done reading data and the chunk has been finalized,
+ // we are done.
+ if doneReading && finalized {
+ // Build Object from server's response.
+ w.obj = newObjectFromProto(o)
+ return
+ }
+ }
+ }()
+
+ return nil
+}
+
+// startResumableUpload initializes a Resumable Upload with gRPC and sets the
+// upload ID on the Writer.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) startResumableUpload() error {
+ var common *storagepb.CommonRequestParams
+ if w.o.userProject != "" {
+ common = &storagepb.CommonRequestParams{UserProject: w.o.userProject}
+ }
+ spec, err := w.writeObjectSpec()
+ if err != nil {
+ return err
+ }
+ upres, err := w.o.c.gc.StartResumableWrite(w.ctx, &storagepb.StartResumableWriteRequest{
+ WriteObjectSpec: spec,
+ CommonRequestParams: common,
+ })
+
+ w.upid = upres.GetUploadId()
+ return err
+}
+
+// queryProgress is a helper that queries the status of the resumable upload
+// associated with the given upload ID.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) queryProgress() (int64, error) {
+ q, err := w.o.c.gc.QueryWriteStatus(w.ctx, &storagepb.QueryWriteStatusRequest{UploadId: w.upid})
+
+ // q.GetCommittedSize() will return 0 if q is nil.
+ return q.GetPersistedSize(), err
+}
+
+// uploadBuffer opens a Write stream and uploads the buffer at the given offset (if
+// uploading a chunk for a resumable uploadBuffer), and will mark the write as
+// finished if we are done receiving data from the user. The resulting write
+// offset after uploading the buffer is returned, as well as a boolean
+// indicating if the Object has been finalized. If it has been finalized, the
+// final Object will be returned as well. Finalizing the upload is primarily
+// important for Resumable Uploads. A simple or multi-part upload will always
+// be finalized once the entire buffer has been written.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) uploadBuffer(buf []byte, recvd int, start int64, doneReading bool) (*storagepb.Object, int64, bool, error) {
+ var err error
+ var finishWrite bool
+ var sent, limit int = 0, maxPerMessageWriteSize
+ offset := start
+ for {
+ first := sent == 0
+ // This indicates that this is the last message and the remaining
+ // data fits in one message.
+ belowLimit := recvd-sent <= limit
+ if belowLimit {
+ limit = recvd - sent
+ }
+ if belowLimit && doneReading {
+ finishWrite = true
+ }
+
+ // Prepare chunk section for upload.
+ data := buf[sent : sent+limit]
+ req := &storagepb.WriteObjectRequest{
+ Data: &storagepb.WriteObjectRequest_ChecksummedData{
+ ChecksummedData: &storagepb.ChecksummedData{
+ Content: data,
+ },
+ },
+ WriteOffset: offset,
+ FinishWrite: finishWrite,
+ }
+
+ // Open a new stream and set the first_message field on the request.
+ // The first message on the WriteObject stream must either be the
+ // Object or the Resumable Upload ID.
+ if first {
+ w.stream, err = w.o.c.gc.WriteObject(w.ctx)
+ if err != nil {
+ return nil, 0, false, err
+ }
+
+ if w.upid != "" {
+ req.FirstMessage = &storagepb.WriteObjectRequest_UploadId{UploadId: w.upid}
+ } else {
+ spec, err := w.writeObjectSpec()
+ if err != nil {
+ return nil, 0, false, err
+ }
+ req.FirstMessage = &storagepb.WriteObjectRequest_WriteObjectSpec{
+ WriteObjectSpec: spec,
+ }
+ }
+
+ // TODO: Currently the checksums are only sent on the first message
+ // of the stream, but in the future, we must also support sending it
+ // on the *last* message of the stream (instead of the first).
+ if w.SendCRC32C {
+ req.ObjectChecksums = &storagepb.ObjectChecksums{
+ Crc32C: proto.Uint32(w.CRC32C),
+ Md5Hash: w.MD5,
+ }
+ }
+ }
+
+ err = w.stream.Send(req)
+ if err == io.EOF {
+ // err was io.EOF. The client-side of a stream only gets an EOF on Send
+ // when the backend closes the stream and wants to return an error
+ // status. Closing the stream receives the status as an error.
+ _, err = w.stream.CloseAndRecv()
+
+ // Retriable errors mean we should start over and attempt to
+ // resend the entire buffer via a new stream.
+ // If not retriable, falling through will return the error received
+ // from closing the stream.
+ if shouldRetry(err) {
+ sent = 0
+ finishWrite = false
+ // TODO: Add test case for failure modes of querying progress.
+ offset, err = w.determineOffset(start)
+ if err == nil {
+ continue
+ }
+ }
+ }
+ if err != nil {
+ return nil, 0, false, err
+ }
+
+ // Update the immediate stream's sent total and the upload offset with
+ // the data sent.
+ sent += len(data)
+ offset += int64(len(data))
+
+ // Not done sending data, do not attempt to commit it yet, loop around
+ // and send more data.
+ if recvd-sent > 0 {
+ continue
+ }
+
+ // Done sending data. Close the stream to "commit" the data sent.
+ resp, finalized, err := w.commit()
+ // Retriable errors mean we should start over and attempt to
+ // resend the entire buffer via a new stream.
+ // If not retriable, falling through will return the error received
+ // from closing the stream.
+ if shouldRetry(err) {
+ sent = 0
+ finishWrite = false
+ offset, err = w.determineOffset(start)
+ if err == nil {
+ continue
+ }
+ }
+ if err != nil {
+ return nil, 0, false, err
+ }
+
+ return resp.GetResource(), offset, finalized, nil
+ }
+}
+
+// determineOffset either returns the offset given to it in the case of a simple
+// upload, or queries the write status in the case a resumable upload is being
+// used.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) determineOffset(offset int64) (int64, error) {
+ // For a Resumable Upload, we must start from however much data
+ // was committed.
+ if w.upid != "" {
+ committed, err := w.queryProgress()
+ if err != nil {
+ return 0, err
+ }
+ offset = committed
+ }
+ return offset, nil
+}
+
+// commit closes the stream to commit the data sent and potentially receive
+// the finalized object if finished uploading. If the last request sent
+// indicated that writing was finished, the Object will be finalized and
+// returned. If not, then the Object will be nil, and the boolean returned will
+// be false.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) commit() (*storagepb.WriteObjectResponse, bool, error) {
+ finalized := true
+ resp, err := w.stream.CloseAndRecv()
+ if err == io.EOF {
+ // Closing a stream for a resumable upload finish_write = false results
+ // in an EOF which can be ignored, as we aren't done uploading yet.
+ finalized = false
+ err = nil
+ }
+ // Drop the stream reference as it has been closed.
+ w.stream = nil
+
+ return resp, finalized, err
+}
+
+// writeObjectSpec constructs a WriteObjectSpec proto using the Writer's
+// ObjectAttrs and applies its Conditions. This is only used for gRPC.
+//
+// This is an experimental API and not intended for public use.
+func (w *Writer) writeObjectSpec() (*storagepb.WriteObjectSpec, error) {
+ spec := &storagepb.WriteObjectSpec{
+ Resource: w.ObjectAttrs.toProtoObject(w.o.bucket),
+ }
+ // WriteObject doesn't support the generation condition, so use -1.
+ if err := applyCondsProto("WriteObject", -1, w.o.conds, spec); err != nil {
+ return nil, err
+ }
+ return spec, nil
+}
+
+// read copies the data in the reader to the given buffer and reports how much
+// data was read into the buffer and if there is no more data to read (EOF).
+//
+// This is an experimental API and not intended for public use.
+func read(r io.Reader, buf []byte) (int, bool, error) {
+ // Set n to -1 to start the Read loop.
+ var n, recvd int = -1, 0
+ var err error
+ for err == nil && n != 0 {
+ // The routine blocks here until data is received.
+ n, err = r.Read(buf[recvd:])
+ recvd += n
+ }
+ var done bool
+ if err == io.EOF {
+ done = true
+ err = nil
+ }
+ return recvd, done, err
+}
+
+func checkCanceled(err error) error {
+ if status.Code(err) == codes.Canceled {
+ return context.Canceled
+ }
+
+ return err
+}
diff --git a/vendor/cloud.google.com/go/testing.md b/vendor/cloud.google.com/go/testing.md
index 03867d561..bcca0604d 100644
--- a/vendor/cloud.google.com/go/testing.md
+++ b/vendor/cloud.google.com/go/testing.md
@@ -9,7 +9,7 @@ on the Go client libraries.
## Testing gRPC services using fakes
*Note*: You can see the full
-[example code using a fake here](https://github.com/googleapis/google-cloud-go/tree/master/internal/examples/fake).
+[example code using a fake here](https://github.com/googleapis/google-cloud-go/tree/main/internal/examples/fake).
The clients found in `cloud.google.com/go` are gRPC based, with a couple of
notable exceptions being the [`storage`](https://pkg.go.dev/cloud.google.com/go/storage)
@@ -143,7 +143,7 @@ func TestTranslateTextWithConcreteClient(t *testing.T) {
## Testing using mocks
*Note*: You can see the full
-[example code using a mock here](https://github.com/googleapis/google-cloud-go/tree/master/internal/examples/mock).
+[example code using a mock here](https://github.com/googleapis/google-cloud-go/tree/main/internal/examples/mock).
When mocking code you need to work with interfaces. Let’s create an interface
for the `cloud.google.com/go/translate/apiv3` client used in the
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
index 74f35ccf0..b147f103c 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/client.go
@@ -10,12 +10,13 @@ import (
// A Config provides configuration to a service client instance.
type Config struct {
- Config *aws.Config
- Handlers request.Handlers
- PartitionID string
- Endpoint string
- SigningRegion string
- SigningName string
+ Config *aws.Config
+ Handlers request.Handlers
+ PartitionID string
+ Endpoint string
+ SigningRegion string
+ SigningName string
+ ResolvedRegion string
// States that the signing name did not come from a modeled source but
// was derived based on other data. Used by service client constructors
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
index 0c48f72e0..a7530ebb3 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/client/metadata/client_info.go
@@ -2,13 +2,14 @@ package metadata
// ClientInfo wraps immutable data from the client.Client structure.
type ClientInfo struct {
- ServiceName string
- ServiceID string
- APIVersion string
- PartitionID string
- Endpoint string
- SigningName string
- SigningRegion string
- JSONVersion string
- TargetPrefix string
+ ServiceName string
+ ServiceID string
+ APIVersion string
+ PartitionID string
+ Endpoint string
+ SigningName string
+ SigningRegion string
+ JSONVersion string
+ TargetPrefix string
+ ResolvedRegion string
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/config.go b/vendor/github.com/aws/aws-sdk-go/aws/config.go
index 39fa6d5fe..4818ea427 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/config.go
@@ -170,6 +170,9 @@ type Config struct {
//
// For example S3's X-Amz-Meta prefixed header will be unmarshaled to lower case
// Metadata member's map keys. The value of the header in the map is unaffected.
+ //
+ // The AWS SDK for Go v2, uses lower case header maps by default. The v1
+ // SDK provides this opt-in for this option, for backwards compatibility.
LowerCaseHeaderMaps *bool
// Set this to `true` to disable the EC2Metadata client from overriding the
@@ -208,8 +211,19 @@ type Config struct {
// svc := s3.New(sess, &aws.Config{
// UseDualStack: aws.Bool(true),
// })
+ //
+ // Deprecated: This option will continue to function for S3 and S3 Control for backwards compatibility.
+ // UseDualStackEndpoint should be used to enable usage of a service's dual-stack endpoint for all service clients
+ // moving forward. For S3 and S3 Control, when UseDualStackEndpoint is set to a non-zero value it takes higher
+ // precedence then this option.
UseDualStack *bool
+ // Sets the resolver to resolve a dual-stack endpoint for the service.
+ UseDualStackEndpoint endpoints.DualStackEndpointState
+
+ // UseFIPSEndpoint specifies the resolver must resolve a FIPS endpoint.
+ UseFIPSEndpoint endpoints.FIPSEndpointState
+
// SleepDelay is an override for the func the SDK will call when sleeping
// during the lifecycle of a request. Specifically this will be used for
// request delays. This value should only be used for testing. To adjust
@@ -554,6 +568,10 @@ func mergeInConfig(dst *Config, other *Config) {
dst.UseDualStack = other.UseDualStack
}
+ if other.UseDualStackEndpoint != endpoints.DualStackEndpointStateUnset {
+ dst.UseDualStackEndpoint = other.UseDualStackEndpoint
+ }
+
if other.EC2MetadataDisableTimeoutOverride != nil {
dst.EC2MetadataDisableTimeoutOverride = other.EC2MetadataDisableTimeoutOverride
}
@@ -589,6 +607,14 @@ func mergeInConfig(dst *Config, other *Config) {
if other.LowerCaseHeaderMaps != nil {
dst.LowerCaseHeaderMaps = other.LowerCaseHeaderMaps
}
+
+ if other.UseDualStackEndpoint != endpoints.DualStackEndpointStateUnset {
+ dst.UseDualStackEndpoint = other.UseDualStackEndpoint
+ }
+
+ if other.UseFIPSEndpoint != endpoints.FIPSEndpointStateUnset {
+ dst.UseFIPSEndpoint = other.UseFIPSEndpoint
+ }
}
// Copy will return a shallow copy of the Config object. If any additional
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go
index cefe2a76d..19ad619aa 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/credentials/stscreds/web_identity_provider.go
@@ -28,7 +28,7 @@ const (
// compare test values.
var now = time.Now
-// TokenFetcher shuold return WebIdentity token bytes or an error
+// TokenFetcher should return WebIdentity token bytes or an error
type TokenFetcher interface {
FetchToken(credentials.Context) ([]byte, error)
}
@@ -50,6 +50,8 @@ func (f FetchTokenPath) FetchToken(ctx credentials.Context) ([]byte, error) {
// an OIDC token.
type WebIdentityRoleProvider struct {
credentials.Expiry
+
+ // The policy ARNs to use with the web identity assumed role.
PolicyArns []*sts.PolicyDescriptorType
// Duration the STS credentials will be valid for. Truncated to seconds.
@@ -74,6 +76,9 @@ type WebIdentityRoleProvider struct {
// NewWebIdentityCredentials will return a new set of credentials with a given
// configuration, role arn, and token file path.
+//
+// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible
+// functional options, and wrap with credentials.NewCredentials helper.
func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName, path string) *credentials.Credentials {
svc := sts.New(c)
p := NewWebIdentityRoleProvider(svc, roleARN, roleSessionName, path)
@@ -82,19 +87,42 @@ func NewWebIdentityCredentials(c client.ConfigProvider, roleARN, roleSessionName
// NewWebIdentityRoleProvider will return a new WebIdentityRoleProvider with the
// provided stsiface.STSAPI
+//
+// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible
+// functional options.
func NewWebIdentityRoleProvider(svc stsiface.STSAPI, roleARN, roleSessionName, path string) *WebIdentityRoleProvider {
- return NewWebIdentityRoleProviderWithToken(svc, roleARN, roleSessionName, FetchTokenPath(path))
+ return NewWebIdentityRoleProviderWithOptions(svc, roleARN, roleSessionName, FetchTokenPath(path))
}
// NewWebIdentityRoleProviderWithToken will return a new WebIdentityRoleProvider with the
// provided stsiface.STSAPI and a TokenFetcher
+//
+// Deprecated: Use NewWebIdentityRoleProviderWithOptions for flexible
+// functional options.
func NewWebIdentityRoleProviderWithToken(svc stsiface.STSAPI, roleARN, roleSessionName string, tokenFetcher TokenFetcher) *WebIdentityRoleProvider {
- return &WebIdentityRoleProvider{
+ return NewWebIdentityRoleProviderWithOptions(svc, roleARN, roleSessionName, tokenFetcher)
+}
+
+// NewWebIdentityRoleProviderWithOptions will return an initialize
+// WebIdentityRoleProvider with the provided stsiface.STSAPI, role ARN, and a
+// TokenFetcher. Additional options can be provided as functional options.
+//
+// TokenFetcher is the implementation that will retrieve the JWT token from to
+// assume the role with. Use the provided FetchTokenPath implementation to
+// retrieve the JWT token using a file system path.
+func NewWebIdentityRoleProviderWithOptions(svc stsiface.STSAPI, roleARN, roleSessionName string, tokenFetcher TokenFetcher, optFns ...func(*WebIdentityRoleProvider)) *WebIdentityRoleProvider {
+ p := WebIdentityRoleProvider{
client: svc,
tokenFetcher: tokenFetcher,
roleARN: roleARN,
roleSessionName: roleSessionName,
}
+
+ for _, fn := range optFns {
+ fn(&p)
+ }
+
+ return &p
}
// Retrieve will attempt to assume a role from a token which is located at
@@ -104,9 +132,9 @@ func (p *WebIdentityRoleProvider) Retrieve() (credentials.Value, error) {
return p.RetrieveWithContext(aws.BackgroundContext())
}
-// RetrieveWithContext will attempt to assume a role from a token which is located at
-// 'WebIdentityTokenFilePath' specified destination and if that is empty an
-// error will be returned.
+// RetrieveWithContext will attempt to assume a role from a token which is
+// located at 'WebIdentityTokenFilePath' specified destination and if that is
+// empty an error will be returned.
func (p *WebIdentityRoleProvider) RetrieveWithContext(ctx credentials.Context) (credentials.Value, error) {
b, err := p.tokenFetcher.FetchToken(ctx)
if err != nil {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
index b98ea8698..8d65ca1d6 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/decode.go
@@ -81,7 +81,6 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol
// Customization
for i := 0; i < len(ps); i++ {
p := &ps[i]
- custAddS3DualStack(p)
custRegionalS3(p)
custRmIotDataService(p)
custFixAppAutoscalingChina(p)
@@ -91,15 +90,6 @@ func decodeV3Endpoints(modelDef modelDefinition, opts DecodeModelOptions) (Resol
return ps, nil
}
-func custAddS3DualStack(p *partition) {
- if !(p.ID == "aws" || p.ID == "aws-cn" || p.ID == "aws-us-gov") {
- return
- }
-
- custAddDualstack(p, "s3")
- custAddDualstack(p, "s3-control")
-}
-
func custRegionalS3(p *partition) {
if p.ID != "aws" {
return
@@ -110,35 +100,28 @@ func custRegionalS3(p *partition) {
return
}
+ const awsGlobal = "aws-global"
+ const usEast1 = "us-east-1"
+
// If global endpoint already exists no customization needed.
- if _, ok := service.Endpoints["aws-global"]; ok {
+ if _, ok := service.Endpoints[endpointKey{Region: awsGlobal}]; ok {
return
}
- service.PartitionEndpoint = "aws-global"
- service.Endpoints["us-east-1"] = endpoint{}
- service.Endpoints["aws-global"] = endpoint{
+ service.PartitionEndpoint = awsGlobal
+ if _, ok := service.Endpoints[endpointKey{Region: usEast1}]; !ok {
+ service.Endpoints[endpointKey{Region: usEast1}] = endpoint{}
+ }
+ service.Endpoints[endpointKey{Region: awsGlobal}] = endpoint{
Hostname: "s3.amazonaws.com",
CredentialScope: credentialScope{
- Region: "us-east-1",
+ Region: usEast1,
},
}
p.Services["s3"] = service
}
-func custAddDualstack(p *partition, svcName string) {
- s, ok := p.Services[svcName]
- if !ok {
- return
- }
-
- s.Defaults.HasDualStack = boxedTrue
- s.Defaults.DualStackHostname = "{service}.dualstack.{region}.{dnsSuffix}"
-
- p.Services[svcName] = s
-}
-
func custRmIotDataService(p *partition) {
delete(p.Services, "data.iot")
}
@@ -155,12 +138,13 @@ func custFixAppAutoscalingChina(p *partition) {
}
const expectHostname = `autoscaling.{region}.amazonaws.com`
- if e, a := s.Defaults.Hostname, expectHostname; e != a {
+ serviceDefault := s.Defaults[defaultKey{}]
+ if e, a := expectHostname, serviceDefault.Hostname; e != a {
fmt.Printf("custFixAppAutoscalingChina: ignoring customization, expected %s, got %s\n", e, a)
return
}
-
- s.Defaults.Hostname = expectHostname + ".cn"
+ serviceDefault.Hostname = expectHostname + ".cn"
+ s.Defaults[defaultKey{}] = serviceDefault
p.Services[serviceName] = s
}
@@ -175,18 +159,25 @@ func custFixAppAutoscalingUsGov(p *partition) {
return
}
- if a := s.Defaults.CredentialScope.Service; a != "" {
+ serviceDefault := s.Defaults[defaultKey{}]
+ if a := serviceDefault.CredentialScope.Service; a != "" {
fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty credential scope service, got %s\n", a)
return
}
- if a := s.Defaults.Hostname; a != "" {
+ if a := serviceDefault.Hostname; a != "" {
fmt.Printf("custFixAppAutoscalingUsGov: ignoring customization, expected empty hostname, got %s\n", a)
return
}
- s.Defaults.CredentialScope.Service = "application-autoscaling"
- s.Defaults.Hostname = "autoscaling.{region}.amazonaws.com"
+ serviceDefault.CredentialScope.Service = "application-autoscaling"
+ serviceDefault.Hostname = "autoscaling.{region}.amazonaws.com"
+
+ if s.Defaults == nil {
+ s.Defaults = make(endpointDefaults)
+ }
+
+ s.Defaults[defaultKey{}] = serviceDefault
p.Services[serviceName] = s
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
index 66a710139..95f5502d7 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/defaults.go
@@ -25,6 +25,7 @@ const (
ApSouth1RegionID = "ap-south-1" // Asia Pacific (Mumbai).
ApSoutheast1RegionID = "ap-southeast-1" // Asia Pacific (Singapore).
ApSoutheast2RegionID = "ap-southeast-2" // Asia Pacific (Sydney).
+ ApSoutheast3RegionID = "ap-southeast-3" // Asia Pacific (Jakarta).
CaCentral1RegionID = "ca-central-1" // Canada (Central).
EuCentral1RegionID = "eu-central-1" // Europe (Frankfurt).
EuNorth1RegionID = "eu-north-1" // Europe (Stockholm).
@@ -55,6 +56,7 @@ const (
// AWS ISO (US) partition's regions.
const (
UsIsoEast1RegionID = "us-iso-east-1" // US ISO East.
+ UsIsoWest1RegionID = "us-iso-west-1" // US ISO WEST.
)
// AWS ISOB (US) partition's regions.
@@ -104,10 +106,36 @@ var awsPartition = partition{
return reg
}(),
},
- Defaults: endpoint{
- Hostname: "{service}.{region}.{dnsSuffix}",
- Protocols: []string{"https"},
- SignatureVersions: []string{"v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ DNSSuffix: "api.aws",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "api.aws",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
},
Regions: regions{
"af-south-1": region{
@@ -134,6 +162,9 @@ var awsPartition = partition{
"ap-southeast-2": region{
Description: "Asia Pacific (Sydney)",
},
+ "ap-southeast-3": region{
+ Description: "Asia Pacific (Jakarta)",
+ },
"ca-central-1": region{
Description: "Canada (Central)",
},
@@ -176,1009 +207,2874 @@ var awsPartition = partition{
},
Services: services{
"a4b": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"access-analyzer": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "access-analyzer-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "access-analyzer-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "access-analyzer-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "access-analyzer-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "access-analyzer-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "access-analyzer-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "access-analyzer-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "access-analyzer-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "access-analyzer-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "access-analyzer-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "account": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
+ Hostname: "account.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"acm": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "ca-central-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
Hostname: "acm-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-fips.us-east-1.amazonaws.com",
},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "acm-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "acm-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "acm-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "acm-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"acm-pca": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "acm-pca-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "acm-pca-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "acm-pca-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "acm-pca-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "acm-pca-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"airflow": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"amplify": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"amplifybackend": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "amplifyuibuilder": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"api.detective": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"api.ecr": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{
Hostname: "api.ecr.af-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "af-south-1",
},
},
- "ap-east-1": endpoint{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{
Hostname: "api.ecr.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
},
- "ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "api.ecr.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "api.ecr.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-northeast-3": endpoint{
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{
Hostname: "api.ecr.ap-northeast-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-3",
},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Hostname: "api.ecr.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "api.ecr.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "api.ecr.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{
+ Hostname: "api.ecr.ap-southeast-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-3",
+ },
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "api.ecr.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "dkr-us-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-east-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-west-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "api.ecr.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-north-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
Hostname: "api.ecr.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
},
- "eu-south-1": endpoint{
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{
Hostname: "api.ecr.eu-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "api.ecr.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "api.ecr.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Hostname: "api.ecr.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
},
- "fips-dkr-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-dkr-us-east-1",
+ }: endpoint{
Hostname: "ecr-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-dkr-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-dkr-us-east-2",
+ }: endpoint{
Hostname: "ecr-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-dkr-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-dkr-us-west-1",
+ }: endpoint{
Hostname: "ecr-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-dkr-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-dkr-us-west-2",
+ }: endpoint{
Hostname: "ecr-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ecr-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ecr-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ecr-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ecr-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{
Hostname: "api.ecr.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
},
- "sa-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
Hostname: "api.ecr.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "api.ecr.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "api.ecr.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-1": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
Hostname: "api.ecr.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "api.ecr.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
},
},
"api.elastic-inference": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "api.elastic-inference.ap-northeast-1.amazonaws.com",
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "api.elastic-inference.ap-northeast-2.amazonaws.com",
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "api.elastic-inference.eu-west-1.amazonaws.com",
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "api.elastic-inference.us-east-1.amazonaws.com",
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "api.elastic-inference.us-east-2.amazonaws.com",
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "api.elastic-inference.us-west-2.amazonaws.com",
},
},
},
"api.fleethub.iot": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.fleethub.iot-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "api.fleethub.iot-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "api.fleethub.iot-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "api.fleethub.iot-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "api.fleethub.iot-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.fleethub.iot-fips.us-east-1.amazonaws.com",
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.fleethub.iot-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "api.fleethub.iot-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "api.iotwireless": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "api.iotwireless.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "api.iotwireless.ap-southeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "api.iotwireless.eu-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "api.iotwireless.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
+ Hostname: "api.iotwireless.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"api.mediatailor": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"api.pricing": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "pricing",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "pricing",
+ },
},
},
- Endpoints: endpoints{
- "ap-south-1": endpoint{},
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"api.sagemaker": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "api-fips.sagemaker.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "api-fips.sagemaker.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "api-fips.sagemaker.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "api-fips.sagemaker.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "api.tunneling.iot": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com",
},
},
},
"apigateway": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"app-integrations": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "appconfigdata": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"appflow": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"application-autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "applicationinsights": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"appmesh": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"apprunner": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "apprunner-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "apprunner-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "apprunner-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "apprunner-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "apprunner-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "apprunner-fips.us-west-2.amazonaws.com",
+ },
},
},
"appstream2": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- CredentialScope: credentialScope{
- Service: "appstream",
- },
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ CredentialScope: credentialScope{
+ Service: "appstream",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "appstream2-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "appstream2-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "appstream2-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "appstream2-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "appstream2-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"appsync": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"aps": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"athena": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "athena-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "athena-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "athena-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "athena-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"auditmanager": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"autoscaling-plans": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"backup": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"batch": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.batch.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "fips.batch.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "fips.batch.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "fips.batch.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "fips.batch.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.batch.us-east-1.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.batch.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.batch.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.batch.us-west-2.amazonaws.com",
+ },
+ },
+ },
"braket": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"budgets": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "budgets.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
@@ -1189,9 +3085,10 @@ var awsPartition = partition{
"ce": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "ce.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
@@ -1202,11 +3099,15 @@ var awsPartition = partition{
"chime": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "chime.us-east-1.amazonaws.com",
Protocols: []string{"https"},
CredentialScope: credentialScope{
@@ -1216,101 +3117,385 @@ var awsPartition = partition{
},
},
"cloud9": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "cloudcontrolapi": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-west-2.amazonaws.com",
+ },
},
},
"clouddirectory": service{
-
- Endpoints: endpoints{
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"cloudformation": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudformation-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "cloudformation-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudformation-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "cloudformation-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudformation-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "cloudformation-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudformation-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "cloudformation-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"cloudfront": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "cloudfront.amazonaws.com",
Protocols: []string{"http", "https"},
CredentialScope: credentialScope{
@@ -1320,969 +3505,2597 @@ var awsPartition = partition{
},
},
"cloudhsm": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"cloudhsmv2": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "cloudhsm",
- },
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "cloudhsm",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"cloudsearch": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"cloudtrail": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "cloudtrail-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "cloudtrail-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "cloudtrail-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "cloudtrail-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"codeartifact": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"codebuild": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"codecommit": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
Hostname: "codecommit-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"codedeploy": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"codeguru-reviewer": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"codepipeline": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "codepipeline-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "codepipeline-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "codepipeline-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "codepipeline-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "codepipeline-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"codestar": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"codestar-connections": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"cognito-identity": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "cognito-identity-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "cognito-identity-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "cognito-identity-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-identity-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-identity-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-identity-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"cognito-idp": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "cognito-idp-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "cognito-idp-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "cognito-idp-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "cognito-idp-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-idp-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-idp-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-idp-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-idp-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"cognito-sync": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"comprehend": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "comprehend-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "comprehend-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "comprehend-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehend-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehend-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehend-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"comprehendmedical": service{
-
- Endpoints: endpoints{
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "comprehendmedical-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "comprehendmedical-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "comprehendmedical-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehendmedical-fips.us-east-1.amazonaws.com",
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehendmedical-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "comprehendmedical-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "compute-optimizer": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
+ Hostname: "compute-optimizer.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.ap-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.ap-southeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "compute-optimizer.ap-southeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.eu-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.eu-north-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-north-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.eu-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
+ Hostname: "compute-optimizer.eu-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-2",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
+ Hostname: "compute-optimizer.eu-west-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-3",
+ },
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.sa-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "sa-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
+ Hostname: "compute-optimizer.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
+ Hostname: "compute-optimizer.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"config": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "config-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "config-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "config-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "config-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"connect": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"contact-lens": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"cur": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"data.jobs.iot": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"data.mediastore": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "databrew": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"dataexchange": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"datapipeline": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"datasync": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "datasync-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "datasync-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "datasync-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "datasync-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "datasync-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"dax": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"devicefarm": service{
-
- Endpoints: endpoints{
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"directconnect": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "directconnect-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "directconnect-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "directconnect-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "directconnect-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "directconnect-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "directconnect-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "directconnect-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "directconnect-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"discovery": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"dms": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "dms-fips": endpoint{
- Hostname: "dms-fips.us-west-1.amazonaws.com",
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "dms",
+ }: endpoint{
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms-fips",
+ }: endpoint{
+ Hostname: "dms-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "dms-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "dms-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "dms-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "dms-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"docdb": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "rds.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "rds.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Hostname: "rds.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "rds.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "rds.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "rds.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "rds.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "rds.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "rds.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Hostname: "rds.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
},
- "sa-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
Hostname: "rds.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "rds.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "rds.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "rds.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -2290,1524 +6103,4258 @@ var awsPartition = partition{
},
},
},
+ "drs": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
"ds": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "ds-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ds-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ds-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ds-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ds-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "ca-central-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
Hostname: "dynamodb-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
- },
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "local": endpoint{
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "local",
+ }: endpoint{
Hostname: "localhost:8000",
Protocols: []string{"http"},
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "dynamodb-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "dynamodb-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "dynamodb-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "dynamodb-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"ebs": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ebs-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "ebs-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ebs-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ebs-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ebs-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ebs-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ebs-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ebs-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ebs-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ebs-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"ec2": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.ap-south-1.aws",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.eu-west-1.aws",
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "ec2-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ec2-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ec2-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ec2-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ec2-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.sa-east-1.aws",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.us-east-1.aws",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.us-east-2.aws",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "api.ec2.us-west-2.aws",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"ecs": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ecs-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ecs-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ecs-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ecs-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"eks": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.eks.{region}.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "fips.eks.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "fips.eks.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "fips.eks.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "fips.eks.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.eks.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.eks.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.eks.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.eks.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"elasticache": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "elasticache-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "elasticache-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "elasticache-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "elasticache-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "elasticache-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"elasticbeanstalk": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "elasticbeanstalk-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "elasticbeanstalk-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "elasticbeanstalk-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "elasticbeanstalk-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticbeanstalk-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticbeanstalk-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticbeanstalk-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticbeanstalk-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"elasticfilesystem": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-af-south-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.af-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-northeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-northeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-northeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-southeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-southeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-southeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-north-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.eu-west-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "fips-af-south-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.af-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "af-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-east-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-east-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-2",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-3": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-3",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-northeast-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-3",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-south-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-south-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-2",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-ap-southeast-3",
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.ap-southeast-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-3",
+ },
+ Deprecated: boxedTrue,
},
- "fips-ca-central-1": endpoint{
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-central-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-central-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-north-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-north-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-south-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-south-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-2": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-2",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-3": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-3",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
+ Deprecated: boxedTrue,
},
- "fips-me-south-1": endpoint{
+ endpointKey{
+ Region: "fips-me-south-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-sa-east-1": endpoint{
+ endpointKey{
+ Region: "fips-sa-east-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.me-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.sa-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"elasticloadbalancing": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "elasticloadbalancing-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "elasticloadbalancing-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "elasticloadbalancing-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "elasticloadbalancing-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"elasticmapreduce": service{
- Defaults: endpoint{
- SSLCommonName: "{region}.{service}.{dnsSuffix}",
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SSLCommonName: "{region}.{service}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
SSLCommonName: "{service}.{region}.{dnsSuffix}",
},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "elasticmapreduce-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "elasticmapreduce-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "elasticmapreduce-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "elasticmapreduce-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "elasticmapreduce-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ SSLCommonName: "{service}.{region}.{dnsSuffix}",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce-fips.us-east-1.amazonaws.com",
SSLCommonName: "{service}.{region}.{dnsSuffix}",
},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce-fips.us-west-2.amazonaws.com",
+ },
},
},
"elastictranscoder": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"email": service{
-
- Endpoints: endpoints{
- "ap-south-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"emr-containers": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "emr-containers-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "emr-containers-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "emr-containers-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "emr-containers-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "emr-containers-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "emr-containers-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "emr-containers-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "emr-containers-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "emr-containers-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "emr-containers-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"entitlement.marketplace": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "aws-marketplace",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
},
},
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"es": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
Hostname: "es-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "es-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "es-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "es-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "es-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"events": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "events-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "events-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "events-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "events-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "evidently": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "evidently.ap-northeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
+ Hostname: "evidently.ap-southeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "evidently.ap-southeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
+ Hostname: "evidently.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
+ Hostname: "evidently.eu-north-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "evidently.eu-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "evidently.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
+ Hostname: "evidently.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
+ Hostname: "evidently.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"finspace": service{
-
- Endpoints: endpoints{
- "ca-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"finspace-api": service{
-
- Endpoints: endpoints{
- "ca-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"firehose": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "firehose-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "firehose-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "firehose-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "firehose-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-east-1.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "fms": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-af-south-1": endpoint{
- Hostname: "fms-fips.af-south-1.amazonaws.com",
- CredentialScope: credentialScope{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "fms": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.af-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-northeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-northeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-southeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ap-southeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.eu-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.eu-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.eu-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.eu-west-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "fips-af-south-1",
+ }: endpoint{
+ Hostname: "fms-fips.af-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
Region: "af-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-east-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-east-1",
+ }: endpoint{
Hostname: "fms-fips.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-1",
+ }: endpoint{
Hostname: "fms-fips.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-2",
+ }: endpoint{
Hostname: "fms-fips.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-south-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-south-1",
+ }: endpoint{
Hostname: "fms-fips.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-1",
+ }: endpoint{
Hostname: "fms-fips.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-2",
+ }: endpoint{
Hostname: "fms-fips.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ca-central-1": endpoint{
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "fms-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-central-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-central-1",
+ }: endpoint{
Hostname: "fms-fips.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-south-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-south-1",
+ }: endpoint{
Hostname: "fms-fips.eu-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-1",
+ }: endpoint{
Hostname: "fms-fips.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-2": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-2",
+ }: endpoint{
Hostname: "fms-fips.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-3": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-3",
+ }: endpoint{
Hostname: "fms-fips.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
+ Deprecated: boxedTrue,
},
- "fips-me-south-1": endpoint{
+ endpointKey{
+ Region: "fips-me-south-1",
+ }: endpoint{
Hostname: "fms-fips.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-sa-east-1": endpoint{
+ endpointKey{
+ Region: "fips-sa-east-1",
+ }: endpoint{
Hostname: "fms-fips.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "fms-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "fms-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "fms-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "fms-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.me-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.sa-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"forecast": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "forecast-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "forecast-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "forecast-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecast-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecast-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecast-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"forecastquery": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "forecastquery-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "forecastquery-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "forecastquery-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecastquery-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecastquery-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "forecastquery-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"frauddetector": service{
-
- Endpoints: endpoints{
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"fsx": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-prod-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "fsx-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-ca-central-1",
+ }: endpoint{
+ Hostname: "fsx-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-us-east-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-us-east-2",
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-us-west-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-us-west-2",
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "prod-ca-central-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
},
- "fips-prod-us-east-1": endpoint{
+ endpointKey{
+ Region: "prod-us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-prod-us-east-2": endpoint{
+ endpointKey{
+ Region: "prod-us-east-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
},
- "fips-prod-us-west-1": endpoint{
+ endpointKey{
+ Region: "prod-us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-prod-us-west-2": endpoint{
+ endpointKey{
+ Region: "prod-us-west-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"gamelift": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"glacier": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glacier-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "glacier-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "glacier-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "glacier-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "glacier-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "glacier-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glacier-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glacier-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glacier-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glacier-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"glue": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "glue-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "glue-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "glue-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "glue-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glue-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glue-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glue-fips.us-west-1.amazonaws.com",
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "glue-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "grafana": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "grafana.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
+ Hostname: "grafana.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
+ Hostname: "grafana.ap-southeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "grafana.ap-southeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
+ Hostname: "grafana.eu-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "grafana.eu-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
+ Hostname: "grafana.eu-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-2",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "grafana.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
+ Hostname: "grafana.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
+ Hostname: "grafana.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"greengrass": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"groundstation": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "groundstation-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "groundstation-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "groundstation-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "groundstation-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "groundstation-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "groundstation-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"guardduty": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "guardduty-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "guardduty-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "guardduty-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "guardduty-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"health": service{
-
- Endpoints: endpoints{
- "fips-us-east-2": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "health-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "health-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
},
},
"healthlake": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"honeycode": service{
-
- Endpoints: endpoints{
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"iam": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "iam.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "iam-fips": endpoint{
+ endpointKey{
+ Region: "aws-global",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "iam-fips.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- },
- },
- "identity-chime": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
- Hostname: "identity-chime-fips.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "aws-global-fips",
+ }: endpoint{
+ Hostname: "iam-fips.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- },
- },
- "identitystore": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
- },
- },
+ endpointKey{
+ Region: "iam",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "iam",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iam-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "iam-fips",
+ }: endpoint{
+ Hostname: "iam-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "identity-chime": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "identity-chime-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "identity-chime-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "identitystore": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
"importexport": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "importexport.amazonaws.com",
SignatureVersions: []string{"v2", "v4"},
CredentialScope: credentialScope{
@@ -3818,189 +10365,456 @@ var awsPartition = partition{
},
},
"inspector": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "inspector-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "inspector-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "inspector-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "inspector-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "inspector2": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"iot": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "execute-api",
- },
- },
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "execute-api",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "iot-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "iot-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "iot-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "iot-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "iot-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"iotanalytics": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"iotevents": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"ioteventsdata": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "data.iotevents.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "data.iotevents.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
+ Hostname: "data.iotevents.ap-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "data.iotevents.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "data.iotevents.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "data.iotevents.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "data.iotevents.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "data.iotevents.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "data.iotevents.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "data.iotevents.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "data.iotevents.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -4009,101 +10823,243 @@ var awsPartition = partition{
},
},
"iotsecuredtunneling": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
- "iotthingsgraph": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "iotthingsgraph",
- },
+ "iotsitewise": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ "iotthingsgraph": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "iotthingsgraph",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"iotwireless": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "api.iotwireless.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "api.iotwireless.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "api.iotwireless.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "api.iotwireless.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "api.iotwireless.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -4112,995 +11068,3029 @@ var awsPartition = partition{
},
},
"ivs": service{
-
- Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"kafka": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"kafkaconnect": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "kendra": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "kendra-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "kendra-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "kendra-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kendra-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kendra-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kendra-fips.us-west-2.amazonaws.com",
+ },
},
},
"kinesis": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "kinesis-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "kinesis-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "kinesis-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "kinesis-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kinesis-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kinesis-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kinesis-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kinesis-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"kinesisanalytics": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"kinesisvideo": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"kms": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.af-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "af-south-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.af-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "af-south-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-east-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-2-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-3-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-northeast-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-3",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-south-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-2-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-3-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ap-southeast-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-3",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-north-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-north-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-north-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-south-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-south-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-2-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-3-fips",
+ }: endpoint{
+ Hostname: "kms-fips.eu-west-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-3",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.me-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "me-south-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.me-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "me-south-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.sa-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "sa-east-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.sa-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "sa-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
},
},
"lakeformation": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "lakeformation-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "lakeformation-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "lakeformation-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "lakeformation-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lakeformation-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lakeformation-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lakeformation-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lakeformation-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"lambda": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.af-south-1.api.aws",
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-east-1.api.aws",
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-northeast-1.api.aws",
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-northeast-2.api.aws",
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-northeast-3.api.aws",
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-south-1.api.aws",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-southeast-1.api.aws",
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-southeast-2.api.aws",
+ },
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ap-southeast-3.api.aws",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.ca-central-1.api.aws",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-central-1.api.aws",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-north-1.api.aws",
+ },
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-south-1.api.aws",
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-west-1.api.aws",
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-west-2.api.aws",
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.eu-west-3.api.aws",
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "lambda-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "lambda-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "lambda-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "lambda-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.me-south-1.api.aws",
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.sa-east-1.api.aws",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.us-east-1.api.aws",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.us-east-2.api.aws",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.us-west-1.api.aws",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.us-west-2.api.aws",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"license-manager": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "license-manager-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "license-manager-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "license-manager-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "license-manager-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"lightsail": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"logs": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "logs-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "logs-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "logs-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "logs-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"lookoutequipment": service{
-
- Endpoints: endpoints{
- "ap-northeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ },
+ },
+ "lookoutmetrics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"lookoutvision": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"machinelearning": service{
-
- Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"macie": service{
-
- Endpoints: endpoints{
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "macie-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "macie-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"macie2": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "macie2-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "macie2-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "macie2-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "macie2-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie2-fips.us-east-1.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie2-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie2-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "macie2-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
"managedblockchain": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"marketplacecommerceanalytics": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"mediaconnect": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"mediaconvert": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mediaconvert-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "mediaconvert-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "mediaconvert-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "mediaconvert-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "mediaconvert-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "mediaconvert-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mediaconvert-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mediaconvert-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mediaconvert-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mediaconvert-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"medialive": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "medialive-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "medialive-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "medialive-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "medialive-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "medialive-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "medialive-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"mediapackage": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"mediapackage-vod": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"mediastore": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "meetings-chime": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "meetings-chime-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "meetings-chime-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "meetings-chime-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "meetings-chime-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
},
},
"messaging-chime": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "messaging-chime-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "messaging-chime-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
},
},
"metering.marketplace": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "aws-marketplace",
- },
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"mgh": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "mgn": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "migrationhub-strategy": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"mobileanalytics": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"models-v2-lex": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"models.lex": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "lex",
- },
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "models-fips.lex.{region}.{dnsSuffix}",
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "models-fips.lex.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "models-fips.lex.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "models-fips.lex.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "models-fips.lex.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"monitoring": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "monitoring-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "monitoring-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "monitoring-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "monitoring-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"mq": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "mq-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "mq-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "mq-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "mq-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"mturk-requester": service{
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "sandbox": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "sandbox",
+ }: endpoint{
Hostname: "mturk-requester-sandbox.us-east-1.amazonaws.com",
},
- "us-east-1": endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"neptune": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{
Hostname: "rds.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
},
- "ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "rds.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "rds.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Hostname: "rds.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "rds.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "rds.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "rds.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "rds.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-north-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
Hostname: "rds.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "rds.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "rds.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Hostname: "rds.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
},
- "me-south-1": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{
Hostname: "rds.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
},
- "sa-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
Hostname: "rds.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "rds.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "rds.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-1": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
Hostname: "rds.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "rds.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -5109,143 +14099,297 @@ var awsPartition = partition{
},
},
"network-firewall": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "network-firewall-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "network-firewall-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "network-firewall-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "network-firewall-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "network-firewall-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-east-2.amazonaws.com",
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "network-firewall-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "networkmanager": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
+ Hostname: "networkmanager.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "nimble": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"oidc": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "oidc.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "oidc.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Hostname: "oidc.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "oidc.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "oidc.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "oidc.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "oidc.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-north-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
Hostname: "oidc.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "oidc.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "oidc.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Hostname: "oidc.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
+ Hostname: "oidc.sa-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "sa-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "oidc.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "oidc.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "oidc.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -5254,272 +14398,691 @@ var awsPartition = partition{
},
},
"opsworks": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"opsworks-cm": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"organizations": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "organizations.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "fips-aws-global": endpoint{
+ endpointKey{
+ Region: "aws-global",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "organizations-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "fips-aws-global",
+ }: endpoint{
Hostname: "organizations-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
},
},
"outposts": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "outposts-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "outposts-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "outposts-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "outposts-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "outposts-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "outposts-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "outposts-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "outposts-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "outposts-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "outposts-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"personalize": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "pi": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"pinpoint": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "mobiletargeting",
- },
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "mobiletargeting",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "pinpoint-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "pinpoint-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "pinpoint.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "pinpoint-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "pinpoint.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "pinpoint-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
},
},
"polly": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "polly-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "polly-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "polly-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "polly-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "polly-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "polly-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "polly-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "polly-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"portal.sso": service{
-
- Endpoints: endpoints{
- "ap-southeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "portal.sso.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
+ Hostname: "portal.sso.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
+ Hostname: "portal.sso.ap-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "portal.sso.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "portal.sso.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "portal.sso.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "portal.sso.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
+ Hostname: "portal.sso.eu-north-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-north-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "portal.sso.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Hostname: "portal.sso.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
+ Hostname: "portal.sso.eu-west-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-3",
+ },
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
+ Hostname: "portal.sso.sa-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "sa-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "portal.sso.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "portal.sso.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "portal.sso.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -5528,366 +15091,1268 @@ var awsPartition = partition{
},
},
"profile": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"projects.iot1click": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"qldb": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "qldb-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "qldb-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "qldb-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "qldb-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "qldb-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "qldb-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "quicksight": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "api",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"ram": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ram-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "ram-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ram-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ram-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ram-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ram-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ram-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ram-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ram-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ram-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "rbin": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"rds": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "rds-fips.ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "rds-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "rds-fips.ca-central-1",
+ }: endpoint{
Hostname: "rds-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "rds-fips.us-east-1": endpoint{
+ endpointKey{
+ Region: "rds-fips.us-east-1",
+ }: endpoint{
Hostname: "rds-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "rds-fips.us-east-2": endpoint{
+ endpointKey{
+ Region: "rds-fips.us-east-2",
+ }: endpoint{
Hostname: "rds-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "rds-fips.us-west-1": endpoint{
+ endpointKey{
+ Region: "rds-fips.us-west-1",
+ }: endpoint{
Hostname: "rds-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "rds-fips.us-west-2": endpoint{
+ endpointKey{
+ Region: "rds-fips.us-west-2",
+ }: endpoint{
Hostname: "rds-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{
- SSLCommonName: "{service}.{dnsSuffix}",
- },
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "redshift": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
- Hostname: "redshift-fips.ca-central-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.ca-central-1",
+ }: endpoint{
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
- Hostname: "redshift-fips.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
- Region: "us-east-1",
+ Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
- Hostname: "redshift-fips.us-east-2.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-east-1",
+ }: endpoint{
CredentialScope: credentialScope{
- Region: "us-east-2",
+ Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
- Hostname: "redshift-fips.us-west-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
- Region: "us-west-1",
+ Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
- Hostname: "redshift-fips.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-east-2",
+ }: endpoint{
CredentialScope: credentialScope{
- Region: "us-west-2",
+ Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "rekognition": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "rekognition-fips.ca-central-1": endpoint{
- Hostname: "rekognition-fips.ca-central-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
- Region: "ca-central-1",
+ Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "rekognition-fips.us-east-1": endpoint{
- Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-west-1",
+ }: endpoint{
CredentialScope: credentialScope{
- Region: "us-east-1",
+ Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "rekognition-fips.us-east-2": endpoint{
- Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
- Region: "us-east-2",
+ Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "rekognition-fips.us-west-1": endpoint{
- Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-west-2",
+ }: endpoint{
CredentialScope: credentialScope{
- Region: "us-west-1",
+ Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "rekognition-fips.us-west-2": endpoint{
- Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "rds.us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "resource-groups": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
- Hostname: "resource-groups-fips.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ SSLCommonName: "{service}.{dnsSuffix}",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-east-1.amazonaws.com",
+ SSLCommonName: "{service}.{dnsSuffix}",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "rds-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
- Hostname: "resource-groups-fips.us-east-2.amazonaws.com",
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "rds-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
- Hostname: "resource-groups-fips.us-west-1.amazonaws.com",
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "rds-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
- Hostname: "resource-groups-fips.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "rds-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "robomaker": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
- "route53": service{
- PartitionEndpoint: "aws-global",
- IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ "redshift": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "redshift-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "redshift-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "redshift-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "redshift-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "redshift-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "redshift-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "redshift-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "redshift-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "redshift-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "redshift-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "rekognition": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "rekognition-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "rekognition-fips.ca-central-1",
+ }: endpoint{
+ Hostname: "rekognition-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition-fips.us-east-1",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition-fips.us-east-2",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition-fips.us-west-1",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition-fips.us-west-2",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.ca-central-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-east-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-west-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "resource-groups": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups-fips.us-west-2.amazonaws.com",
+ },
+ },
+ },
+ "robomaker": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "route53": service{
+ PartitionEndpoint: "aws-global",
+ IsRegionalized: boxedFalse,
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "route53.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "fips-aws-global": endpoint{
+ endpointKey{
+ Region: "aws-global",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "route53-fips.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
+ endpointKey{
+ Region: "fips-aws-global",
+ }: endpoint{
+ Hostname: "route53-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
},
},
"route53-recovery-control-config": service{
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "route53-recovery-control-config.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
@@ -5896,479 +16361,1373 @@ var awsPartition = partition{
},
},
"route53domains": service{
-
- Endpoints: endpoints{
- "us-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
},
},
"route53resolver": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "rum": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"runtime-v2-lex": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"runtime.lex": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "lex",
- },
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.lex.{region}.{dnsSuffix}",
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.lex.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "runtime-fips.lex.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.lex.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "runtime-fips.lex.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"runtime.sagemaker": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.sagemaker.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.sagemaker.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "runtime-fips.sagemaker.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.sagemaker.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "runtime-fips.sagemaker.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.sagemaker.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "runtime-fips.sagemaker.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.sagemaker.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "runtime-fips.sagemaker.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"s3": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- SignatureVersions: []string{"s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
- },
- Endpoints: endpoints{
- "accesspoint-af-south-1": endpoint{
- Hostname: "s3-accesspoint.af-south-1.amazonaws.com",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-ap-east-1": endpoint{
- Hostname: "s3-accesspoint.ap-east-1.amazonaws.com",
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-ap-northeast-1": endpoint{
- Hostname: "s3-accesspoint.ap-northeast-1.amazonaws.com",
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-ap-northeast-2": endpoint{
- Hostname: "s3-accesspoint.ap-northeast-2.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "af-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.af-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "s3.ap-northeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-ap-northeast-3": endpoint{
- Hostname: "s3-accesspoint.ap-northeast-3.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-northeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-ap-south-1": endpoint{
- Hostname: "s3-accesspoint.ap-south-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-northeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-northeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
+ Hostname: "s3.ap-southeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-ap-southeast-1": endpoint{
- Hostname: "s3-accesspoint.ap-southeast-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-southeast-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-ap-southeast-2": endpoint{
- Hostname: "s3-accesspoint.ap-southeast-2.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "s3.ap-southeast-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-ca-central-1": endpoint{
- Hostname: "s3-accesspoint.ca-central-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-southeast-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-eu-central-1": endpoint{
- Hostname: "s3-accesspoint.eu-central-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ap-southeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
+ Hostname: "s3.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
},
- "accesspoint-eu-north-1": endpoint{
- Hostname: "s3-accesspoint.eu-north-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-fips.dualstack.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-north-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "s3.eu-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-eu-south-1": endpoint{
- Hostname: "s3-accesspoint.eu-south-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-eu-west-1": endpoint{
- Hostname: "s3-accesspoint.eu-west-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.eu-west-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "s3-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
},
- "accesspoint-eu-west-2": endpoint{
- Hostname: "s3-accesspoint.eu-west-2.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "s3-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
},
- "accesspoint-eu-west-3": endpoint{
- Hostname: "s3-accesspoint.eu-west-3.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "s3-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
},
- "accesspoint-me-south-1": endpoint{
- Hostname: "s3-accesspoint.me-south-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "s3-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "s3-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.me-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "s3-external-1",
+ }: endpoint{
+ Hostname: "s3-external-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
+ Hostname: "s3.sa-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.sa-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "s3.us-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-sa-east-1": endpoint{
- Hostname: "s3-accesspoint.sa-east-1.amazonaws.com",
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-fips.dualstack.us-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-fips.dualstack.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
+ Hostname: "s3.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-fips.dualstack.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
+ Hostname: "s3.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-fips.dualstack.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
+ },
+ },
+ },
+ "s3-control": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-us-east-1": endpoint{
- Hostname: "s3-accesspoint.us-east-1.amazonaws.com",
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-us-east-2": endpoint{
- Hostname: "s3-accesspoint.us-east-2.amazonaws.com",
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-us-west-1": endpoint{
- Hostname: "s3-accesspoint.us-west-1.amazonaws.com",
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
+ Hostname: "s3-control.ap-northeast-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
},
- "accesspoint-us-west-2": endpoint{
- Hostname: "s3-accesspoint.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-northeast-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
},
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{
- Hostname: "s3.ap-northeast-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
+ Hostname: "s3-control.ap-northeast-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{
- Hostname: "s3.ap-southeast-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-northeast-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
},
- "ap-southeast-2": endpoint{
- Hostname: "s3.ap-southeast-2.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{
+ Hostname: "s3-control.ap-northeast-3.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-3",
+ },
},
- "aws-global": endpoint{
- Hostname: "s3.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-northeast-3.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "us-east-1",
+ Region: "ap-northeast-3",
},
},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{
- Hostname: "s3.eu-west-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
+ Hostname: "s3-control.ap-south-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-accesspoint-ca-central-1": endpoint{
- Hostname: "s3-accesspoint-fips.ca-central-1.amazonaws.com",
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-south-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
},
- "fips-accesspoint-us-east-1": endpoint{
- Hostname: "s3-accesspoint-fips.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
+ Hostname: "s3-control.ap-southeast-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
},
- "fips-accesspoint-us-east-2": endpoint{
- Hostname: "s3-accesspoint-fips.us-east-2.amazonaws.com",
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-southeast-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
},
- "fips-accesspoint-us-west-1": endpoint{
- Hostname: "s3-accesspoint-fips.us-west-1.amazonaws.com",
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
+ Hostname: "s3-control.ap-southeast-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
},
- "fips-accesspoint-us-west-2": endpoint{
- Hostname: "s3-accesspoint-fips.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ap-southeast-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
},
- "me-south-1": endpoint{},
- "s3-external-1": endpoint{
- Hostname: "s3-external-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
+ Hostname: "s3-control.ca-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "us-east-1",
+ Region: "ca-central-1",
},
},
- "sa-east-1": endpoint{
- Hostname: "s3.sa-east-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.ca-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
},
- "us-east-1": endpoint{
- Hostname: "s3.us-east-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.ca-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{
- Hostname: "s3.us-west-1.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.ca-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
},
- "us-west-2": endpoint{
- Hostname: "s3.us-west-2.amazonaws.com",
- SignatureVersions: []string{"s3", "s3v4"},
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "s3-control-fips.ca-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
},
- },
- },
- "s3-control": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- SignatureVersions: []string{"s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{
- Hostname: "s3-control.ap-northeast-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
+ Hostname: "s3-control.eu-central-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "eu-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.eu-central-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-northeast-1",
+ Region: "eu-central-1",
},
},
- "ap-northeast-2": endpoint{
- Hostname: "s3-control.ap-northeast-2.amazonaws.com",
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
+ Hostname: "s3-control.eu-north-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-northeast-2",
+ Region: "eu-north-1",
},
},
- "ap-northeast-3": endpoint{
- Hostname: "s3-control.ap-northeast-3.amazonaws.com",
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.eu-north-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-northeast-3",
+ Region: "eu-north-1",
},
},
- "ap-south-1": endpoint{
- Hostname: "s3-control.ap-south-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
+ Hostname: "s3-control.eu-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-south-1",
+ Region: "eu-west-1",
},
},
- "ap-southeast-1": endpoint{
- Hostname: "s3-control.ap-southeast-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.eu-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-southeast-1",
+ Region: "eu-west-1",
},
},
- "ap-southeast-2": endpoint{
- Hostname: "s3-control.ap-southeast-2.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
+ Hostname: "s3-control.eu-west-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ap-southeast-2",
+ Region: "eu-west-2",
},
},
- "ca-central-1": endpoint{
- Hostname: "s3-control.ca-central-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.eu-west-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ca-central-1",
+ Region: "eu-west-2",
},
},
- "ca-central-1-fips": endpoint{
- Hostname: "s3-control-fips.ca-central-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
+ Hostname: "s3-control.eu-west-3.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "ca-central-1",
+ Region: "eu-west-3",
},
},
- "eu-central-1": endpoint{
- Hostname: "s3-control.eu-central-1.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.eu-west-3.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "eu-central-1",
+ Region: "eu-west-3",
},
},
- "eu-north-1": endpoint{
- Hostname: "s3-control.eu-north-1.amazonaws.com",
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
+ Hostname: "s3-control.sa-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "eu-north-1",
+ Region: "sa-east-1",
},
},
- "eu-west-1": endpoint{
- Hostname: "s3-control.eu-west-1.amazonaws.com",
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.sa-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "eu-west-1",
+ Region: "sa-east-1",
},
},
- "eu-west-2": endpoint{
- Hostname: "s3-control.eu-west-2.amazonaws.com",
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ Hostname: "s3-control.us-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "eu-west-2",
+ Region: "us-east-1",
},
},
- "eu-west-3": endpoint{
- Hostname: "s3-control.eu-west-3.amazonaws.com",
+ endpointKey{
+ Region: "us-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "eu-west-3",
+ Region: "us-east-1",
},
},
- "sa-east-1": endpoint{
- Hostname: "s3-control.sa-east-1.amazonaws.com",
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.us-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
- Region: "sa-east-1",
+ Region: "us-east-1",
},
},
- "us-east-1": endpoint{
- Hostname: "s3-control.us-east-1.amazonaws.com",
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-1-fips": endpoint{
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "s3-control-fips.us-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "s3-control.us-east-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-east-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.us-east-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-east-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "s3-control-fips.us-east-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "us-west-1": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
Hostname: "s3-control.us-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "s3-control-fips.us-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "s3-control.us-west-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "s3-control-fips.us-west-2.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "s3-control-fips.us-west-2.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "s3-outposts": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{},
},
},
"savingsplans": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "savingsplans.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
@@ -6377,980 +17736,2506 @@ var awsPartition = partition{
},
},
"schemas": service{
-
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"sdb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- SignatureVersions: []string{"v2"},
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"v2"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "sdb.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"secretsmanager": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "secretsmanager-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"securityhub": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "securityhub-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "securityhub-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "securityhub-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "securityhub-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"serverlessrepo": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "ap-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Protocols: []string{"https"},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "eu-north-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "eu-west-2": endpoint{
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
Protocols: []string{"https"},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Protocols: []string{"https"},
},
- "me-south-1": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "sa-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Protocols: []string{"https"},
},
- "us-west-1": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Protocols: []string{"https"},
},
},
},
"servicecatalog": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-west-2.amazonaws.com",
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"servicecatalog-appregistry": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "servicecatalog-appregistry-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "servicecatalog-appregistry-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "servicecatalog-appregistry-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "servicecatalog-appregistry-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "servicecatalog-appregistry-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"servicediscovery": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "servicediscovery-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "servicediscovery",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "servicediscovery",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "servicediscovery-fips",
+ }: endpoint{
Hostname: "servicediscovery-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"servicequotas": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"session.qldb": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "session.qldb-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "session.qldb-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "session.qldb-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "session.qldb-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "session.qldb-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "session.qldb-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
},
},
"shield": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
- Defaults: endpoint{
- SSLCommonName: "shield.us-east-1.amazonaws.com",
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SSLCommonName: "shield.us-east-1.amazonaws.com",
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "shield.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "fips-aws-global": endpoint{
+ endpointKey{
+ Region: "aws-global",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "shield-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "fips-aws-global",
+ }: endpoint{
Hostname: "shield-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
},
},
"sms": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "sms-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "sms-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "sms-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "sms-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"snowball": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ap-northeast-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-northeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-northeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-northeast-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-south-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-southeast-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ap-southeast-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.eu-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.eu-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.eu-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.eu-west-3.amazonaws.com",
+ },
+ endpointKey{
+ Region: "fips-ap-northeast-1",
+ }: endpoint{
Hostname: "snowball-fips.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-2",
+ }: endpoint{
Hostname: "snowball-fips.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-3": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-3",
+ }: endpoint{
Hostname: "snowball-fips.ap-northeast-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-3",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-south-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-south-1",
+ }: endpoint{
Hostname: "snowball-fips.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-1",
+ }: endpoint{
Hostname: "snowball-fips.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-2",
+ }: endpoint{
Hostname: "snowball-fips.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ca-central-1": endpoint{
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "snowball-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-central-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-central-1",
+ }: endpoint{
Hostname: "snowball-fips.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-1",
+ }: endpoint{
Hostname: "snowball-fips.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-2": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-2",
+ }: endpoint{
Hostname: "snowball-fips.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-3": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-3",
+ }: endpoint{
Hostname: "snowball-fips.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
+ Deprecated: boxedTrue,
},
- "fips-sa-east-1": endpoint{
+ endpointKey{
+ Region: "fips-sa-east-1",
+ }: endpoint{
Hostname: "snowball-fips.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "snowball-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "snowball-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "snowball-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "snowball-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.sa-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"sns": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "sns-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "sns-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "sns-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "sns-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"sqs": service{
- Defaults: endpoint{
- SSLCommonName: "{region}.queue.{dnsSuffix}",
- Protocols: []string{"http", "https"},
- },
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "sqs-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "sqs-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "sqs-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "sqs-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
+ SSLCommonName: "queue.{dnsSuffix}",
+ },
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sqs-fips.us-east-1.amazonaws.com",
+ SSLCommonName: "queue.{dnsSuffix}",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sqs-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sqs-fips.us-west-1.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{
- SSLCommonName: "queue.{dnsSuffix}",
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sqs-fips.us-west-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"ssm": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "ssm-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "ssm-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "ssm-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "ssm-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "ssm-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"ssm-incidents": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"states": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "states-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "states-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "states-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "states-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"storagegateway": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "ca-central-1-fips",
+ }: endpoint{
Hostname: "storagegateway-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
- },
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- },
- },
- "streams.dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- CredentialScope: credentialScope{
- Service: "dynamodb",
- },
- },
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "ca-central-1-fips": endpoint{
- Hostname: "dynamodb-fips.ca-central-1.amazonaws.com",
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
- },
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "local": endpoint{
- Hostname: "localhost:8000",
- Protocols: []string{"http"},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
- Hostname: "dynamodb-fips.us-east-1.amazonaws.com",
- CredentialScope: credentialScope{
- Region: "us-east-1",
- },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
- Hostname: "dynamodb-fips.us-east-2.amazonaws.com",
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
- Hostname: "dynamodb-fips.us-west-1.amazonaws.com",
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
- Hostname: "dynamodb-fips.us-west-2.amazonaws.com",
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "streams.dynamodb": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "local",
+ }: endpoint{
+ Hostname: "localhost:8000",
+ Protocols: []string{"http"},
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"sts": service{
PartitionEndpoint: "aws-global",
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "sts.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "sts-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "sts-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts-fips.us-west-1.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-west-1-fips",
+ }: endpoint{
Hostname: "sts-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts-fips.us-west-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "sts-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
},
},
"support": service{
PartitionEndpoint: "aws-global",
-
- Endpoints: endpoints{
- "aws-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "support.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
@@ -7359,651 +20244,1863 @@ var awsPartition = partition{
},
},
"swf": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "swf-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "swf-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "swf-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "swf-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "swf-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "swf-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "swf-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "swf-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "synthetics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"tagging": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ },
+ },
+ "textract": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "textract-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
+ Hostname: "textract-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
+ Hostname: "textract-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
+ Hostname: "textract-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
+ Hostname: "textract-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-west-2.amazonaws.com",
+ },
},
},
"transcribe": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
+ Hostname: "fips.transcribe.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "fips.transcribe.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "fips.transcribe.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "fips.transcribe.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "fips.transcribe.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"transcribestreaming": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "sa-east-1": endpoint{},
- "transcribestreaming-fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "transcribestreaming-ca-central-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transcribestreaming-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-fips-ca-central-1",
+ }: endpoint{
Hostname: "transcribestreaming-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-fips-us-east-1",
+ }: endpoint{
+ Hostname: "transcribestreaming-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-fips-us-east-2",
+ }: endpoint{
+ Hostname: "transcribestreaming-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-fips-us-west-2",
+ }: endpoint{
+ Hostname: "transcribestreaming-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-us-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
},
- "transcribestreaming-fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "transcribestreaming-us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "transcribestreaming-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-us-east-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ Deprecated: boxedTrue,
},
- "transcribestreaming-fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "transcribestreaming-us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "transcribestreaming-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "transcribestreaming-us-west-2",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ Deprecated: boxedTrue,
},
- "transcribestreaming-fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "transcribestreaming-us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "transcribestreaming-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-2": endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"transfer": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-ca-central-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.ca-central-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "transfer-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "transfer-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "transfer-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "transfer-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "transfer-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"translate": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- },
- Endpoints: endpoints{
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "us-east-1": endpoint{},
- "us-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "translate-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-1-fips",
+ }: endpoint{
Hostname: "translate-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "translate-fips.us-east-2.amazonaws.com",
},
- "us-east-2": endpoint{},
- "us-east-2-fips": endpoint{
+ endpointKey{
+ Region: "us-east-2-fips",
+ }: endpoint{
Hostname: "translate-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "translate-fips.us-west-2.amazonaws.com",
},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
- "us-west-2-fips": endpoint{
+ endpointKey{
+ Region: "us-west-2-fips",
+ }: endpoint{
Hostname: "translate-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
- },
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "voiceid": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"waf": service{
PartitionEndpoint: "aws-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "aws",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "aws-fips",
+ }: endpoint{
Hostname: "waf-fips.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "aws-global": endpoint{
+ endpointKey{
+ Region: "aws-global",
+ }: endpoint{
Hostname: "waf.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
+ endpointKey{
+ Region: "aws-global",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "aws-global-fips",
+ }: endpoint{
+ Hostname: "waf-fips.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
},
},
"waf-regional": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{
Hostname: "waf-regional.af-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "af-south-1",
},
},
- "ap-east-1": endpoint{
+ endpointKey{
+ Region: "af-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.af-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "af-south-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{
Hostname: "waf-regional.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
},
- "ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "ap-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-east-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{
Hostname: "waf-regional.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
},
- "ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "ap-northeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-northeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{
Hostname: "waf-regional.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
},
- "ap-northeast-3": endpoint{
+ endpointKey{
+ Region: "ap-northeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-northeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{
Hostname: "waf-regional.ap-northeast-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-3",
},
},
- "ap-south-1": endpoint{
+ endpointKey{
+ Region: "ap-northeast-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-northeast-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-northeast-3",
+ },
+ },
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{
Hostname: "waf-regional.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
},
- "ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "ap-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-south-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{
Hostname: "waf-regional.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
},
- "ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "ap-southeast-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-southeast-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-1",
+ },
+ },
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{
Hostname: "waf-regional.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
},
- "ca-central-1": endpoint{
+ endpointKey{
+ Region: "ap-southeast-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ap-southeast-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ap-southeast-2",
+ },
+ },
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{
Hostname: "waf-regional.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
},
- "eu-central-1": endpoint{
+ endpointKey{
+ Region: "ca-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.ca-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "ca-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{
Hostname: "waf-regional.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
},
- "eu-north-1": endpoint{
+ endpointKey{
+ Region: "eu-central-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-central-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-central-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{
Hostname: "waf-regional.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
},
- "eu-south-1": endpoint{
+ endpointKey{
+ Region: "eu-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-north-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-north-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{
Hostname: "waf-regional.eu-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-1",
},
},
- "eu-west-1": endpoint{
+ endpointKey{
+ Region: "eu-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-south-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{
Hostname: "waf-regional.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
},
- "eu-west-2": endpoint{
- Hostname: "waf-regional.eu-west-2.amazonaws.com",
+ endpointKey{
+ Region: "eu-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-1",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{
+ Hostname: "waf-regional.eu-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-2",
+ },
+ },
+ endpointKey{
+ Region: "eu-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
},
- "eu-west-3": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{
Hostname: "waf-regional.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
},
- "fips-af-south-1": endpoint{
+ endpointKey{
+ Region: "eu-west-3",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.eu-west-3.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "eu-west-3",
+ },
+ },
+ endpointKey{
+ Region: "fips-af-south-1",
+ }: endpoint{
Hostname: "waf-regional-fips.af-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "af-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-east-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-east-1",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-1",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-northeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-2",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-northeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-northeast-3": endpoint{
+ endpointKey{
+ Region: "fips-ap-northeast-3",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-northeast-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-northeast-3",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-south-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-south-1",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-1": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-1",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-southeast-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-1",
},
+ Deprecated: boxedTrue,
},
- "fips-ap-southeast-2": endpoint{
+ endpointKey{
+ Region: "fips-ap-southeast-2",
+ }: endpoint{
Hostname: "waf-regional-fips.ap-southeast-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "ap-southeast-2",
},
+ Deprecated: boxedTrue,
},
- "fips-ca-central-1": endpoint{
+ endpointKey{
+ Region: "fips-ca-central-1",
+ }: endpoint{
Hostname: "waf-regional-fips.ca-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "ca-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-central-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-central-1",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-central-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-central-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-north-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-north-1",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-north-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-north-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-south-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-south-1",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-1": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-1",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-2": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-2",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-2",
},
+ Deprecated: boxedTrue,
},
- "fips-eu-west-3": endpoint{
+ endpointKey{
+ Region: "fips-eu-west-3",
+ }: endpoint{
Hostname: "waf-regional-fips.eu-west-3.amazonaws.com",
CredentialScope: credentialScope{
Region: "eu-west-3",
},
+ Deprecated: boxedTrue,
},
- "fips-me-south-1": endpoint{
+ endpointKey{
+ Region: "fips-me-south-1",
+ }: endpoint{
Hostname: "waf-regional-fips.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
+ Deprecated: boxedTrue,
},
- "fips-sa-east-1": endpoint{
+ endpointKey{
+ Region: "fips-sa-east-1",
+ }: endpoint{
Hostname: "waf-regional-fips.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "waf-regional-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "waf-regional-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "waf-regional-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "waf-regional-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
},
- "me-south-1": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{
Hostname: "waf-regional.me-south-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "me-south-1",
},
},
- "sa-east-1": endpoint{
+ endpointKey{
+ Region: "me-south-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.me-south-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "me-south-1",
+ },
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{
Hostname: "waf-regional.sa-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "sa-east-1",
},
},
- "us-east-1": endpoint{
+ endpointKey{
+ Region: "sa-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.sa-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "sa-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{
Hostname: "waf-regional.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
},
- "us-east-2": endpoint{
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{
Hostname: "waf-regional.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
},
- "us-west-1": endpoint{
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-east-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-east-2",
+ },
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{
Hostname: "waf-regional.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
},
- "us-west-2": endpoint{
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{
Hostname: "waf-regional.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-west-2.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-west-2",
+ },
+ },
+ },
+ },
+ "wisdom": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"workdocs": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "eu-west-1": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "workdocs-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "workdocs-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workdocs-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workdocs-fips.us-west-2.amazonaws.com",
},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
},
},
"workmail": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "eu-west-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"workspaces": service{
-
- Endpoints: endpoints{
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "workspaces-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "workspaces-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workspaces-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workspaces-fips.us-west-2.amazonaws.com",
},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-west-2": endpoint{},
+ },
+ },
+ "workspaces-web": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
},
},
"xray": service{
-
- Endpoints: endpoints{
- "af-south-1": endpoint{},
- "ap-east-1": endpoint{},
- "ap-northeast-1": endpoint{},
- "ap-northeast-2": endpoint{},
- "ap-northeast-3": endpoint{},
- "ap-south-1": endpoint{},
- "ap-southeast-1": endpoint{},
- "ap-southeast-2": endpoint{},
- "ca-central-1": endpoint{},
- "eu-central-1": endpoint{},
- "eu-north-1": endpoint{},
- "eu-south-1": endpoint{},
- "eu-west-1": endpoint{},
- "eu-west-2": endpoint{},
- "eu-west-3": endpoint{},
- "fips-us-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "af-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-northeast-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "ap-southeast-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "ca-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-central-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "eu-west-3",
+ }: endpoint{},
+ endpointKey{
+ Region: "fips-us-east-1",
+ }: endpoint{
Hostname: "xray-fips.us-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-east-2": endpoint{
+ endpointKey{
+ Region: "fips-us-east-2",
+ }: endpoint{
Hostname: "xray-fips.us-east-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-east-2",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-west-1",
+ }: endpoint{
Hostname: "xray-fips.us-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-west-2": endpoint{
+ endpointKey{
+ Region: "fips-us-west-2",
+ }: endpoint{
Hostname: "xray-fips.us-west-2.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-west-2",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "me-south-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "sa-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-east-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-east-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-east-2.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-west-2",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-west-2",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-west-2.amazonaws.com",
},
- "me-south-1": endpoint{},
- "sa-east-1": endpoint{},
- "us-east-1": endpoint{},
- "us-east-2": endpoint{},
- "us-west-1": endpoint{},
- "us-west-2": endpoint{},
},
},
},
@@ -8024,10 +22121,36 @@ var awscnPartition = partition{
return reg
}(),
},
- Defaults: endpoint{
- Hostname: "{service}.{region}.{dnsSuffix}",
- Protocols: []string{"https"},
- SignatureVersions: []string{"v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ DNSSuffix: "api.amazonwebservices.com.cn",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com.cn",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "api.amazonwebservices.com.cn",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
},
Regions: regions{
"cn-north-1": region{
@@ -8039,29 +22162,52 @@ var awscnPartition = partition{
},
Services: services{
"access-analyzer": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "account": service{
+ PartitionEndpoint: "aws-cn-global",
+ IsRegionalized: boxedFalse,
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
+ Hostname: "account.cn-northwest-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-northwest-1",
+ },
+ },
},
},
"acm": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"api.ecr": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "api.ecr.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "api.ecr.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8070,87 +22216,157 @@ var awscnPartition = partition{
},
},
"api.sagemaker": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "api.tunneling.iot": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"apigateway": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "appconfigdata": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"application-autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ },
+ "applicationinsights": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"appmesh": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"appsync": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"athena": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"autoscaling-plans": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"backup": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"batch": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"budgets": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "budgets.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8161,9 +22377,10 @@ var awscnPartition = partition{
"ce": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "ce.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8172,18 +22389,22 @@ var awscnPartition = partition{
},
},
"cloudformation": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"cloudfront": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "cloudfront.cn-northwest-1.amazonaws.com.cn",
Protocols: []string{"http", "https"},
CredentialScope: credentialScope{
@@ -8193,84 +22414,154 @@ var awscnPartition = partition{
},
},
"cloudtrail": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"codebuild": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"codecommit": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"codedeploy": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "codepipeline": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"cognito-identity": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ },
+ },
+ "compute-optimizer": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.cn-north-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-north-1",
+ },
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
+ Hostname: "compute-optimizer.cn-northwest-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-northwest-1",
+ },
+ },
},
},
"config": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"cur": service{
-
- Endpoints: endpoints{
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"data.jobs.iot": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "databrew": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"dax": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"directconnect": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"dms": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"docdb": service{
-
- Endpoints: endpoints{
- "cn-northwest-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "rds.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8279,203 +22570,316 @@ var awscnPartition = partition{
},
},
"ds": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"ebs": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"ec2": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"ecs": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"eks": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"elasticache": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"elasticbeanstalk": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"elasticfilesystem": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
- "fips-cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.cn-north-1.amazonaws.com.cn",
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn",
+ },
+ endpointKey{
+ Region: "fips-cn-north-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
+ Deprecated: boxedTrue,
},
- "fips-cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "fips-cn-northwest-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
+ Deprecated: boxedTrue,
},
},
},
"elasticloadbalancing": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"elasticmapreduce": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"emr-containers": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"es": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"events": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"firehose": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"fms": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"fsx": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"gamelift": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"glacier": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"glue": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"greengrass": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
},
},
"guardduty": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"health": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"iam": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "iam.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
@@ -8484,32 +22888,41 @@ var awscnPartition = partition{
},
},
"iot": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "execute-api",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "execute-api",
+ },
},
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"iotanalytics": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
},
},
"iotevents": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
},
},
"ioteventsdata": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "data.iotevents.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
@@ -8518,72 +22931,119 @@ var awscnPartition = partition{
},
},
"iotsecuredtunneling": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "iotsitewise": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
},
},
"kafka": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"kinesis": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"kinesisanalytics": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"kms": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"lakeformation": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"lambda": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.cn-north-1.api.amazonwebservices.com.cn",
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "lambda.cn-northwest-1.api.amazonwebservices.com.cn",
+ },
},
},
"license-manager": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"logs": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"mediaconvert": service{
-
- Endpoints: endpoints{
- "cn-northwest-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "subscribe.mediaconvert.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8592,31 +23052,43 @@ var awscnPartition = partition{
},
},
"monitoring": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"mq": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"neptune": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "rds.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "rds.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8627,9 +23099,10 @@ var awscnPartition = partition{
"organizations": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "organizations.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8638,51 +23111,76 @@ var awscnPartition = partition{
},
},
"personalize": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ },
+ },
+ "pi": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"polly": service{
-
- Endpoints: endpoints{
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"ram": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"rds": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"redshift": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"resource-groups": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"route53": service{
PartitionEndpoint: "aws-cn-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "route53.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8691,198 +23189,326 @@ var awscnPartition = partition{
},
},
"route53resolver": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"runtime.sagemaker": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"s3": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- SignatureVersions: []string{"s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
- },
- Endpoints: endpoints{
- "accesspoint-cn-north-1": endpoint{
- Hostname: "s3-accesspoint.cn-north-1.amazonaws.com.cn",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
- "accesspoint-cn-northwest-1": endpoint{
- Hostname: "s3-accesspoint.cn-northwest-1.amazonaws.com.cn",
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com.cn",
+ Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.cn-north-1.amazonaws.com.cn",
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.cn-northwest-1.amazonaws.com.cn",
+ },
},
},
"s3-control": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- SignatureVersions: []string{"s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"s3v4"},
+ },
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com.cn",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"s3v4"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "s3-control.cn-north-1.amazonaws.com.cn",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "cn-north-1",
},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.cn-north-1.amazonaws.com.cn",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "cn-north-1",
+ },
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "s3-control.cn-northwest-1.amazonaws.com.cn",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.cn-northwest-1.amazonaws.com.cn",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "cn-northwest-1",
+ },
+ },
},
},
"secretsmanager": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"securityhub": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"serverlessrepo": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Protocols: []string{"https"},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Protocols: []string{"https"},
},
},
},
"servicecatalog": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"servicediscovery": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"sms": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"snowball": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
- "fips-cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn",
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn",
+ },
+ endpointKey{
+ Region: "fips-cn-north-1",
+ }: endpoint{
Hostname: "snowball-fips.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
+ Deprecated: boxedTrue,
},
- "fips-cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "fips-cn-northwest-1",
+ }: endpoint{
Hostname: "snowball-fips.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
+ Deprecated: boxedTrue,
},
},
},
"sns": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"sqs": service{
- Defaults: endpoint{
- SSLCommonName: "{region}.queue.{dnsSuffix}",
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"ssm": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"states": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"storagegateway": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"streams.dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- CredentialScope: credentialScope{
- Service: "dynamodb",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
},
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"sts": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"support": service{
PartitionEndpoint: "aws-cn-global",
-
- Endpoints: endpoints{
- "aws-cn-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-cn-global",
+ }: endpoint{
Hostname: "support.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
@@ -8891,31 +23517,53 @@ var awscnPartition = partition{
},
},
"swf": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
+ },
+ },
+ "synthetics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"tagging": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"transcribe": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "cn.transcribe.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "cn.transcribe.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
@@ -8924,59 +23572,96 @@ var awscnPartition = partition{
},
},
"transcribestreaming": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"transfer": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"waf-regional": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{
Hostname: "waf-regional.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
},
- "cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "cn-north-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.cn-north-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-north-1",
+ },
+ },
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{
Hostname: "waf-regional.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
},
- "fips-cn-north-1": endpoint{
+ endpointKey{
+ Region: "cn-northwest-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.cn-northwest-1.amazonaws.com.cn",
+ CredentialScope: credentialScope{
+ Region: "cn-northwest-1",
+ },
+ },
+ endpointKey{
+ Region: "fips-cn-north-1",
+ }: endpoint{
Hostname: "waf-regional-fips.cn-north-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-north-1",
},
+ Deprecated: boxedTrue,
},
- "fips-cn-northwest-1": endpoint{
+ endpointKey{
+ Region: "fips-cn-northwest-1",
+ }: endpoint{
Hostname: "waf-regional-fips.cn-northwest-1.amazonaws.com.cn",
CredentialScope: credentialScope{
Region: "cn-northwest-1",
},
+ Deprecated: boxedTrue,
},
},
},
"workspaces": service{
-
- Endpoints: endpoints{
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
"xray": service{
-
- Endpoints: endpoints{
- "cn-north-1": endpoint{},
- "cn-northwest-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "cn-north-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "cn-northwest-1",
+ }: endpoint{},
},
},
},
@@ -8997,10 +23682,36 @@ var awsusgovPartition = partition{
return reg
}(),
},
- Defaults: endpoint{
- Hostname: "{service}.{region}.{dnsSuffix}",
- Protocols: []string{"https"},
- SignatureVersions: []string{"v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ DNSSuffix: "api.aws",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "api.aws",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
},
Regions: regions{
"us-gov-east-1": region{
@@ -9012,15 +23723,18 @@ var awsusgovPartition = partition{
},
Services: services{
"access-analyzer": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "access-analyzer.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "access-analyzer.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9029,15 +23743,26 @@ var awsusgovPartition = partition{
},
},
"acm": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "acm.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "acm.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9046,232 +23771,625 @@ var awsusgovPartition = partition{
},
},
"acm-pca": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "acm-pca.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "acm-pca.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "acm-pca.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"api.detective": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.detective-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "api.detective-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"api.ecr": service{
-
- Endpoints: endpoints{
- "fips-dkr-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "dkr-us-gov-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "ecr-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-dkr-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "dkr-us-gov-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dkr-us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-dkr-us-gov-east-1",
+ }: endpoint{
+ Hostname: "ecr-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-dkr-us-gov-west-1",
+ }: endpoint{
Hostname: "ecr-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "ecr-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "ecr-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "api.ecr.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "api.ecr.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecr-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
},
},
"api.sagemaker": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api-fips.sagemaker.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "api-fips.sagemaker.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips-secondary",
+ }: endpoint{
+ Hostname: "api.sagemaker.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
},
- "us-gov-west-1-fips-secondary": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-secondary",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1-secondary",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "api.sagemaker.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "api.tunneling.iot": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com",
},
},
},
"apigateway": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ },
+ },
+ "appconfigdata": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"application-autoscaling": service{
- Defaults: endpoint{
- Hostname: "autoscaling.{region}.amazonaws.com",
- Protocols: []string{"http", "https"},
- CredentialScope: credentialScope{
- Service: "application-autoscaling",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "autoscaling.{region}.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "application-autoscaling",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
},
},
+ "applicationinsights": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
+ Hostname: "applicationinsights.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ Hostname: "applicationinsights.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ },
+ },
"appstream2": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- CredentialScope: credentialScope{
- Service: "appstream",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ CredentialScope: credentialScope{
+ Service: "appstream",
+ },
},
},
- Endpoints: endpoints{
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "appstream2-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "appstream2-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "appstream2-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{},
},
},
"athena": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "athena-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "athena-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "athena-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"autoscaling": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "autoscaling.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
},
},
"autoscaling-plans": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
},
},
"backup": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"batch": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "batch.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "batch.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "batch.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "batch.us-gov-east-1.amazonaws.com",
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "batch.us-gov-west-1.amazonaws.com",
+ },
+ },
+ },
+ "cloudcontrolapi": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudcontrolapi-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"clouddirectory": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"cloudformation": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "cloudformation.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "cloudformation.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9280,225 +24398,468 @@ var awsusgovPartition = partition{
},
},
"cloudhsm": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"cloudhsmv2": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "cloudhsm",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "cloudhsm",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"cloudtrail": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "cloudtrail.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "cloudtrail.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cloudtrail.us-gov-west-1.amazonaws.com",
},
},
},
"codebuild": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codebuild-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "codebuild-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"codecommit": service{
-
- Endpoints: endpoints{
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "codecommit-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codecommit-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "codecommit-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"codedeploy": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codedeploy-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "codedeploy-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"codepipeline": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "codepipeline-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "codepipeline-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"cognito-identity": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "cognito-identity-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-identity-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"cognito-idp": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "cognito-idp-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "cognito-idp-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"comprehend": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "comprehend-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehend-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"comprehendmedical": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "comprehendmedical-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"config": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "config.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "config.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "config.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"connect": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"data.jobs.iot": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "data.jobs.iot-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-gov-east-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "data.jobs.iot-fips.us-gov-west-1.amazonaws.com",
+ },
+ },
+ },
+ "databrew": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"datasync": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "datasync-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "datasync-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "datasync-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"directconnect": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "directconnect.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "directconnect.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9507,22 +24868,85 @@ var awsusgovPartition = partition{
},
},
"dms": service{
-
- Endpoints: endpoints{
- "dms-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "dms",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms-fips",
+ }: endpoint{
+ Hostname: "dms.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "dms.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "dms.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"docdb": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "rds.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9531,60 +24955,124 @@ var awsusgovPartition = partition{
},
},
"ds": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "ds-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "ds-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ds-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"dynamodb": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "dynamodb.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"ebs": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"ec2": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ec2.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "ec2.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "ec2.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9593,68 +25081,151 @@ var awsusgovPartition = partition{
},
},
"ecs": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "ecs-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "ecs-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ecs-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"eks": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "eks.{region}.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "eks.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "eks.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "eks.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "eks.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"elasticache": service{
-
- Endpoints: endpoints{
- "fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "elasticache.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticache.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "elasticache.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"elasticbeanstalk": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "elasticbeanstalk.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "elasticbeanstalk.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9663,177 +25234,450 @@ var awsusgovPartition = partition{
},
},
"elasticfilesystem": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"elasticloadbalancing": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "elasticloadbalancing.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "elasticloadbalancing.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing.us-gov-east-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticloadbalancing.us-gov-west-1.amazonaws.com",
Protocols: []string{"http", "https"},
},
},
},
"elasticmapreduce": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "elasticmapreduce.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "elasticmapreduce.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ Protocols: []string{"https"},
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticmapreduce.us-gov-west-1.amazonaws.com",
Protocols: []string{"https"},
},
},
},
"email": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "email-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "email-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"es": service{
-
- Endpoints: endpoints{
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "es-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "es-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "es-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "es-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"events": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "events.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "events.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "events.us-gov-west-1.amazonaws.com",
},
},
},
"firehose": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "firehose-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "firehose-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "firehose-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"fms": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "fms-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "fms-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fms-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"fsx": service{
-
- Endpoints: endpoints{
- "fips-prod-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-prod-us-gov-east-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-prod-us-gov-west-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-gov-east-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-prod-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "prod-us-gov-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "prod-us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "fsx-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fsx-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"glacier": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "glacier.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "glacier.us-gov-west-1.amazonaws.com",
Protocols: []string{"http", "https"},
CredentialScope: credentialScope{
@@ -9843,55 +25687,98 @@ var awsusgovPartition = partition{
},
},
"glue": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "glue-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "glue-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glue-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "glue-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"greengrass": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "dataplane-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "dataplane-us-gov-east-1",
+ }: endpoint{
Hostname: "greengrass-ats.iot.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "dataplane-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "dataplane-us-gov-west-1",
+ }: endpoint{
Hostname: "greengrass-ats.iot.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "fips-us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "greengrass-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "greengrass.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "greengrass-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "greengrass.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -9901,108 +25788,293 @@ var awsusgovPartition = partition{
},
"guardduty": service{
IsRegionalized: boxedTrue,
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "guardduty.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "guardduty.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "guardduty.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"health": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "health-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "health-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"iam": service{
PartitionEndpoint: "aws-us-gov-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-us-gov-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-us-gov-global",
+ }: endpoint{
+ Hostname: "iam.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "aws-us-gov-global",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iam.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "aws-us-gov-global-fips",
+ }: endpoint{
+ Hostname: "iam.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "iam-govcloud",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "iam-govcloud",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "iam.us-gov.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "iam-govcloud-fips": endpoint{
+ endpointKey{
+ Region: "iam-govcloud-fips",
+ }: endpoint{
Hostname: "iam.us-gov.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ },
+ },
+ "identitystore": service{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "identitystore.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "identitystore.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "identitystore.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "identitystore.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "identitystore.us-gov-west-1.amazonaws.com",
},
},
},
"inspector": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "inspector-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "inspector-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "inspector-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"iot": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "execute-api",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "execute-api",
+ },
},
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "iot-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "iot-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Service: "execute-api",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "iot-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"iotevents": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"ioteventsdata": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "data.iotevents.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10011,41 +26083,105 @@ var awsusgovPartition = partition{
},
},
"iotsecuredtunneling": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "api.tunneling.iot-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ },
+ },
+ "iotsitewise": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"kafka": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ },
+ },
+ "kendra": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "kendra-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kendra-fips.us-gov-west-1.amazonaws.com",
+ },
},
},
"kinesis": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "kinesis.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "kinesis.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10054,96 +26190,211 @@ var awsusgovPartition = partition{
},
},
"kinesisanalytics": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"kms": service{
-
- Endpoints: endpoints{
- "ProdFips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ProdFips",
+ }: endpoint{
+ Hostname: "kms-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "kms-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"lakeformation": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "lakeformation-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lakeformation-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"lambda": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "lambda-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "lambda-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "lambda-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"license-manager": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "license-manager-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "license-manager-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "license-manager-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"logs": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "logs.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "logs.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "logs.us-gov-west-1.amazonaws.com",
},
},
},
"mediaconvert": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "mediaconvert.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10152,80 +26403,160 @@ var awsusgovPartition = partition{
},
},
"metering.marketplace": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "aws-marketplace",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "aws-marketplace",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"models.lex": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "lex",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "models-fips.lex.{region}.{dnsSuffix}",
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "models-fips.lex.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "models-fips.lex.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"monitoring": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "monitoring.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "monitoring.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "monitoring.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"mq": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "mq-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "mq-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "mq-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"neptune": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "rds.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "rds.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10234,28 +26565,72 @@ var awsusgovPartition = partition{
},
},
"network-firewall": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "network-firewall-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "network-firewall-fips.us-gov-east-1.amazonaws.com",
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "network-firewall-fips.us-gov-west-1.amazonaws.com",
+ },
+ },
+ },
+ "networkmanager": service{
+ PartitionEndpoint: "aws-us-gov-global",
+ IsRegionalized: boxedFalse,
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-us-gov-global",
+ }: endpoint{
+ Hostname: "networkmanager.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"oidc": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
+ Hostname: "oidc.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "oidc.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10266,32 +26641,48 @@ var awsusgovPartition = partition{
"organizations": service{
PartitionEndpoint: "aws-us-gov-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-us-gov-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-us-gov-global",
+ }: endpoint{
+ Hostname: "organizations.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "aws-us-gov-global",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "organizations.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "fips-aws-us-gov-global": endpoint{
+ endpointKey{
+ Region: "fips-aws-us-gov-global",
+ }: endpoint{
Hostname: "organizations.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"outposts": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "outposts.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "outposts.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10300,48 +26691,107 @@ var awsusgovPartition = partition{
},
},
"pinpoint": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "mobiletargeting",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "mobiletargeting",
+ },
},
},
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "pinpoint-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "pinpoint.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "pinpoint-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
},
},
"polly": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "polly-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "polly-fips.us-gov-west-1.amazonaws.com",
+ },
+ },
+ },
+ "portal.sso": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
+ Hostname: "portal.sso.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ Hostname: "portal.sso.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "us-gov-west-1": endpoint{},
+ },
+ },
+ "quicksight": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "api",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"ram": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "ram.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "ram.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10350,34 +26800,84 @@ var awsusgovPartition = partition{
},
},
"rds": service{
-
- Endpoints: endpoints{
- "rds.us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "rds.us-gov-east-1",
+ }: endpoint{
+ Hostname: "rds.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rds.us-gov-west-1",
+ }: endpoint{
+ Hostname: "rds.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "rds.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rds.us-gov-west-1.amazonaws.com",
},
- "rds.us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "rds.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"redshift": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "redshift.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "redshift.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10386,220 +26886,545 @@ var awsusgovPartition = partition{
},
},
"rekognition": service{
-
- Endpoints: endpoints{
- "rekognition-fips.us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "rekognition-fips.us-gov-west-1",
+ }: endpoint{
+ Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-gov-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "rekognition.us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "rekognition-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{},
},
},
"resource-groups": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "resource-groups.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "resource-groups.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "resource-groups.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"route53": service{
PartitionEndpoint: "aws-us-gov-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-us-gov-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-us-gov-global",
+ }: endpoint{
+ Hostname: "route53.us-gov.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "aws-us-gov-global",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "route53.us-gov.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "fips-aws-us-gov-global": endpoint{
+ endpointKey{
+ Region: "fips-aws-us-gov-global",
+ }: endpoint{
Hostname: "route53.us-gov.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"route53resolver": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
},
},
"runtime.lex": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "lex",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.lex.{region}.{dnsSuffix}",
+ CredentialScope: credentialScope{
+ Service: "lex",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime-fips.lex.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "runtime-fips.lex.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"runtime.sagemaker": service{
-
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime.sagemaker.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "runtime.sagemaker.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "runtime.sagemaker.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"s3": service{
- Defaults: endpoint{
- SignatureVersions: []string{"s3", "s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
- },
- Endpoints: endpoints{
- "accesspoint-us-gov-east-1": endpoint{
- Hostname: "s3-accesspoint.us-gov-east-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "accesspoint-us-gov-west-1": endpoint{
- Hostname: "s3-accesspoint.us-gov-west-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "fips-accesspoint-us-gov-east-1": endpoint{
- Hostname: "s3-accesspoint-fips.us-gov-east-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ SignatureVersions: []string{"s3", "s3v4"},
},
- "fips-accesspoint-us-gov-west-1": endpoint{
- Hostname: "s3-accesspoint-fips.us-gov-west-1.amazonaws.com",
- SignatureVersions: []string{"s3v4"},
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "s3-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "s3-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "s3.us-gov-east-1.amazonaws.com",
Protocols: []string{"http", "https"},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-gov-east-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-gov-east-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "s3.us-gov-west-1.amazonaws.com",
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3.dualstack.us-gov-west-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-fips.us-gov-west-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
+ },
},
},
"s3-control": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
- SignatureVersions: []string{"s3v4"},
-
- HasDualStack: boxedTrue,
- DualStackHostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"s3v4"},
+ },
+ defaultKey{
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"s3v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.dualstack.{region}.{dnsSuffix}",
+ DNSSuffix: "amazonaws.com",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"s3v4"},
+ },
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "s3-control.us-gov-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-east-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-gov-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.us-gov-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-gov-east-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "s3-control-fips.us-gov-east-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "s3-control.us-gov-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control.dualstack.us-gov-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.us-gov-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant | dualStackVariant,
+ }: endpoint{
+ Hostname: "s3-control-fips.dualstack.us-gov-west-1.amazonaws.com",
+ SignatureVersions: []string{"s3v4"},
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "s3-control-fips.us-gov-west-1.amazonaws.com",
SignatureVersions: []string{"s3v4"},
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
- "secretsmanager": service{
+ "s3-outposts": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{},
+ },
+ },
+ "secretsmanager": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "secretsmanager-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "secretsmanager-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"securityhub": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "securityhub-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "securityhub-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "securityhub-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"serverlessrepo": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "serverlessrepo.us-gov-east-1.amazonaws.com",
Protocols: []string{"https"},
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "serverlessrepo.us-gov-west-1.amazonaws.com",
Protocols: []string{"https"},
CredentialScope: credentialScope{
@@ -10609,143 +27434,355 @@ var awsusgovPartition = partition{
},
},
"servicecatalog": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "servicecatalog-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"servicecatalog-appregistry": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "servicecatalog-appregistry.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "servicecatalog-appregistry.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicecatalog-appregistry.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"servicediscovery": service{
-
- Endpoints: endpoints{
- "servicediscovery-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "servicediscovery",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "servicediscovery",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "servicediscovery-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "servicediscovery-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"servicequotas": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicequotas.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "servicequotas.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "servicequotas.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicequotas.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "servicequotas.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"sms": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "sms-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "sms-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sms-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"snowball": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "snowball-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "snowball-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "snowball-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"sns": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "sns.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{
- Hostname: "sns.us-gov-west-1.amazonaws.com",
- Protocols: []string{"http", "https"},
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "sns.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ Protocols: []string{"http", "https"},
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sns.us-gov-west-1.amazonaws.com",
+ Protocols: []string{"http", "https"},
},
},
},
"sqs": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sqs.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "sqs.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "sqs.us-gov-west-1.amazonaws.com",
SSLCommonName: "{region}.queue.{dnsSuffix}",
Protocols: []string{"http", "https"},
@@ -10756,126 +27793,298 @@ var awsusgovPartition = partition{
},
},
"ssm": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "ssm.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "ssm.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "ssm.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"states": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "states-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "states.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "states.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"storagegateway": service{
-
- Endpoints: endpoints{
- "fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "storagegateway-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"streams.dynamodb": service{
- Defaults: endpoint{
- CredentialScope: credentialScope{
- Service: "dynamodb",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "streams.dynamodb.{region}.{dnsSuffix}",
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
},
},
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
- Hostname: "dynamodb.us-gov-east-1.amazonaws.com",
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "streams.dynamodb.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
+ Hostname: "streams.dynamodb.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
- Hostname: "dynamodb.us-gov-west-1.amazonaws.com",
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "streams.dynamodb.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
+ Hostname: "streams.dynamodb.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"sts": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-east-1-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-east-1-fips",
+ }: endpoint{
Hostname: "sts.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "sts.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "sts.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"support": service{
PartitionEndpoint: "aws-us-gov-global",
-
- Endpoints: endpoints{
- "aws-us-gov-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-us-gov-global",
+ }: endpoint{
+ Hostname: "support.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "support.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
Hostname: "support.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"swf": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "swf.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "swf.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
@@ -10883,125 +28092,300 @@ var awsusgovPartition = partition{
},
},
},
+ "synthetics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ },
+ },
"tagging": service{
-
- Endpoints: endpoints{
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ },
+ },
+ "textract": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
+ Hostname: "textract-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
+ Hostname: "textract-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "textract-fips.us-gov-west-1.amazonaws.com",
+ },
},
},
"transcribe": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "fips.transcribe.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "fips.transcribe.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "fips.transcribe.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"transfer": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "transfer-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "transfer-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "transfer-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
"translate": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-gov-west-1": endpoint{},
- "us-gov-west-1-fips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "translate-fips.us-gov-west-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1-fips",
+ }: endpoint{
Hostname: "translate-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
},
},
"waf-regional": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "waf-regional-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "waf-regional-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
},
- "us-gov-east-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{
Hostname: "waf-regional.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
},
- "us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-gov-east-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-east-1",
+ },
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{
Hostname: "waf-regional.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "waf-regional-fips.us-gov-west-1.amazonaws.com",
+ CredentialScope: credentialScope{
+ Region: "us-gov-west-1",
+ },
+ },
},
},
"workspaces": service{
-
- Endpoints: endpoints{
- "fips-us-gov-west-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "workspaces-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "workspaces-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-west-1": endpoint{},
},
},
"xray": service{
-
- Endpoints: endpoints{
- "fips-us-gov-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-gov-east-1",
+ }: endpoint{
Hostname: "xray-fips.us-gov-east-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-east-1",
},
+ Deprecated: boxedTrue,
},
- "fips-us-gov-west-1": endpoint{
+ endpointKey{
+ Region: "fips-us-gov-west-1",
+ }: endpoint{
Hostname: "xray-fips.us-gov-west-1.amazonaws.com",
CredentialScope: credentialScope{
Region: "us-gov-west-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-gov-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-gov-east-1.amazonaws.com",
+ },
+ endpointKey{
+ Region: "us-gov-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-gov-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "xray-fips.us-gov-west-1.amazonaws.com",
},
- "us-gov-east-1": endpoint{},
- "us-gov-west-1": endpoint{},
},
},
},
@@ -11022,210 +28406,387 @@ var awsisoPartition = partition{
return reg
}(),
},
- Defaults: endpoint{
- Hostname: "{service}.{region}.{dnsSuffix}",
- Protocols: []string{"https"},
- SignatureVersions: []string{"v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "c2s.ic.gov",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
},
Regions: regions{
"us-iso-east-1": region{
Description: "US ISO East",
},
+ "us-iso-west-1": region{
+ Description: "US ISO WEST",
+ },
},
Services: services{
"api.ecr": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Hostname: "api.ecr.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{
+ Hostname: "api.ecr.us-iso-west-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-west-1",
+ },
+ },
},
},
"api.sagemaker": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"apigateway": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"application-autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"autoscaling": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"cloudformation": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"cloudtrail": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"codedeploy": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"comprehend": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"config": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"datapipeline": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"directconnect": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"dms": service{
-
- Endpoints: endpoints{
- "dms-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "dms",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-iso-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-iso-east-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms-fips",
+ }: endpoint{
+ Hostname: "dms.us-iso-east-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-iso-east-1.c2s.ic.gov",
+ },
+ endpointKey{
+ Region: "us-iso-east-1-fips",
+ }: endpoint{
Hostname: "dms.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-iso-west-1.c2s.ic.gov",
+ },
+ endpointKey{
+ Region: "us-iso-west-1-fips",
+ }: endpoint{
+ Hostname: "dms.us-iso-west-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-west-1",
+ },
+ Deprecated: boxedTrue,
},
- "us-iso-east-1": endpoint{},
},
},
"ds": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"dynamodb": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
+ },
+ },
+ "ebs": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"ec2": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"ecs": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"elasticache": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"elasticfilesystem": service{
-
- Endpoints: endpoints{
- "fips-us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "fips-us-iso-east-1",
+ }: endpoint{
Hostname: "elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "elasticfilesystem-fips.us-iso-east-1.c2s.ic.gov",
},
- "us-iso-east-1": endpoint{},
},
},
"elasticloadbalancing": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"elasticmapreduce": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"es": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"events": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"firehose": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"glacier": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"health": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"iam": service{
PartitionEndpoint: "aws-iso-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-iso-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-global",
+ }: endpoint{
Hostname: "iam.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
@@ -11234,89 +28795,156 @@ var awsisoPartition = partition{
},
},
"kinesis": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"kms": service{
-
- Endpoints: endpoints{
- "ProdFips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ProdFips",
+ }: endpoint{
+ Hostname: "kms-fips.us-iso-east-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-iso-east-1.c2s.ic.gov",
+ },
+ endpointKey{
+ Region: "us-iso-east-1-fips",
+ }: endpoint{
Hostname: "kms-fips.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
},
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-iso-west-1.c2s.ic.gov",
+ },
+ endpointKey{
+ Region: "us-iso-west-1-fips",
+ }: endpoint{
+ Hostname: "kms-fips.us-iso-west-1.c2s.ic.gov",
+ CredentialScope: credentialScope{
+ Region: "us-iso-west-1",
+ },
+ Deprecated: boxedTrue,
},
- "us-iso-east-1": endpoint{},
},
},
"lambda": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"license-manager": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"logs": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"medialive": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"mediapackage": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"monitoring": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"outposts": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"ram": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"rds": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"redshift": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"route53": service{
PartitionEndpoint: "aws-iso-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-iso-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-global",
+ }: endpoint{
Hostname: "route53.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
@@ -11325,92 +28953,122 @@ var awsisoPartition = partition{
},
},
"route53resolver": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"runtime.sagemaker": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"s3": service{
- Defaults: endpoint{
- SignatureVersions: []string{"s3v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SignatureVersions: []string{"s3v4"},
+ },
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
SignatureVersions: []string{"s3v4"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"secretsmanager": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"snowball": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"sns": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"sqs": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{
Protocols: []string{"http", "https"},
},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"ssm": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"states": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"streams.dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- CredentialScope: credentialScope{
- Service: "dynamodb",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
},
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{
- Protocols: []string{"http", "https"},
- },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"sts": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
},
},
"support": service{
PartitionEndpoint: "aws-iso-global",
-
- Endpoints: endpoints{
- "aws-iso-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-global",
+ }: endpoint{
Hostname: "support.us-iso-east-1.c2s.ic.gov",
CredentialScope: credentialScope{
Region: "us-iso-east-1",
@@ -11419,37 +29077,58 @@ var awsisoPartition = partition{
},
},
"swf": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-iso-west-1",
+ }: endpoint{},
+ },
+ },
+ "synthetics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"transcribe": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"transcribestreaming": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"translate": service{
- Defaults: endpoint{
- Protocols: []string{"https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"https"},
+ },
},
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
"workspaces": service{
-
- Endpoints: endpoints{
- "us-iso-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-iso-east-1",
+ }: endpoint{},
},
},
},
@@ -11470,10 +29149,20 @@ var awsisobPartition = partition{
return reg
}(),
},
- Defaults: endpoint{
- Hostname: "{service}.{region}.{dnsSuffix}",
- Protocols: []string{"https"},
- SignatureVersions: []string{"v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Hostname: "{service}.{region}.{dnsSuffix}",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "{service}-fips.{region}.{dnsSuffix}",
+ DNSSuffix: "sc2s.sgov.gov",
+ Protocols: []string{"https"},
+ SignatureVersions: []string{"v4"},
+ },
},
Regions: regions{
"us-isob-east-1": region{
@@ -11482,9 +29171,10 @@ var awsisobPartition = partition{
},
Services: services{
"api.ecr": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{
Hostname: "api.ecr.us-isob-east-1.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
@@ -11493,141 +29183,224 @@ var awsisobPartition = partition{
},
},
"application-autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"autoscaling": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"cloudformation": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"cloudtrail": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"codedeploy": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"config": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"directconnect": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"dms": service{
-
- Endpoints: endpoints{
- "dms-fips": endpoint{
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{},
+ defaultKey{
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.{region}.{dnsSuffix}",
+ },
+ },
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "dms",
+ }: endpoint{
+ CredentialScope: credentialScope{
+ Region: "us-isob-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-isob-east-1.sc2s.sgov.gov",
+ CredentialScope: credentialScope{
+ Region: "us-isob-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "dms-fips",
+ }: endpoint{
+ Hostname: "dms.us-isob-east-1.sc2s.sgov.gov",
+ CredentialScope: credentialScope{
+ Region: "us-isob-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-isob-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "dms.us-isob-east-1.sc2s.sgov.gov",
+ },
+ endpointKey{
+ Region: "us-isob-east-1-fips",
+ }: endpoint{
Hostname: "dms.us-isob-east-1.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-isob-east-1": endpoint{},
},
},
"ds": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
+ },
+ },
+ "ebs": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"ec2": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"ecs": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"elasticache": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"elasticloadbalancing": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{
Protocols: []string{"https"},
},
},
},
"elasticmapreduce": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"es": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"events": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"glacier": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"health": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"iam": service{
PartitionEndpoint: "aws-iso-b-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-iso-b-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-b-global",
+ }: endpoint{
Hostname: "iam.us-isob-east-1.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
@@ -11636,65 +29409,92 @@ var awsisobPartition = partition{
},
},
"kinesis": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"kms": service{
-
- Endpoints: endpoints{
- "ProdFips": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "ProdFips",
+ }: endpoint{
+ Hostname: "kms-fips.us-isob-east-1.sc2s.sgov.gov",
+ CredentialScope: credentialScope{
+ Region: "us-isob-east-1",
+ },
+ Deprecated: boxedTrue,
+ },
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
+ endpointKey{
+ Region: "us-isob-east-1",
+ Variant: fipsVariant,
+ }: endpoint{
+ Hostname: "kms-fips.us-isob-east-1.sc2s.sgov.gov",
+ },
+ endpointKey{
+ Region: "us-isob-east-1-fips",
+ }: endpoint{
Hostname: "kms-fips.us-isob-east-1.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
},
+ Deprecated: boxedTrue,
},
- "us-isob-east-1": endpoint{},
},
},
"lambda": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"license-manager": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"logs": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"monitoring": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"rds": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"redshift": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"route53": service{
PartitionEndpoint: "aws-iso-b-global",
IsRegionalized: boxedFalse,
-
- Endpoints: endpoints{
- "aws-iso-b-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-b-global",
+ }: endpoint{
Hostname: "route53.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
@@ -11703,71 +29503,92 @@ var awsisobPartition = partition{
},
},
"s3": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- SignatureVersions: []string{"s3v4"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ SignatureVersions: []string{"s3v4"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"snowball": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"sns": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"sqs": service{
- Defaults: endpoint{
- SSLCommonName: "{region}.queue.{dnsSuffix}",
- Protocols: []string{"http", "https"},
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ SSLCommonName: "{region}.queue.{dnsSuffix}",
+ Protocols: []string{"http", "https"},
+ },
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"ssm": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"states": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"streams.dynamodb": service{
- Defaults: endpoint{
- Protocols: []string{"http", "https"},
- CredentialScope: credentialScope{
- Service: "dynamodb",
+ Defaults: endpointDefaults{
+ defaultKey{}: endpoint{
+ Protocols: []string{"http", "https"},
+ CredentialScope: credentialScope{
+ Service: "dynamodb",
+ },
},
},
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"sts": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"support": service{
PartitionEndpoint: "aws-iso-b-global",
-
- Endpoints: endpoints{
- "aws-iso-b-global": endpoint{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "aws-iso-b-global",
+ }: endpoint{
Hostname: "support.us-isob-east-1.sc2s.sgov.gov",
CredentialScope: credentialScope{
Region: "us-isob-east-1",
@@ -11776,15 +29597,24 @@ var awsisobPartition = partition{
},
},
"swf": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
+ },
+ },
+ "synthetics": service{
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
"tagging": service{
-
- Endpoints: endpoints{
- "us-isob-east-1": endpoint{},
+ Endpoints: serviceEndpoints{
+ endpointKey{
+ Region: "us-isob-east-1",
+ }: endpoint{},
},
},
},
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
index 8e8636f5f..880986157 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/endpoints.go
@@ -8,6 +8,41 @@ import (
"github.com/aws/aws-sdk-go/aws/awserr"
)
+// A Logger is a minimalistic interface for the SDK to log messages to.
+type Logger interface {
+ Log(...interface{})
+}
+
+// DualStackEndpointState is a constant to describe the dual-stack endpoint resolution
+// behavior.
+type DualStackEndpointState uint
+
+const (
+ // DualStackEndpointStateUnset is the default value behavior for dual-stack endpoint
+ // resolution.
+ DualStackEndpointStateUnset DualStackEndpointState = iota
+
+ // DualStackEndpointStateEnabled enable dual-stack endpoint resolution for endpoints.
+ DualStackEndpointStateEnabled
+
+ // DualStackEndpointStateDisabled disables dual-stack endpoint resolution for endpoints.
+ DualStackEndpointStateDisabled
+)
+
+// FIPSEndpointState is a constant to describe the FIPS endpoint resolution behavior.
+type FIPSEndpointState uint
+
+const (
+ // FIPSEndpointStateUnset is the default value behavior for FIPS endpoint resolution.
+ FIPSEndpointStateUnset FIPSEndpointState = iota
+
+ // FIPSEndpointStateEnabled enables FIPS endpoint resolution for service endpoints.
+ FIPSEndpointStateEnabled
+
+ // FIPSEndpointStateDisabled disables FIPS endpoint resolution for endpoints.
+ FIPSEndpointStateDisabled
+)
+
// Options provide the configuration needed to direct how the
// endpoints will be resolved.
type Options struct {
@@ -21,8 +56,19 @@ type Options struct {
// be returned. This endpoint may not be valid. If StrictMatching is
// enabled only services that are known to support dualstack will return
// dualstack endpoints.
+ //
+ // Deprecated: This option will continue to function for S3 and S3 Control for backwards compatibility.
+ // UseDualStackEndpoint should be used to enable usage of a service's dual-stack endpoint for all service clients
+ // moving forward. For S3 and S3 Control, when UseDualStackEndpoint is set to a non-zero value it takes higher
+ // precedence then this option.
UseDualStack bool
+ // Sets the resolver to resolve a dual-stack endpoint for the service.
+ UseDualStackEndpoint DualStackEndpointState
+
+ // UseFIPSEndpoint specifies the resolver must resolve a FIPS endpoint.
+ UseFIPSEndpoint FIPSEndpointState
+
// Enables strict matching of services and regions resolved endpoints.
// If the partition doesn't enumerate the exact service and region an
// error will be returned. This option will prevent returning endpoints
@@ -56,6 +102,30 @@ type Options struct {
// S3 Regional Endpoint flag helps with resolving the S3 endpoint
S3UsEast1RegionalEndpoint S3UsEast1RegionalEndpoint
+
+ // ResolvedRegion is the resolved region string. If provided (non-zero length) it takes priority
+ // over the region name passed to the ResolveEndpoint call.
+ ResolvedRegion string
+
+ // Logger is the logger that will be used to log messages.
+ Logger Logger
+
+ // Determines whether logging of deprecated endpoints usage is enabled.
+ LogDeprecated bool
+}
+
+func (o Options) getEndpointVariant(service string) (v endpointVariant) {
+ const s3 = "s3"
+ const s3Control = "s3-control"
+
+ if (o.UseDualStackEndpoint == DualStackEndpointStateEnabled) ||
+ ((service == s3 || service == s3Control) && (o.UseDualStackEndpoint == DualStackEndpointStateUnset && o.UseDualStack)) {
+ v |= dualStackVariant
+ }
+ if o.UseFIPSEndpoint == FIPSEndpointStateEnabled {
+ v |= fipsVariant
+ }
+ return v
}
// EC2IMDSEndpointModeState is an enum configuration variable describing the client endpoint mode.
@@ -196,10 +266,25 @@ func DisableSSLOption(o *Options) {
// UseDualStackOption sets the UseDualStack option. Can be used as a functional
// option when resolving endpoints.
+//
+// Deprecated: UseDualStackEndpointOption should be used to enable usage of a service's dual-stack endpoint.
+// When DualStackEndpointState is set to a non-zero value it takes higher precedence then this option.
func UseDualStackOption(o *Options) {
o.UseDualStack = true
}
+// UseDualStackEndpointOption sets the UseDualStackEndpoint option to enabled. Can be used as a functional
+// option when resolving endpoints.
+func UseDualStackEndpointOption(o *Options) {
+ o.UseDualStackEndpoint = DualStackEndpointStateEnabled
+}
+
+// UseFIPSEndpointOption sets the UseFIPSEndpoint option to enabled. Can be used as a functional
+// option when resolving endpoints.
+func UseFIPSEndpointOption(o *Options) {
+ o.UseFIPSEndpoint = FIPSEndpointStateEnabled
+}
+
// StrictMatchingOption sets the StrictMatching option. Can be used as a functional
// option when resolving endpoints.
func StrictMatchingOption(o *Options) {
@@ -407,7 +492,7 @@ func (r Region) ResolveEndpoint(service string, opts ...func(*Options)) (Resolve
func (r Region) Services() map[string]Service {
ss := map[string]Service{}
for id, s := range r.p.Services {
- if _, ok := s.Endpoints[r.id]; ok {
+ if _, ok := s.Endpoints[endpointKey{Region: r.id}]; ok {
ss[id] = Service{
id: id,
p: r.p,
@@ -452,9 +537,12 @@ func (s Service) Regions() map[string]Region {
}
for id := range service.Endpoints {
- if r, ok := s.p.Regions[id]; ok {
- rs[id] = Region{
- id: id,
+ if id.Variant != 0 {
+ continue
+ }
+ if r, ok := s.p.Regions[id.Region]; ok {
+ rs[id.Region] = Region{
+ id: id.Region,
desc: r.Description,
p: s.p,
}
@@ -472,8 +560,11 @@ func (s Service) Regions() map[string]Region {
func (s Service) Endpoints() map[string]Endpoint {
es := make(map[string]Endpoint, len(s.p.Services[s.id].Endpoints))
for id := range s.p.Services[s.id].Endpoints {
- es[id] = Endpoint{
- id: id,
+ if id.Variant != 0 {
+ continue
+ }
+ es[id.Region] = Endpoint{
+ id: id.Region,
serviceID: s.id,
p: s.p,
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
index c6c6a0338..89f6627dc 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model.go
@@ -1,6 +1,7 @@
package endpoints
import (
+ "encoding/json"
"fmt"
"regexp"
"strconv"
@@ -12,6 +13,34 @@ const (
ec2MetadataEndpointIPv4 = "http://169.254.169.254/latest"
)
+const dnsSuffixTemplateKey = "{dnsSuffix}"
+
+// defaultKey is a compound map key of a variant and other values.
+type defaultKey struct {
+ Variant endpointVariant
+ ServiceVariant serviceVariant
+}
+
+// endpointKey is a compound map key of a region and associated variant value.
+type endpointKey struct {
+ Region string
+ Variant endpointVariant
+}
+
+// endpointVariant is a bit field to describe the endpoints attributes.
+type endpointVariant uint64
+
+// serviceVariant is a bit field to describe the service endpoint attributes.
+type serviceVariant uint64
+
+const (
+ // fipsVariant indicates that the endpoint is FIPS capable.
+ fipsVariant endpointVariant = 1 << (64 - 1 - iota)
+
+ // dualStackVariant indicates that the endpoint is DualStack capable.
+ dualStackVariant
+)
+
var regionValidationRegex = regexp.MustCompile(`^[[:alnum:]]([[:alnum:]\-]*[[:alnum:]])?$`)
type partitions []partition
@@ -20,8 +49,12 @@ func (ps partitions) EndpointFor(service, region string, opts ...func(*Options))
var opt Options
opt.Set(opts...)
+ if len(opt.ResolvedRegion) > 0 {
+ region = opt.ResolvedRegion
+ }
+
for i := 0; i < len(ps); i++ {
- if !ps[i].canResolveEndpoint(service, region, opt.StrictMatching) {
+ if !ps[i].canResolveEndpoint(service, region, opt) {
continue
}
@@ -49,14 +82,76 @@ func (ps partitions) Partitions() []Partition {
return parts
}
+type endpointWithVariants struct {
+ endpoint
+ Variants []endpointWithTags `json:"variants"`
+}
+
+type endpointWithTags struct {
+ endpoint
+ Tags []string `json:"tags"`
+}
+
+type endpointDefaults map[defaultKey]endpoint
+
+func (p *endpointDefaults) UnmarshalJSON(data []byte) error {
+ if *p == nil {
+ *p = make(endpointDefaults)
+ }
+
+ var e endpointWithVariants
+ if err := json.Unmarshal(data, &e); err != nil {
+ return err
+ }
+
+ (*p)[defaultKey{Variant: 0}] = e.endpoint
+
+ e.Hostname = ""
+ e.DNSSuffix = ""
+
+ for _, variant := range e.Variants {
+ endpointVariant, unknown := parseVariantTags(variant.Tags)
+ if unknown {
+ continue
+ }
+
+ var ve endpoint
+ ve.mergeIn(e.endpoint)
+ ve.mergeIn(variant.endpoint)
+
+ (*p)[defaultKey{Variant: endpointVariant}] = ve
+ }
+
+ return nil
+}
+
+func parseVariantTags(tags []string) (ev endpointVariant, unknown bool) {
+ if len(tags) == 0 {
+ unknown = true
+ return
+ }
+
+ for _, tag := range tags {
+ switch {
+ case strings.EqualFold("fips", tag):
+ ev |= fipsVariant
+ case strings.EqualFold("dualstack", tag):
+ ev |= dualStackVariant
+ default:
+ unknown = true
+ }
+ }
+ return ev, unknown
+}
+
type partition struct {
- ID string `json:"partition"`
- Name string `json:"partitionName"`
- DNSSuffix string `json:"dnsSuffix"`
- RegionRegex regionRegex `json:"regionRegex"`
- Defaults endpoint `json:"defaults"`
- Regions regions `json:"regions"`
- Services services `json:"services"`
+ ID string `json:"partition"`
+ Name string `json:"partitionName"`
+ DNSSuffix string `json:"dnsSuffix"`
+ RegionRegex regionRegex `json:"regionRegex"`
+ Defaults endpointDefaults `json:"defaults"`
+ Regions regions `json:"regions"`
+ Services services `json:"services"`
}
func (p partition) Partition() Partition {
@@ -67,15 +162,18 @@ func (p partition) Partition() Partition {
}
}
-func (p partition) canResolveEndpoint(service, region string, strictMatch bool) bool {
+func (p partition) canResolveEndpoint(service, region string, options Options) bool {
s, hasService := p.Services[service]
- _, hasEndpoint := s.Endpoints[region]
+ _, hasEndpoint := s.Endpoints[endpointKey{
+ Region: region,
+ Variant: options.getEndpointVariant(service),
+ }]
if hasEndpoint && hasService {
return true
}
- if strictMatch {
+ if options.StrictMatching {
return false
}
@@ -106,6 +204,10 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (
var opt Options
opt.Set(opts...)
+ if len(opt.ResolvedRegion) > 0 {
+ region = opt.ResolvedRegion
+ }
+
s, hasService := p.Services[service]
if service == Ec2metadataServiceID && !hasService {
@@ -123,21 +225,44 @@ func (p partition) EndpointFor(service, region string, opts ...func(*Options)) (
region = s.PartitionEndpoint
}
- if (service == "sts" && opt.STSRegionalEndpoint != RegionalSTSEndpoint) ||
- (service == "s3" && opt.S3UsEast1RegionalEndpoint != RegionalS3UsEast1Endpoint) {
- if _, ok := legacyGlobalRegions[service][region]; ok {
- region = "aws-global"
- }
+ if r, ok := isLegacyGlobalRegion(service, region, opt); ok {
+ region = r
+ }
+
+ variant := opt.getEndpointVariant(service)
+
+ endpoints := s.Endpoints
+
+ serviceDefaults, hasServiceDefault := s.Defaults[defaultKey{Variant: variant}]
+ // If we searched for a variant which may have no explicit service defaults,
+ // then we need to inherit the standard service defaults except the hostname and dnsSuffix
+ if variant != 0 && !hasServiceDefault {
+ serviceDefaults = s.Defaults[defaultKey{}]
+ serviceDefaults.Hostname = ""
+ serviceDefaults.DNSSuffix = ""
}
- e, hasEndpoint := s.endpointForRegion(region)
- if len(region) == 0 || (!hasEndpoint && opt.StrictMatching) {
- return resolved, NewUnknownEndpointError(p.ID, service, region, endpointList(s.Endpoints))
+ partitionDefaults, hasPartitionDefault := p.Defaults[defaultKey{Variant: variant}]
+
+ var dnsSuffix string
+ if len(serviceDefaults.DNSSuffix) > 0 {
+ dnsSuffix = serviceDefaults.DNSSuffix
+ } else if variant == 0 {
+ // For legacy reasons the partition dnsSuffix is not in the defaults, so if we looked for
+ // a non-variant endpoint then we need to set the dnsSuffix.
+ dnsSuffix = p.DNSSuffix
+ }
+
+ noDefaults := !hasServiceDefault && !hasPartitionDefault
+
+ e, hasEndpoint := s.endpointForRegion(region, endpoints, variant)
+ if len(region) == 0 || (!hasEndpoint && (opt.StrictMatching || noDefaults)) {
+ return resolved, NewUnknownEndpointError(p.ID, service, region, endpointList(endpoints, variant))
}
- defs := []endpoint{p.Defaults, s.Defaults}
+ defs := []endpoint{partitionDefaults, serviceDefaults}
- return e.resolve(service, p.ID, region, p.DNSSuffix, defs, opt)
+ return e.resolve(service, p.ID, region, dnsSuffixTemplateKey, dnsSuffix, defs, opt)
}
func getEC2MetadataEndpoint(partitionID, service string, mode EC2IMDSEndpointModeState) ResolvedEndpoint {
@@ -165,6 +290,31 @@ func getEC2MetadataEndpoint(partitionID, service string, mode EC2IMDSEndpointMod
}
}
+func isLegacyGlobalRegion(service string, region string, opt Options) (string, bool) {
+ if opt.getEndpointVariant(service) != 0 {
+ return "", false
+ }
+
+ const (
+ sts = "sts"
+ s3 = "s3"
+ awsGlobal = "aws-global"
+ )
+
+ switch {
+ case service == sts && opt.STSRegionalEndpoint == RegionalSTSEndpoint:
+ return region, false
+ case service == s3 && opt.S3UsEast1RegionalEndpoint == RegionalS3UsEast1Endpoint:
+ return region, false
+ default:
+ if _, ok := legacyGlobalRegions[service][region]; ok {
+ return awsGlobal, true
+ }
+ }
+
+ return region, false
+}
+
func serviceList(ss services) []string {
list := make([]string, 0, len(ss))
for k := range ss {
@@ -172,10 +322,13 @@ func serviceList(ss services) []string {
}
return list
}
-func endpointList(es endpoints) []string {
+func endpointList(es serviceEndpoints, variant endpointVariant) []string {
list := make([]string, 0, len(es))
for k := range es {
- list = append(list, k)
+ if k.Variant != variant {
+ continue
+ }
+ list = append(list, k.Region)
}
return list
}
@@ -207,19 +360,19 @@ type region struct {
type services map[string]service
type service struct {
- PartitionEndpoint string `json:"partitionEndpoint"`
- IsRegionalized boxedBool `json:"isRegionalized,omitempty"`
- Defaults endpoint `json:"defaults"`
- Endpoints endpoints `json:"endpoints"`
+ PartitionEndpoint string `json:"partitionEndpoint"`
+ IsRegionalized boxedBool `json:"isRegionalized,omitempty"`
+ Defaults endpointDefaults `json:"defaults"`
+ Endpoints serviceEndpoints `json:"endpoints"`
}
-func (s *service) endpointForRegion(region string) (endpoint, bool) {
- if e, ok := s.Endpoints[region]; ok {
+func (s *service) endpointForRegion(region string, endpoints serviceEndpoints, variant endpointVariant) (endpoint, bool) {
+ if e, ok := endpoints[endpointKey{Region: region, Variant: variant}]; ok {
return e, true
}
if s.IsRegionalized == boxedFalse {
- return s.Endpoints[s.PartitionEndpoint], region == s.PartitionEndpoint
+ return endpoints[endpointKey{Region: s.PartitionEndpoint, Variant: variant}], region == s.PartitionEndpoint
}
// Unable to find any matching endpoint, return
@@ -227,22 +380,73 @@ func (s *service) endpointForRegion(region string) (endpoint, bool) {
return endpoint{}, false
}
-type endpoints map[string]endpoint
+type serviceEndpoints map[endpointKey]endpoint
+
+func (s *serviceEndpoints) UnmarshalJSON(data []byte) error {
+ if *s == nil {
+ *s = make(serviceEndpoints)
+ }
+
+ var regionToEndpoint map[string]endpointWithVariants
+
+ if err := json.Unmarshal(data, ®ionToEndpoint); err != nil {
+ return err
+ }
+
+ for region, e := range regionToEndpoint {
+ (*s)[endpointKey{Region: region}] = e.endpoint
+
+ e.Hostname = ""
+ e.DNSSuffix = ""
+
+ for _, variant := range e.Variants {
+ endpointVariant, unknown := parseVariantTags(variant.Tags)
+ if unknown {
+ continue
+ }
+
+ var ve endpoint
+ ve.mergeIn(e.endpoint)
+ ve.mergeIn(variant.endpoint)
+
+ (*s)[endpointKey{Region: region, Variant: endpointVariant}] = ve
+ }
+ }
+
+ return nil
+}
type endpoint struct {
Hostname string `json:"hostname"`
Protocols []string `json:"protocols"`
CredentialScope credentialScope `json:"credentialScope"`
- // Custom fields not modeled
- HasDualStack boxedBool `json:"-"`
- DualStackHostname string `json:"-"`
+ DNSSuffix string `json:"dnsSuffix"`
// Signature Version not used
SignatureVersions []string `json:"signatureVersions"`
// SSLCommonName not used.
SSLCommonName string `json:"sslCommonName"`
+
+ Deprecated boxedBool `json:"deprecated"`
+}
+
+// isZero returns whether the endpoint structure is an empty (zero) value.
+func (e endpoint) isZero() bool {
+ switch {
+ case len(e.Hostname) != 0:
+ return false
+ case len(e.Protocols) != 0:
+ return false
+ case e.CredentialScope != (credentialScope{}):
+ return false
+ case len(e.SignatureVersions) != 0:
+ return false
+ case len(e.SSLCommonName) != 0:
+ return false
+ }
+ return true
}
const (
@@ -271,7 +475,7 @@ func getByPriority(s []string, p []string, def string) string {
return s[0]
}
-func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs []endpoint, opts Options) (ResolvedEndpoint, error) {
+func (e endpoint) resolve(service, partitionID, region, dnsSuffixTemplateVariable, dnsSuffix string, defs []endpoint, opts Options) (ResolvedEndpoint, error) {
var merged endpoint
for _, def := range defs {
merged.mergeIn(def)
@@ -292,23 +496,26 @@ func (e endpoint) resolve(service, partitionID, region, dnsSuffix string, defs [
}
hostname := e.Hostname
- // Offset the hostname for dualstack if enabled
- if opts.UseDualStack && e.HasDualStack == boxedTrue {
- hostname = e.DualStackHostname
- region = signingRegion
- }
if !validateInputRegion(region) {
return ResolvedEndpoint{}, fmt.Errorf("invalid region identifier format provided")
}
+ if len(merged.DNSSuffix) > 0 {
+ dnsSuffix = merged.DNSSuffix
+ }
+
u := strings.Replace(hostname, "{service}", service, 1)
u = strings.Replace(u, "{region}", region, 1)
- u = strings.Replace(u, "{dnsSuffix}", dnsSuffix, 1)
+ u = strings.Replace(u, dnsSuffixTemplateVariable, dnsSuffix, 1)
scheme := getEndpointScheme(e.Protocols, opts.DisableSSL)
u = fmt.Sprintf("%s://%s", scheme, u)
+ if e.Deprecated == boxedTrue && opts.LogDeprecated && opts.Logger != nil {
+ opts.Logger.Log(fmt.Sprintf("endpoint identifier %q, url %q marked as deprecated", region, u))
+ }
+
return ResolvedEndpoint{
URL: u,
PartitionID: partitionID,
@@ -346,11 +553,11 @@ func (e *endpoint) mergeIn(other endpoint) {
if len(other.SSLCommonName) > 0 {
e.SSLCommonName = other.SSLCommonName
}
- if other.HasDualStack != boxedBoolUnset {
- e.HasDualStack = other.HasDualStack
+ if len(other.DNSSuffix) > 0 {
+ e.DNSSuffix = other.DNSSuffix
}
- if len(other.DualStackHostname) > 0 {
- e.DualStackHostname = other.DualStackHostname
+ if other.Deprecated != boxedBoolUnset {
+ e.Deprecated = other.Deprecated
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
index db6efd605..84922bca8 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/endpoints/v3model_codegen.go
@@ -155,18 +155,71 @@ func serviceSet(ps partitions) map[string]struct{} {
return set
}
+func endpointVariantSetter(variant endpointVariant) (string, error) {
+ if variant == 0 {
+ return "0", nil
+ }
+
+ if variant > (fipsVariant | dualStackVariant) {
+ return "", fmt.Errorf("unknown endpoint variant")
+ }
+
+ var symbols []string
+ if variant&fipsVariant != 0 {
+ symbols = append(symbols, "fipsVariant")
+ }
+ if variant&dualStackVariant != 0 {
+ symbols = append(symbols, "dualStackVariant")
+ }
+ v := strings.Join(symbols, "|")
+
+ return v, nil
+}
+
+func endpointKeySetter(e endpointKey) (string, error) {
+ var sb strings.Builder
+ sb.WriteString("endpointKey{\n")
+ sb.WriteString(fmt.Sprintf("Region: %q,\n", e.Region))
+ if e.Variant != 0 {
+ variantSetter, err := endpointVariantSetter(e.Variant)
+ if err != nil {
+ return "", err
+ }
+ sb.WriteString(fmt.Sprintf("Variant: %s,\n", variantSetter))
+ }
+ sb.WriteString("}")
+ return sb.String(), nil
+}
+
+func defaultKeySetter(e defaultKey) (string, error) {
+ var sb strings.Builder
+ sb.WriteString("defaultKey{\n")
+ if e.Variant != 0 {
+ variantSetter, err := endpointVariantSetter(e.Variant)
+ if err != nil {
+ return "", err
+ }
+ sb.WriteString(fmt.Sprintf("Variant: %s,\n", variantSetter))
+ }
+ sb.WriteString("}")
+ return sb.String(), nil
+}
+
var funcMap = template.FuncMap{
- "ToSymbol": toSymbol,
- "QuoteString": quoteString,
- "RegionConst": regionConstName,
- "PartitionGetter": partitionGetter,
- "PartitionVarName": partitionVarName,
- "ListPartitionNames": listPartitionNames,
- "BoxedBoolIfSet": boxedBoolIfSet,
- "StringIfSet": stringIfSet,
- "StringSliceIfSet": stringSliceIfSet,
- "EndpointIsSet": endpointIsSet,
- "ServicesSet": serviceSet,
+ "ToSymbol": toSymbol,
+ "QuoteString": quoteString,
+ "RegionConst": regionConstName,
+ "PartitionGetter": partitionGetter,
+ "PartitionVarName": partitionVarName,
+ "ListPartitionNames": listPartitionNames,
+ "BoxedBoolIfSet": boxedBoolIfSet,
+ "StringIfSet": stringIfSet,
+ "StringSliceIfSet": stringSliceIfSet,
+ "EndpointIsSet": endpointIsSet,
+ "ServicesSet": serviceSet,
+ "EndpointVariantSetter": endpointVariantSetter,
+ "EndpointKeySetter": endpointKeySetter,
+ "DefaultKeySetter": defaultKeySetter,
}
const v3Tmpl = `
@@ -272,9 +325,9 @@ partition{
{{ StringIfSet "Name: %q,\n" .Name -}}
{{ StringIfSet "DNSSuffix: %q,\n" .DNSSuffix -}}
RegionRegex: {{ template "gocode RegionRegex" .RegionRegex }},
- {{ if EndpointIsSet .Defaults -}}
- Defaults: {{ template "gocode Endpoint" .Defaults }},
- {{- end }}
+ {{ if (gt (len .Defaults) 0) -}}
+ Defaults: {{ template "gocode Defaults" .Defaults -}},
+ {{ end -}}
Regions: {{ template "gocode Regions" .Regions }},
Services: {{ template "gocode Services" .Services }},
}
@@ -315,19 +368,27 @@ services{
service{
{{ StringIfSet "PartitionEndpoint: %q,\n" .PartitionEndpoint -}}
{{ BoxedBoolIfSet "IsRegionalized: %s,\n" .IsRegionalized -}}
- {{ if EndpointIsSet .Defaults -}}
- Defaults: {{ template "gocode Endpoint" .Defaults -}},
- {{- end }}
+ {{ if (gt (len .Defaults) 0) -}}
+ Defaults: {{ template "gocode Defaults" .Defaults -}},
+ {{ end -}}
{{ if .Endpoints -}}
Endpoints: {{ template "gocode Endpoints" .Endpoints }},
{{- end }}
}
{{- end }}
+{{ define "gocode Defaults" -}}
+endpointDefaults{
+ {{ range $id, $endpoint := . -}}
+ {{ DefaultKeySetter $id }}: {{ template "gocode Endpoint" $endpoint }},
+ {{ end }}
+}
+{{- end }}
+
{{ define "gocode Endpoints" -}}
-endpoints{
+serviceEndpoints{
{{ range $id, $endpoint := . -}}
- "{{ $id }}": {{ template "gocode Endpoint" $endpoint }},
+ {{ EndpointKeySetter $id }}: {{ template "gocode Endpoint" $endpoint }},
{{ end }}
}
{{- end }}
@@ -335,6 +396,7 @@ endpoints{
{{ define "gocode Endpoint" -}}
endpoint{
{{ StringIfSet "Hostname: %q,\n" .Hostname -}}
+ {{ StringIfSet "DNSSuffix: %q,\n" .DNSSuffix -}}
{{ StringIfSet "SSLCommonName: %q,\n" .SSLCommonName -}}
{{ StringSliceIfSet "Protocols: []string{%s},\n" .Protocols -}}
{{ StringSliceIfSet "SignatureVersions: []string{%s},\n" .SignatureVersions -}}
@@ -344,9 +406,7 @@ endpoint{
{{ StringIfSet "Service: %q,\n" .CredentialScope.Service -}}
},
{{- end }}
- {{ BoxedBoolIfSet "HasDualStack: %s,\n" .HasDualStack -}}
- {{ StringIfSet "DualStackHostname: %q,\n" .DualStackHostname -}}
-
+ {{ BoxedBoolIfSet "Deprecated: %s,\n" .Deprecated -}}
}
{{- end }}
`
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/logger.go b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
index 6ed15b2ec..49674cc79 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/logger.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/logger.go
@@ -77,6 +77,9 @@ const (
// wire unmarshaled message content of requests and responses made while
// using the SDK Will also enable LogDebug.
LogDebugWithEventStreamBody
+
+ // LogDebugWithDeprecated states the SDK should log details about deprecated functionality.
+ LogDebugWithDeprecated
)
// A Logger is a minimalistic interface for the SDK to log messages to. Should
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
index fb0a68fce..636d9ec94 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/request.go
@@ -4,6 +4,7 @@ import (
"bytes"
"fmt"
"io"
+ "io/ioutil"
"net/http"
"net/url"
"reflect"
@@ -525,6 +526,14 @@ func (r *Request) GetBody() io.ReadSeeker {
// Send will not close the request.Request's body.
func (r *Request) Send() error {
defer func() {
+ // Ensure a non-nil HTTPResponse parameter is set to ensure handlers
+ // checking for HTTPResponse values, don't fail.
+ if r.HTTPResponse == nil {
+ r.HTTPResponse = &http.Response{
+ Header: http.Header{},
+ Body: ioutil.NopCloser(&bytes.Buffer{}),
+ }
+ }
// Regardless of success or failure of the request trigger the Complete
// request handlers.
r.Handlers.Complete.Run(r)
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
index 752ae47f8..3f0001f91 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/request/retryer.go
@@ -15,8 +15,8 @@ import (
// and determine if a request API error should be retried.
//
// client.DefaultRetryer is the SDK's default implementation of the Retryer. It
-// uses the which uses the Request.IsErrorRetryable and Request.IsErrorThrottle
-// methods to determine if the request is retried.
+// uses the Request.IsErrorRetryable and Request.IsErrorThrottle methods to
+// determine if the request is retried.
type Retryer interface {
// RetryRules return the retry delay that should be used by the SDK before
// making another request attempt for the failed request.
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go
index 3efdac29f..1d3f4c3ad 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/credentials.go
@@ -14,8 +14,17 @@ import (
"github.com/aws/aws-sdk-go/aws/defaults"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/shareddefaults"
+ "github.com/aws/aws-sdk-go/service/sts"
)
+// CredentialsProviderOptions specifies additional options for configuring
+// credentials providers.
+type CredentialsProviderOptions struct {
+ // WebIdentityRoleProviderOptions configures a WebIdentityRoleProvider,
+ // such as setting its ExpiryWindow.
+ WebIdentityRoleProviderOptions func(*stscreds.WebIdentityRoleProvider)
+}
+
func resolveCredentials(cfg *aws.Config,
envCfg envConfig, sharedCfg sharedConfig,
handlers request.Handlers,
@@ -40,6 +49,7 @@ func resolveCredentials(cfg *aws.Config,
envCfg.WebIdentityTokenFilePath,
envCfg.RoleARN,
envCfg.RoleSessionName,
+ sessOpts.CredentialsProviderOptions,
)
default:
@@ -59,6 +69,7 @@ var WebIdentityEmptyTokenFilePathErr = awserr.New(stscreds.ErrCodeWebIdentity, "
func assumeWebIdentity(cfg *aws.Config, handlers request.Handlers,
filepath string,
roleARN, sessionName string,
+ credOptions *CredentialsProviderOptions,
) (*credentials.Credentials, error) {
if len(filepath) == 0 {
@@ -69,17 +80,18 @@ func assumeWebIdentity(cfg *aws.Config, handlers request.Handlers,
return nil, WebIdentityEmptyRoleARNErr
}
- creds := stscreds.NewWebIdentityCredentials(
- &Session{
- Config: cfg,
- Handlers: handlers.Copy(),
- },
- roleARN,
- sessionName,
- filepath,
- )
+ svc := sts.New(&Session{
+ Config: cfg,
+ Handlers: handlers.Copy(),
+ })
- return creds, nil
+ var optFns []func(*stscreds.WebIdentityRoleProvider)
+ if credOptions != nil && credOptions.WebIdentityRoleProviderOptions != nil {
+ optFns = append(optFns, credOptions.WebIdentityRoleProviderOptions)
+ }
+
+ p := stscreds.NewWebIdentityRoleProviderWithOptions(svc, roleARN, sessionName, stscreds.FetchTokenPath(filepath), optFns...)
+ return credentials.NewCredentials(p), nil
}
func resolveCredsFromProfile(cfg *aws.Config,
@@ -114,6 +126,7 @@ func resolveCredsFromProfile(cfg *aws.Config,
sharedCfg.WebIdentityTokenFile,
sharedCfg.RoleARN,
sharedCfg.RoleSessionName,
+ sessOpts.CredentialsProviderOptions,
)
case sharedCfg.hasSSOConfiguration():
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
index 43b56863e..ff3cc012a 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/doc.go
@@ -285,5 +285,83 @@ The custom EC2 IMDS endpoint can also be specified via the Session options.
sess, err := session.NewSessionWithOptions(session.Options{
EC2MetadataEndpoint: "http://[::1]",
})
+
+FIPS and DualStack Endpoints
+
+The SDK can be configured to resolve an endpoint with certain capabilities such as FIPS and DualStack.
+
+You can configure a FIPS endpoint using an environment variable, shared config ($HOME/.aws/config),
+or programmatically.
+
+To configure a FIPS endpoint set the environment variable set the AWS_USE_FIPS_ENDPOINT to true or false to enable
+or disable FIPS endpoint resolution.
+
+ AWS_USE_FIPS_ENDPOINT=true
+
+To configure a FIPS endpoint using shared config, set use_fips_endpoint to true or false to enable
+or disable FIPS endpoint resolution.
+
+ [profile myprofile]
+ region=us-west-2
+ use_fips_endpoint=true
+
+To configure a FIPS endpoint programmatically
+
+ // Option 1: Configure it on a session for all clients
+ sess, err := session.NewSessionWithOptions(session.Options{
+ UseFIPSEndpoint: endpoints.FIPSEndpointStateEnabled,
+ })
+ if err != nil {
+ // handle error
+ }
+
+ client := s3.New(sess)
+
+ // Option 2: Configure it per client
+ sess, err := session.NewSession()
+ if err != nil {
+ // handle error
+ }
+
+ client := s3.New(sess, &aws.Config{
+ UseFIPSEndpoint: endpoints.FIPSEndpointStateEnabled,
+ })
+
+You can configure a DualStack endpoint using an environment variable, shared config ($HOME/.aws/config),
+or programmatically.
+
+To configure a DualStack endpoint set the environment variable set the AWS_USE_DUALSTACK_ENDPOINT to true or false to
+enable or disable DualStack endpoint resolution.
+
+ AWS_USE_DUALSTACK_ENDPOINT=true
+
+To configure a DualStack endpoint using shared config, set use_dualstack_endpoint to true or false to enable
+or disable DualStack endpoint resolution.
+
+ [profile myprofile]
+ region=us-west-2
+ use_dualstack_endpoint=true
+
+To configure a DualStack endpoint programmatically
+
+ // Option 1: Configure it on a session for all clients
+ sess, err := session.NewSessionWithOptions(session.Options{
+ UseDualStackEndpoint: endpoints.DualStackEndpointStateEnabled,
+ })
+ if err != nil {
+ // handle error
+ }
+
+ client := s3.New(sess)
+
+ // Option 2: Configure it per client
+ sess, err := session.NewSession()
+ if err != nil {
+ // handle error
+ }
+
+ client := s3.New(sess, &aws.Config{
+ UseDualStackEndpoint: endpoints.DualStackEndpointStateEnabled,
+ })
*/
package session
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
index fffe2f350..d6fa24776 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/env_config.go
@@ -170,6 +170,18 @@ type envConfig struct {
//
// AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE=IPv6
EC2IMDSEndpointMode endpoints.EC2IMDSEndpointModeState
+
+ // Specifies that SDK clients must resolve a dual-stack endpoint for
+ // services.
+ //
+ // AWS_USE_DUALSTACK_ENDPOINT=true
+ UseDualStackEndpoint endpoints.DualStackEndpointState
+
+ // Specifies that SDK clients must resolve a FIPS endpoint for
+ // services.
+ //
+ // AWS_USE_FIPS_ENDPOINT=true
+ UseFIPSEndpoint endpoints.FIPSEndpointState
}
var (
@@ -248,6 +260,12 @@ var (
useClientTLSKey = []string{
"AWS_SDK_GO_CLIENT_TLS_KEY",
}
+ awsUseDualStackEndpoint = []string{
+ "AWS_USE_DUALSTACK_ENDPOINT",
+ }
+ awsUseFIPSEndpoint = []string{
+ "AWS_USE_FIPS_ENDPOINT",
+ }
)
// loadEnvConfig retrieves the SDK's environment configuration.
@@ -376,6 +394,14 @@ func envConfigLoad(enableSharedConfig bool) (envConfig, error) {
return envConfig{}, err
}
+ if err := setUseDualStackEndpointFromEnvVal(&cfg.UseDualStackEndpoint, awsUseDualStackEndpoint); err != nil {
+ return cfg, err
+ }
+
+ if err := setUseFIPSEndpointFromEnvVal(&cfg.UseFIPSEndpoint, awsUseFIPSEndpoint); err != nil {
+ return cfg, err
+ }
+
return cfg, nil
}
@@ -401,3 +427,45 @@ func setEC2IMDSEndpointMode(mode *endpoints.EC2IMDSEndpointModeState, keys []str
}
return nil
}
+
+func setUseDualStackEndpointFromEnvVal(dst *endpoints.DualStackEndpointState, keys []string) error {
+ for _, k := range keys {
+ value := os.Getenv(k)
+ if len(value) == 0 {
+ continue // skip if empty
+ }
+
+ switch {
+ case strings.EqualFold(value, "true"):
+ *dst = endpoints.DualStackEndpointStateEnabled
+ case strings.EqualFold(value, "false"):
+ *dst = endpoints.DualStackEndpointStateDisabled
+ default:
+ return fmt.Errorf(
+ "invalid value for environment variable, %s=%s, need true, false",
+ k, value)
+ }
+ }
+ return nil
+}
+
+func setUseFIPSEndpointFromEnvVal(dst *endpoints.FIPSEndpointState, keys []string) error {
+ for _, k := range keys {
+ value := os.Getenv(k)
+ if len(value) == 0 {
+ continue // skip if empty
+ }
+
+ switch {
+ case strings.EqualFold(value, "true"):
+ *dst = endpoints.FIPSEndpointStateEnabled
+ case strings.EqualFold(value, "false"):
+ *dst = endpoints.FIPSEndpointStateDisabled
+ default:
+ return fmt.Errorf(
+ "invalid value for environment variable, %s=%s, need true, false",
+ k, value)
+ }
+ }
+ return nil
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
index 4b2e057e9..4293dbe10 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/session.go
@@ -8,6 +8,7 @@ import (
"io/ioutil"
"net/http"
"os"
+ "strings"
"time"
"github.com/aws/aws-sdk-go/aws"
@@ -303,6 +304,11 @@ type Options struct {
//
// AWS_EC2_METADATA_SERVICE_ENDPOINT_MODE=IPv6
EC2IMDSEndpointMode endpoints.EC2IMDSEndpointModeState
+
+ // Specifies options for creating credential providers.
+ // These are only used if the aws.Config does not already
+ // include credentials.
+ CredentialsProviderOptions *CredentialsProviderOptions
}
// NewSessionWithOptions returns a new Session created from SDK defaults, config files,
@@ -792,6 +798,20 @@ func mergeConfigSrcs(cfg, userCfg *aws.Config,
cfg.S3UseARNRegion = &sharedCfg.S3UseARNRegion
}
+ for _, v := range []endpoints.DualStackEndpointState{userCfg.UseDualStackEndpoint, envCfg.UseDualStackEndpoint, sharedCfg.UseDualStackEndpoint} {
+ if v != endpoints.DualStackEndpointStateUnset {
+ cfg.UseDualStackEndpoint = v
+ break
+ }
+ }
+
+ for _, v := range []endpoints.FIPSEndpointState{userCfg.UseFIPSEndpoint, envCfg.UseFIPSEndpoint, sharedCfg.UseFIPSEndpoint} {
+ if v != endpoints.FIPSEndpointStateUnset {
+ cfg.UseFIPSEndpoint = v
+ break
+ }
+ }
+
return nil
}
@@ -845,8 +865,10 @@ func (s *Session) Copy(cfgs ...*aws.Config) *Session {
func (s *Session) ClientConfig(service string, cfgs ...*aws.Config) client.Config {
s = s.Copy(cfgs...)
+ resolvedRegion := normalizeRegion(s.Config)
+
region := aws.StringValue(s.Config.Region)
- resolved, err := s.resolveEndpoint(service, region, s.Config)
+ resolved, err := s.resolveEndpoint(service, region, resolvedRegion, s.Config)
if err != nil {
s.Handlers.Validate.PushBack(func(r *request.Request) {
if len(r.ClientInfo.Endpoint) != 0 {
@@ -867,12 +889,13 @@ func (s *Session) ClientConfig(service string, cfgs ...*aws.Config) client.Confi
SigningRegion: resolved.SigningRegion,
SigningNameDerived: resolved.SigningNameDerived,
SigningName: resolved.SigningName,
+ ResolvedRegion: resolvedRegion,
}
}
const ec2MetadataServiceID = "ec2metadata"
-func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endpoints.ResolvedEndpoint, error) {
+func (s *Session) resolveEndpoint(service, region, resolvedRegion string, cfg *aws.Config) (endpoints.ResolvedEndpoint, error) {
if ep := aws.StringValue(cfg.Endpoint); len(ep) != 0 {
return endpoints.ResolvedEndpoint{
@@ -884,7 +907,12 @@ func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endp
resolved, err := cfg.EndpointResolver.EndpointFor(service, region,
func(opt *endpoints.Options) {
opt.DisableSSL = aws.BoolValue(cfg.DisableSSL)
+
opt.UseDualStack = aws.BoolValue(cfg.UseDualStack)
+ opt.UseDualStackEndpoint = cfg.UseDualStackEndpoint
+
+ opt.UseFIPSEndpoint = cfg.UseFIPSEndpoint
+
// Support for STSRegionalEndpoint where the STSRegionalEndpoint is
// provided in envConfig or sharedConfig with envConfig getting
// precedence.
@@ -898,6 +926,11 @@ func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endp
// Support the condition where the service is modeled but its
// endpoint metadata is not available.
opt.ResolveUnknownService = true
+
+ opt.ResolvedRegion = resolvedRegion
+
+ opt.Logger = cfg.Logger
+ opt.LogDeprecated = cfg.LogLevel.Matches(aws.LogDebugWithDeprecated)
},
)
if err != nil {
@@ -913,6 +946,8 @@ func (s *Session) resolveEndpoint(service, region string, cfg *aws.Config) (endp
func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Config {
s = s.Copy(cfgs...)
+ resolvedRegion := normalizeRegion(s.Config)
+
var resolved endpoints.ResolvedEndpoint
if ep := aws.StringValue(s.Config.Endpoint); len(ep) > 0 {
resolved.URL = endpoints.AddScheme(ep, aws.BoolValue(s.Config.DisableSSL))
@@ -926,6 +961,7 @@ func (s *Session) ClientConfigNoResolveEndpoint(cfgs ...*aws.Config) client.Conf
SigningRegion: resolved.SigningRegion,
SigningNameDerived: resolved.SigningNameDerived,
SigningName: resolved.SigningName,
+ ResolvedRegion: resolvedRegion,
}
}
@@ -939,3 +975,23 @@ func (s *Session) logDeprecatedNewSessionError(msg string, err error, cfgs []*aw
r.Error = err
})
}
+
+// normalizeRegion resolves / normalizes the configured region (converts pseudo fips regions), and modifies the provided
+// config to have the equivalent options for resolution and returns the resolved region name.
+func normalizeRegion(cfg *aws.Config) (resolved string) {
+ const fipsInfix = "-fips-"
+ const fipsPrefix = "-fips"
+ const fipsSuffix = "fips-"
+
+ region := aws.StringValue(cfg.Region)
+
+ if strings.Contains(region, fipsInfix) ||
+ strings.Contains(region, fipsPrefix) ||
+ strings.Contains(region, fipsSuffix) {
+ resolved = strings.Replace(strings.Replace(strings.Replace(
+ region, fipsInfix, "-", -1), fipsPrefix, "", -1), fipsSuffix, "", -1)
+ cfg.UseFIPSEndpoint = endpoints.FIPSEndpointStateEnabled
+ }
+
+ return resolved
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
index 6830ece70..424c82b4d 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/session/shared_config.go
@@ -72,6 +72,12 @@ const (
// EC2 IMDS Endpoint
ec2MetadataServiceEndpointKey = "ec2_metadata_service_endpoint"
+
+ // Use DualStack Endpoint Resolution
+ useDualStackEndpoint = "use_dualstack_endpoint"
+
+ // Use FIPS Endpoint Resolution
+ useFIPSEndpointKey = "use_fips_endpoint"
)
// sharedConfig represents the configuration fields of the SDK config files.
@@ -161,6 +167,18 @@ type sharedConfig struct {
//
// ec2_metadata_service_endpoint=http://fd00:ec2::254
EC2IMDSEndpoint string
+
+ // Specifies that SDK clients must resolve a dual-stack endpoint for
+ // services.
+ //
+ // use_dualstack_endpoint=true
+ UseDualStackEndpoint endpoints.DualStackEndpointState
+
+ // Specifies that SDK clients must resolve a FIPS endpoint for
+ // services.
+ //
+ // use_fips_endpoint=true
+ UseFIPSEndpoint endpoints.FIPSEndpointState
}
type sharedConfigFile struct {
@@ -356,6 +374,10 @@ func (cfg *sharedConfig) setFromIniFile(profile string, file sharedConfigFile, e
ec2MetadataServiceEndpointModeKey, file.Filename, err)
}
updateString(&cfg.EC2IMDSEndpoint, section, ec2MetadataServiceEndpointKey)
+
+ updateUseDualStackEndpoint(&cfg.UseDualStackEndpoint, section, useDualStackEndpoint)
+
+ updateUseFIPSEndpoint(&cfg.UseFIPSEndpoint, section, useFIPSEndpointKey)
}
updateString(&cfg.CredentialProcess, section, credentialProcessKey)
@@ -673,3 +695,35 @@ func (e CredentialRequiresARNError) OrigErr() error {
func (e CredentialRequiresARNError) Error() string {
return awserr.SprintError(e.Code(), e.Message(), "", nil)
}
+
+// updateEndpointDiscoveryType will only update the dst with the value in the section, if
+// a valid key and corresponding EndpointDiscoveryType is found.
+func updateUseDualStackEndpoint(dst *endpoints.DualStackEndpointState, section ini.Section, key string) {
+ if !section.Has(key) {
+ return
+ }
+
+ if section.Bool(key) {
+ *dst = endpoints.DualStackEndpointStateEnabled
+ } else {
+ *dst = endpoints.DualStackEndpointStateDisabled
+ }
+
+ return
+}
+
+// updateEndpointDiscoveryType will only update the dst with the value in the section, if
+// a valid key and corresponding EndpointDiscoveryType is found.
+func updateUseFIPSEndpoint(dst *endpoints.FIPSEndpointState, section ini.Section, key string) {
+ if !section.Has(key) {
+ return
+ }
+
+ if section.Bool(key) {
+ *dst = endpoints.FIPSEndpointStateEnabled
+ } else {
+ *dst = endpoints.FIPSEndpointStateDisabled
+ }
+
+ return
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
index d4653031f..4d78162c0 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/signer/v4/v4.go
@@ -634,21 +634,25 @@ func (ctx *signingCtx) buildCanonicalHeaders(r rule, header http.Header) {
ctx.Query.Set("X-Amz-SignedHeaders", ctx.signedHeaders)
}
- headerValues := make([]string, len(headers))
+ headerItems := make([]string, len(headers))
for i, k := range headers {
if k == "host" {
if ctx.Request.Host != "" {
- headerValues[i] = "host:" + ctx.Request.Host
+ headerItems[i] = "host:" + ctx.Request.Host
} else {
- headerValues[i] = "host:" + ctx.Request.URL.Host
+ headerItems[i] = "host:" + ctx.Request.URL.Host
}
} else {
- headerValues[i] = k + ":" +
- strings.Join(ctx.SignedHeaderVals[k], ",")
+ headerValues := make([]string, len(ctx.SignedHeaderVals[k]))
+ for i, v := range ctx.SignedHeaderVals[k] {
+ headerValues[i] = strings.TrimSpace(v)
+ }
+ headerItems[i] = k + ":" +
+ strings.Join(headerValues, ",")
}
}
- stripExcessSpaces(headerValues)
- ctx.canonicalHeaders = strings.Join(headerValues, "\n")
+ stripExcessSpaces(headerItems)
+ ctx.canonicalHeaders = strings.Join(headerItems, "\n")
}
func (ctx *signingCtx) buildCanonicalString() {
diff --git a/vendor/github.com/aws/aws-sdk-go/aws/version.go b/vendor/github.com/aws/aws-sdk-go/aws/version.go
index 872b9f5d2..046f7e89c 100644
--- a/vendor/github.com/aws/aws-sdk-go/aws/version.go
+++ b/vendor/github.com/aws/aws-sdk-go/aws/version.go
@@ -5,4 +5,4 @@ package aws
const SDKName = "aws-sdk-go"
// SDKVersion is the version of this SDK
-const SDKVersion = "1.40.48"
+const SDKVersion = "1.43.16"
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go
index 24df543d3..34a481afb 100644
--- a/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go
+++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/literal_tokens.go
@@ -4,6 +4,7 @@ import (
"fmt"
"strconv"
"strings"
+ "unicode"
)
var (
@@ -18,7 +19,7 @@ var literalValues = [][]rune{
func isBoolValue(b []rune) bool {
for _, lv := range literalValues {
- if isLitValue(lv, b) {
+ if isCaselessLitValue(lv, b) {
return true
}
}
@@ -39,6 +40,21 @@ func isLitValue(want, have []rune) bool {
return true
}
+// isCaselessLitValue is a caseless value comparison, assumes want is already lower-cased for efficiency.
+func isCaselessLitValue(want, have []rune) bool {
+ if len(have) < len(want) {
+ return false
+ }
+
+ for i := 0; i < len(want); i++ {
+ if want[i] != unicode.ToLower(have[i]) {
+ return false
+ }
+ }
+
+ return true
+}
+
// isNumberValue will return whether not the leading characters in
// a byte slice is a number. A number is delimited by whitespace or
// the newline token.
@@ -177,7 +193,7 @@ func newValue(t ValueType, base int, raw []rune) (Value, error) {
case QuotedStringType:
v.str = string(raw[1 : len(raw)-1])
case BoolType:
- v.boolean = runeCompare(v.raw, runesTrue)
+ v.boolean = isCaselessLitValue(runesTrue, v.raw)
}
// issue 2253
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go b/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go
index 305999d29..b5480fdeb 100644
--- a/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go
+++ b/vendor/github.com/aws/aws-sdk-go/internal/ini/value_util.go
@@ -57,7 +57,7 @@ func getBoolValue(b []rune) (int, error) {
continue
}
- if isLitValue(lv, b) {
+ if isCaselessLitValue(lv, b) {
n = len(lv)
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/internal/s3shared/resource_request.go b/vendor/github.com/aws/aws-sdk-go/internal/s3shared/resource_request.go
index 2091ba6ba..ef43d6c58 100644
--- a/vendor/github.com/aws/aws-sdk-go/internal/s3shared/resource_request.go
+++ b/vendor/github.com/aws/aws-sdk-go/internal/s3shared/resource_request.go
@@ -1,8 +1,6 @@
package s3shared
import (
- "strings"
-
"github.com/aws/aws-sdk-go/aws"
awsarn "github.com/aws/aws-sdk-go/aws/arn"
"github.com/aws/aws-sdk-go/aws/request"
@@ -25,18 +23,6 @@ func (r ResourceRequest) AllowCrossRegion() bool {
return aws.BoolValue(r.Request.Config.S3UseARNRegion)
}
-// UseFIPS returns true if request config region is FIPS
-func (r ResourceRequest) UseFIPS() bool {
- return IsFIPS(aws.StringValue(r.Request.Config.Region))
-}
-
-// ResourceConfiguredForFIPS returns true if resource ARNs region is FIPS
-//
-// Deprecated: FIPS pseudo-regions will not be in the ARN
-func (r ResourceRequest) ResourceConfiguredForFIPS() bool {
- return IsFIPS(r.ARN().Region)
-}
-
// IsCrossPartition returns true if client is configured for another partition, than
// the partition that resource ARN region resolves to.
func (r ResourceRequest) IsCrossPartition() bool {
@@ -53,11 +39,6 @@ func (r ResourceRequest) HasCustomEndpoint() bool {
return len(aws.StringValue(r.Request.Config.Endpoint)) > 0
}
-// IsFIPS returns true if region is a fips region
-func IsFIPS(clientRegion string) bool {
- return strings.HasPrefix(clientRegion, "fips-") || strings.HasSuffix(clientRegion, "-fips")
-}
-
// IsCrossRegion returns true if request signing region is not same as configured region
func IsCrossRegion(req *request.Request, otherRegion string) bool {
return req.ClientInfo.SigningRegion != otherRegion
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport.go
new file mode 100644
index 000000000..e3f7d22bd
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport.go
@@ -0,0 +1,10 @@
+//go:build go1.18
+// +build go1.18
+
+package eventstreamapi
+
+import "github.com/aws/aws-sdk-go/aws/request"
+
+// This is a no-op for Go 1.18 and above.
+func ApplyHTTPTransportFixes(r *request.Request) {
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport_go1.17.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport_go1.17.go
new file mode 100644
index 000000000..2ee2c36fd
--- /dev/null
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/eventstream/eventstreamapi/transport_go1.17.go
@@ -0,0 +1,19 @@
+//go:build !go1.18
+// +build !go1.18
+
+package eventstreamapi
+
+import "github.com/aws/aws-sdk-go/aws/request"
+
+// ApplyHTTPTransportFixes applies fixes to the HTTP request for proper event
+// stream functionality. Go 1.15 through 1.17 HTTP client could hang forever
+// when an HTTP/2 connection failed with an non-200 status code and err. Using
+// Expect 100-Continue, allows the HTTP client to gracefully handle the non-200
+// status code, and close the connection.
+//
+// This is a no-op for Go 1.18 and above.
+func ApplyHTTPTransportFixes(r *request.Request) {
+ r.Handlers.Sign.PushBack(func(r *request.Request) {
+ r.HTTPRequest.Header.Set("Expect", "100-Continue")
+ })
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go
index 864fb6704..2aec80661 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/json/jsonutil/build.go
@@ -82,13 +82,17 @@ func buildStruct(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag)
field, _ := value.Type().FieldByName(payload)
tag = field.Tag
value = elemOf(value.FieldByName(payload))
-
- if !value.IsValid() {
+ if !value.IsValid() && tag.Get("type") != "structure" {
return nil
}
}
buf.WriteByte('{')
+ defer buf.WriteString("}")
+
+ if !value.IsValid() {
+ return nil
+ }
t := value.Type()
first := true
@@ -144,8 +148,6 @@ func buildStruct(value reflect.Value, buf *bytes.Buffer, tag reflect.StructTag)
}
- buf.WriteString("}")
-
return nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go
index a029217e4..d9aa27114 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/jsonrpc/jsonrpc.go
@@ -49,9 +49,8 @@ func Build(req *request.Request) {
buf = emptyJSON
}
- if req.ClientInfo.TargetPrefix != "" || string(buf) != "{}" {
- req.SetBufferBody(buf)
- }
+ // Always serialize the body, don't suppress it.
+ req.SetBufferBody(buf)
if req.ClientInfo.TargetPrefix != "" {
target := req.ClientInfo.TargetPrefix + "." + req.Operation.Name
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
index fb35fee5f..5f13d4acb 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/build.go
@@ -272,6 +272,9 @@ func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error)
switch value := v.Interface().(type) {
case string:
+ if tag.Get("suppressedJSONValue") == "true" && tag.Get("location") == "header" {
+ value = base64.StdEncoding.EncodeToString([]byte(value))
+ }
str = value
case []byte:
str = base64.StdEncoding.EncodeToString(value)
@@ -306,5 +309,6 @@ func convertType(v reflect.Value, tag reflect.StructTag) (str string, err error)
err := fmt.Errorf("unsupported value for param %v (%s)", v.Interface(), v.Type())
return "", err
}
+
return str, nil
}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go
index 4366de2e1..b54c99eda 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/payload.go
@@ -28,18 +28,27 @@ func PayloadMember(i interface{}) interface{} {
return nil
}
-// PayloadType returns the type of a payload field member of i if there is one, or "".
+const nopayloadPayloadType = "nopayload"
+
+// PayloadType returns the type of a payload field member of i if there is one,
+// or "".
func PayloadType(i interface{}) string {
v := reflect.Indirect(reflect.ValueOf(i))
if !v.IsValid() {
return ""
}
+
if field, ok := v.Type().FieldByName("_"); ok {
+ if noPayload := field.Tag.Get(nopayloadPayloadType); noPayload != "" {
+ return nopayloadPayloadType
+ }
+
if payloadName := field.Tag.Get("payload"); payloadName != "" {
if member, ok := v.Type().FieldByName(payloadName); ok {
return member.Tag.Get("type")
}
}
}
+
return ""
}
diff --git a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
index 92f8b4d9a..cdef403e2 100644
--- a/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
+++ b/vendor/github.com/aws/aws-sdk-go/private/protocol/rest/unmarshal.go
@@ -140,7 +140,7 @@ func unmarshalLocationElements(resp *http.Response, v reflect.Value, lowerCaseHe
prefix := field.Tag.Get("locationName")
err := unmarshalHeaderMap(m, resp.Header, prefix, lowerCaseHeaderMaps)
if err != nil {
- awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err)
+ return awserr.New(request.ErrCodeSerialization, "failed to decode REST response", err)
}
}
}
@@ -204,6 +204,13 @@ func unmarshalHeader(v reflect.Value, header string, tag reflect.StructTag) erro
switch v.Interface().(type) {
case *string:
+ if tag.Get("suppressedJSONValue") == "true" && tag.Get("location") == "header" {
+ b, err := base64.StdEncoding.DecodeString(header)
+ if err != nil {
+ return fmt.Errorf("failed to decode JSONValue, %v", err)
+ }
+ header = string(b)
+ }
v.Set(reflect.ValueOf(&header))
case []byte:
b, err := base64.StdEncoding.DecodeString(header)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
index 633d3c09f..49fc95456 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/api.go
@@ -196,6 +196,10 @@ func (c *S3) CompleteMultipartUploadRequest(input *CompleteMultipartUploadInput)
// to retry the failed requests. For more information, see Amazon S3 Error Best
// Practices (https://docs.aws.amazon.com/AmazonS3/latest/dev/ErrorBestPractices.html).
//
+// You cannot use Content-Type: application/x-www-form-urlencoded with Complete
+// Multipart Upload requests. Also, if you do not provide a Content-Type header,
+// CompleteMultipartUpload returns a 200 OK response.
+//
// For more information about multipart uploads, see Uploading Objects Using
// Multipart Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html).
//
@@ -309,8 +313,8 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// You can store individual objects of up to 5 TB in Amazon S3. You create a
// copy of your object up to 5 GB in size in a single atomic action using this
// API. However, to copy an object greater than 5 GB, you must use the multipart
-// upload Upload Part - Copy API. For more information, see Copy Object Using
-// the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
+// upload Upload Part - Copy (UploadPartCopy) API. For more information, see
+// Copy Object Using the REST Multipart Upload API (https://docs.aws.amazon.com/AmazonS3/latest/dev/CopyingObjctsUsingRESTMPUapi.html).
//
// All copy requests must be authenticated. Additionally, you must have read
// access to the source object and write access to the destination bucket. For
@@ -359,7 +363,7 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// in the Amazon S3 User Guide. For a complete list of Amazon S3-specific condition
// keys, see Actions, Resources, and Condition Keys for Amazon S3 (https://docs.aws.amazon.com/AmazonS3/latest/dev/list_amazons3.html).
//
-// x-amz-copy-source-if Headers
+// x-amz-copy-source-if Headers
//
// To only copy an object under certain conditions, such as whether the Etag
// matches or whether the object was modified before or after a specified date,
@@ -416,6 +420,28 @@ func (c *S3) CopyObjectRequest(input *CopyObjectInput) (req *request.Request, ou
// see Access Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html).
//
+// If the bucket that you're copying objects to uses the bucket owner enforced
+// setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
+// Buckets that use this setting only accept PUT requests that don't specify
+// an ACL or PUT requests that specify bucket owner full control ACLs, such
+// as the bucket-owner-full-control canned ACL or an equivalent form of this
+// ACL expressed in the XML format.
+//
+// For more information, see Controlling ownership of objects and disabling
+// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
+// If your bucket uses the bucket owner enforced setting for Object Ownership,
+// all objects written to the bucket by any account will be owned by the bucket
+// owner.
+//
+// Checksums
+//
+// When copying an object, if it has a checksum, that checksum will be copied
+// to the new object by default. When you copy the object over, you may optionally
+// specify a different checksum algorithm to use with the x-amz-checksum-algorithm
+// header.
+//
// Storage Class Options
//
// You can use the CopyObject action to change the storage class of an object
@@ -554,8 +580,18 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// your application must be able to handle 307 redirect. For more information,
// see Virtual hosting of buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html).
//
-// When creating a bucket using this operation, you can optionally specify the
-// accounts or groups that should be granted specific permissions on the bucket.
+// Access control lists (ACLs)
+//
+// When creating a bucket using this operation, you can optionally configure
+// the bucket ACL to specify the accounts or groups that should be granted specific
+// permissions on the bucket.
+//
+// If your CreateBucket request sets bucket owner enforced for S3 Object Ownership
+// and specifies a bucket ACL that provides access to an external Amazon Web
+// Services account, your request fails with a 400 error and returns the InvalidBucketAclWithObjectOwnership
+// error code. For more information, see Controlling object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
// There are two ways to grant the appropriate permissions using the request
// headers.
//
@@ -568,11 +604,11 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
// x-amz-grant-read-acp, x-amz-grant-write-acp, and x-amz-grant-full-control
// headers. These headers map to the set of permissions Amazon S3 supports
// in an ACL. For more information, see Access control list (ACL) overview
-// (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html). You
-// specify each grantee as a type=value pair, where the type is one of the
-// following: id – if the value specified is the canonical user ID of an
-// Amazon Web Services account uri – if you are granting permissions to
-// a predefined group emailAddress – if the value specified is the email
+// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html).
+// You specify each grantee as a type=value pair, where the type is one of
+// the following: id – if the value specified is the canonical user ID
+// of an Amazon Web Services account uri – if you are granting permissions
+// to a predefined group emailAddress – if the value specified is the email
// address of an Amazon Web Services account Using email addresses to specify
// a grantee is only supported in the following Amazon Web Services Regions:
// US East (N. Virginia) US West (N. California) US West (Oregon) Asia Pacific
@@ -589,15 +625,23 @@ func (c *S3) CreateBucketRequest(input *CreateBucketInput) (req *request.Request
//
// Permissions
//
-// If your CreateBucket request specifies ACL permissions and the ACL is public-read,
-// public-read-write, authenticated-read, or if you specify access permissions
-// explicitly through any other ACL, both s3:CreateBucket and s3:PutBucketAcl
-// permissions are needed. If the ACL the CreateBucket request is private, only
-// s3:CreateBucket permission is needed.
+// In addition to s3:CreateBucket, the following permissions are required when
+// your CreateBucket includes specific headers:
+//
+// * ACLs - If your CreateBucket request specifies ACL permissions and the
+// ACL is public-read, public-read-write, authenticated-read, or if you specify
+// access permissions explicitly through any other ACL, both s3:CreateBucket
+// and s3:PutBucketAcl permissions are needed. If the ACL the CreateBucket
+// request is private or doesn't specify any ACLs, only s3:CreateBucket permission
+// is needed.
+//
+// * Object Lock - If ObjectLockEnabledForBucket is set to true in your CreateBucket
+// request, s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning
+// permissions are required.
//
-// If ObjectLockEnabledForBucket is set to true in your CreateBucket request,
-// s3:PutBucketObjectLockConfiguration and s3:PutBucketVersioning permissions
-// are required.
+// * S3 Object Ownership - If your CreateBucket request includes the the
+// x-amz-object-ownership header, s3:PutBucketOwnershipControls permission
+// is required.
//
// The following operations are related to CreateBucket:
//
@@ -1277,17 +1321,16 @@ func (c *S3) DeleteBucketIntelligentTieringConfigurationRequest(input *DeleteBuc
// The S3 Intelligent-Tiering storage class is designed to optimize storage
// costs by automatically moving data to the most cost-effective storage access
// tier, without performance impact or operational overhead. S3 Intelligent-Tiering
-// delivers automatic cost savings in two low latency and high throughput access
-// tiers. For data that can be accessed asynchronously, you can choose to activate
-// automatic archiving capabilities within the S3 Intelligent-Tiering storage
-// class.
+// delivers automatic cost savings in three low latency and high throughput
+// access tiers. To get the lowest storage cost on data that can be accessed
+// in minutes to hours, you can choose to activate additional archiving capabilities.
//
// The S3 Intelligent-Tiering storage class is the ideal storage class for data
// with unknown, changing, or unpredictable access patterns, independent of
// object size or retention period. If the size of an object is less than 128
-// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but
-// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering
-// storage class.
+// KB, it is not monitored and not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the Frequent Access tier rates
+// in the S3 Intelligent-Tiering storage class.
//
// For more information, see Storage class for automatically optimizing frequently
// and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
@@ -2614,6 +2657,12 @@ func (c *S3) GetBucketAclRequest(input *GetBucketAclInput) (req *request.Request
// is granted to the anonymous user, you can return the ACL of the bucket without
// using an authorization header.
//
+// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
+// requests to read ACLs are still supported and return the bucket-owner-full-control
+// ACL with the owner being the account that created the bucket. For more information,
+// see Controlling object ownership and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
// Related Resources
//
// * ListObjects (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListObjects.html)
@@ -2784,13 +2833,14 @@ func (c *S3) GetBucketCorsRequest(input *GetBucketCorsInput) (req *request.Reque
// GetBucketCors API operation for Amazon Simple Storage Service.
//
-// Returns the cors configuration information set for the bucket.
+// Returns the Cross-Origin Resource Sharing (CORS) configuration information
+// set for the bucket.
//
// To use this operation, you must have permission to perform the s3:GetBucketCORS
// action. By default, the bucket owner has this permission and can grant it
// to others.
//
-// For more information about cors, see Enabling Cross-Origin Resource Sharing
+// For more information about CORS, see Enabling Cross-Origin Resource Sharing
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/cors.html).
//
// The following operations are related to GetBucketCors:
@@ -2967,17 +3017,16 @@ func (c *S3) GetBucketIntelligentTieringConfigurationRequest(input *GetBucketInt
// The S3 Intelligent-Tiering storage class is designed to optimize storage
// costs by automatically moving data to the most cost-effective storage access
// tier, without performance impact or operational overhead. S3 Intelligent-Tiering
-// delivers automatic cost savings in two low latency and high throughput access
-// tiers. For data that can be accessed asynchronously, you can choose to activate
-// automatic archiving capabilities within the S3 Intelligent-Tiering storage
-// class.
+// delivers automatic cost savings in three low latency and high throughput
+// access tiers. To get the lowest storage cost on data that can be accessed
+// in minutes to hours, you can choose to activate additional archiving capabilities.
//
// The S3 Intelligent-Tiering storage class is the ideal storage class for data
// with unknown, changing, or unpredictable access patterns, independent of
// object size or retention period. If the size of an object is less than 128
-// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but
-// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering
-// storage class.
+// KB, it is not monitored and not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the Frequent Access tier rates
+// in the S3 Intelligent-Tiering storage class.
//
// For more information, see Storage class for automatically optimizing frequently
// and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
@@ -3805,10 +3854,10 @@ func (c *S3) GetBucketOwnershipControlsRequest(input *GetBucketOwnershipControls
//
// Retrieves OwnershipControls for an Amazon S3 bucket. To use this operation,
// you must have the s3:GetBucketOwnershipControls permission. For more information
-// about Amazon S3 permissions, see Specifying Permissions in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html).
+// about Amazon S3 permissions, see Specifying permissions in a policy (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-with-s3-actions.html).
//
// For information about Amazon S3 Object Ownership, see Using Object Ownership
-// (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).
+// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html).
//
// The following operations are related to GetBucketOwnershipControls:
//
@@ -4257,7 +4306,7 @@ func (c *S3) GetBucketTaggingRequest(input *GetBucketTaggingInput) (req *request
//
// GetBucketTagging has the following special error:
//
-// * Error code: NoSuchTagSetError Description: There is no tag set associated
+// * Error code: NoSuchTagSet Description: There is no tag set associated
// with the bucket.
//
// The following operations are related to GetBucketTagging:
@@ -4532,8 +4581,6 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
// more information about request types, see HTTP Host Header Bucket Specification
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/VirtualHosting.html#VirtualHostingSpecifyBucket).
//
-// To distribute large files to many people, you can save bandwidth costs by
-// using BitTorrent. For more information, see Amazon S3 Torrent (https://docs.aws.amazon.com/AmazonS3/latest/dev/S3Torrent.html).
// For more information about returning the ACL of an object, see GetObjectAcl
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html).
//
@@ -4586,8 +4633,9 @@ func (c *S3) GetObjectRequest(input *GetObjectInput) (req *request.Request, outp
// By default, the GET action returns the current version of an object. To return
// a different version, use the versionId subresource.
//
-// * You need the s3:GetObjectVersion permission to access a specific version
-// of an object.
+// * If you supply a versionId, you need the s3:GetObjectVersion permission
+// to access a specific version of an object. If you request a specific version,
+// you do not need to have the s3:GetObject permission.
//
// * If the current version of the object is a delete marker, Amazon S3 behaves
// as if the object was deleted and includes x-amz-delete-marker: true in
@@ -4725,7 +4773,10 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request
// GetObjectAcl API operation for Amazon Simple Storage Service.
//
// Returns the access control list (ACL) of an object. To use this operation,
-// you must have READ_ACP access to the object.
+// you must have s3:GetObjectAcl permissions or READ_ACP access to the object.
+// For more information, see Mapping of ACL permissions and access policy permissions
+// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/acl-overview.html#acl-access-policy-permission-mapping)
+// in the Amazon S3 User Guide
//
// This action is not supported by Amazon S3 on Outposts.
//
@@ -4734,10 +4785,18 @@ func (c *S3) GetObjectAclRequest(input *GetObjectAclInput) (req *request.Request
// By default, GET returns ACL information about the current version of an object.
// To return ACL information about a different version, use the versionId subresource.
//
+// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
+// requests to read ACLs are still supported and return the bucket-owner-full-control
+// ACL with the owner being the account that created the bucket. For more information,
+// see Controlling object ownership and disabling ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
// The following operations are related to GetObjectAcl:
//
// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// * DeleteObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObject.html)
//
// * PutObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObject.html)
@@ -4775,6 +4834,166 @@ func (c *S3) GetObjectAclWithContext(ctx aws.Context, input *GetObjectAclInput,
return out, req.Send()
}
+const opGetObjectAttributes = "GetObjectAttributes"
+
+// GetObjectAttributesRequest generates a "aws/request.Request" representing the
+// client's request for the GetObjectAttributes operation. The "output" return
+// value will be populated with the request's response once the request completes
+// successfully.
+//
+// Use "Send" method on the returned Request to send the API call to the service.
+// the "output" return value is not valid until after Send returns without error.
+//
+// See GetObjectAttributes for more information on using the GetObjectAttributes
+// API call, and error handling.
+//
+// This method is useful when you want to inject custom logic or configuration
+// into the SDK's request lifecycle. Such as custom headers, or retry logic.
+//
+//
+// // Example sending a request using the GetObjectAttributesRequest method.
+// req, resp := client.GetObjectAttributesRequest(params)
+//
+// err := req.Send()
+// if err == nil { // resp is now filled
+// fmt.Println(resp)
+// }
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes
+func (c *S3) GetObjectAttributesRequest(input *GetObjectAttributesInput) (req *request.Request, output *GetObjectAttributesOutput) {
+ op := &request.Operation{
+ Name: opGetObjectAttributes,
+ HTTPMethod: "GET",
+ HTTPPath: "/{Bucket}/{Key+}?attributes",
+ }
+
+ if input == nil {
+ input = &GetObjectAttributesInput{}
+ }
+
+ output = &GetObjectAttributesOutput{}
+ req = c.newRequest(op, input, output)
+ return
+}
+
+// GetObjectAttributes API operation for Amazon Simple Storage Service.
+//
+// Retrieves all the metadata from an object without returning the object itself.
+// This action is useful if you're interested only in an object's metadata.
+// To use GetObjectAttributes, you must have READ access to the object.
+//
+// GetObjectAttributes combines the functionality of GetObjectAcl, GetObjectLegalHold,
+// GetObjectLockConfiguration, GetObjectRetention, GetObjectTagging, HeadObject,
+// and ListParts. All of the data returned with each of those individual calls
+// can be returned with a single call to GetObjectAttributes.
+//
+// If you encrypt an object by using server-side encryption with customer-provided
+// encryption keys (SSE-C) when you store the object in Amazon S3, then when
+// you retrieve the metadata from the object, you must use the following headers:
+//
+// * x-amz-server-side-encryption-customer-algorithm
+//
+// * x-amz-server-side-encryption-customer-key
+//
+// * x-amz-server-side-encryption-customer-key-MD5
+//
+// For more information about SSE-C, see Server-Side Encryption (Using Customer-Provided
+// Encryption Keys) (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+// in the Amazon S3 User Guide.
+//
+// * Encryption request headers, such as x-amz-server-side-encryption, should
+// not be sent for GET requests if your object uses server-side encryption
+// with Amazon Web Services KMS keys stored in Amazon Web Services Key Management
+// Service (SSE-KMS) or server-side encryption with Amazon S3 managed encryption
+// keys (SSE-S3). If your object does use these types of keys, you'll get
+// an HTTP 400 Bad Request error.
+//
+// * The last modified property in this case is the creation date of the
+// object.
+//
+// Consider the following when using request headers:
+//
+// * If both of the If-Match and If-Unmodified-Since headers are present
+// in the request as follows, then Amazon S3 returns the HTTP status code
+// 200 OK and the data requested: If-Match condition evaluates to true. If-Unmodified-Since
+// condition evaluates to false.
+//
+// * If both of the If-None-Match and If-Modified-Since headers are present
+// in the request as follows, then Amazon S3 returns the HTTP status code
+// 304 Not Modified: If-None-Match condition evaluates to false. If-Modified-Since
+// condition evaluates to true.
+//
+// For more information about conditional requests, see RFC 7232 (https://tools.ietf.org/html/rfc7232).
+//
+// Permissions
+//
+// The permissions that you need to use this operation depend on whether the
+// bucket is versioned. If the bucket is versioned, you need both the s3:GetObjectVersion
+// and s3:GetObjectVersionAttributes permissions for this operation. If the
+// bucket is not versioned, you need the s3:GetObject and s3:GetObjectAttributes
+// permissions. For more information, see Specifying Permissions in a Policy
+// (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html)
+// in the Amazon S3 User Guide. If the object that you request does not exist,
+// the error Amazon S3 returns depends on whether you also have the s3:ListBucket
+// permission.
+//
+// * If you have the s3:ListBucket permission on the bucket, Amazon S3 returns
+// an HTTP status code 404 Not Found ("no such key") error.
+//
+// * If you don't have the s3:ListBucket permission, Amazon S3 returns an
+// HTTP status code 403 Forbidden ("access denied") error.
+//
+// The following actions are related to GetObjectAttributes:
+//
+// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
+//
+// * GetObjectAcl (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAcl.html)
+//
+// * GetObjectLegalHold (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLegalHold.html)
+//
+// * GetObjectLockConfiguration (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectLockConfiguration.html)
+//
+// * GetObjectRetention (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectRetention.html)
+//
+// * GetObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectTagging.html)
+//
+// * HeadObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_HeadObject.html)
+//
+// * ListParts (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListParts.html)
+//
+// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
+// with awserr.Error's Code and Message methods to get detailed information about
+// the error.
+//
+// See the AWS API reference guide for Amazon Simple Storage Service's
+// API operation GetObjectAttributes for usage and error information.
+//
+// Returned Error Codes:
+// * ErrCodeNoSuchKey "NoSuchKey"
+// The specified key does not exist.
+//
+// See also, https://docs.aws.amazon.com/goto/WebAPI/s3-2006-03-01/GetObjectAttributes
+func (c *S3) GetObjectAttributes(input *GetObjectAttributesInput) (*GetObjectAttributesOutput, error) {
+ req, out := c.GetObjectAttributesRequest(input)
+ return out, req.Send()
+}
+
+// GetObjectAttributesWithContext is the same as GetObjectAttributes with the addition of
+// the ability to pass a context and additional request options.
+//
+// See GetObjectAttributes for details on how to use this API operation.
+//
+// The context must be non-nil and will be used for request cancellation. If
+// the context is nil a panic will occur. In the future the SDK may create
+// sub-contexts for http.Requests. See https://golang.org/pkg/context/
+// for more information on using Contexts.
+func (c *S3) GetObjectAttributesWithContext(ctx aws.Context, input *GetObjectAttributesInput, opts ...request.Option) (*GetObjectAttributesOutput, error) {
+ req, out := c.GetObjectAttributesRequest(input)
+ req.SetContext(ctx)
+ req.ApplyOptions(opts...)
+ return out, req.Send()
+}
+
const opGetObjectLegalHold = "GetObjectLegalHold"
// GetObjectLegalHoldRequest generates a "aws/request.Request" representing the
@@ -4819,11 +5038,15 @@ func (c *S3) GetObjectLegalHoldRequest(input *GetObjectLegalHoldInput) (req *req
// GetObjectLegalHold API operation for Amazon Simple Storage Service.
//
-// Gets an object's current Legal Hold status. For more information, see Locking
+// Gets an object's current legal hold status. For more information, see Locking
// Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
//
// This action is not supported by Amazon S3 on Outposts.
//
+// The following action is related to GetObjectLegalHold:
+//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -4901,6 +5124,10 @@ func (c *S3) GetObjectLockConfigurationRequest(input *GetObjectLockConfiguration
// placed in the specified bucket. For more information, see Locking Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
//
+// The following action is related to GetObjectLockConfiguration:
+//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -4978,6 +5205,10 @@ func (c *S3) GetObjectRetentionRequest(input *GetObjectRetentionInput) (req *req
//
// This action is not supported by Amazon S3 on Outposts.
//
+// The following action is related to GetObjectRetention:
+//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -5066,12 +5297,14 @@ func (c *S3) GetObjectTaggingRequest(input *GetObjectTaggingInput) (req *request
// For information about the Amazon S3 object tagging feature, see Object Tagging
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-tagging.html).
//
-// The following action is related to GetObjectTagging:
-//
-// * PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)
+// The following actions are related to GetObjectTagging:
//
// * DeleteObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_DeleteObjectTagging.html)
//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
+// * PutObjectTagging (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutObjectTagging.html)
+//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -5491,10 +5724,12 @@ func (c *S3) HeadObjectRequest(input *HeadObjectInput) (req *request.Request, ou
// * If you don’t have the s3:ListBucket permission, Amazon S3 returns
// an HTTP status code 403 ("access denied") error.
//
-// The following action is related to HeadObject:
+// The following actions are related to HeadObject:
//
// * GetObject (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObject.html)
//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// See http://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#RESTErrorResponses
// for more information on returned errors.
//
@@ -5675,17 +5910,16 @@ func (c *S3) ListBucketIntelligentTieringConfigurationsRequest(input *ListBucket
// The S3 Intelligent-Tiering storage class is designed to optimize storage
// costs by automatically moving data to the most cost-effective storage access
// tier, without performance impact or operational overhead. S3 Intelligent-Tiering
-// delivers automatic cost savings in two low latency and high throughput access
-// tiers. For data that can be accessed asynchronously, you can choose to activate
-// automatic archiving capabilities within the S3 Intelligent-Tiering storage
-// class.
+// delivers automatic cost savings in three low latency and high throughput
+// access tiers. To get the lowest storage cost on data that can be accessed
+// in minutes to hours, you can choose to activate additional archiving capabilities.
//
// The S3 Intelligent-Tiering storage class is the ideal storage class for data
// with unknown, changing, or unpredictable access patterns, independent of
// object size or retention period. If the size of an object is less than 128
-// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but
-// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering
-// storage class.
+// KB, it is not monitored and not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the Frequent Access tier rates
+// in the S3 Intelligent-Tiering storage class.
//
// For more information, see Storage class for automatically optimizing frequently
// and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
@@ -5972,6 +6206,7 @@ func (c *S3) ListBucketsRequest(input *ListBucketsInput) (req *request.Request,
// ListBuckets API operation for Amazon Simple Storage Service.
//
// Returns a list of all buckets owned by the authenticated sender of the request.
+// To use this operation, you must have the s3:ListAllMyBuckets permission.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
@@ -6706,6 +6941,9 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp
// requests you can include the part-number-marker query string parameter and
// set its value to the NextPartNumberMarker field value from the previous response.
//
+// If the upload was created using a checksum algorithm, you will need to have
+// permission to the kms:Decrypt action for the request to succeed.
+//
// For more information on multipart uploads, see Uploading Objects Using Multipart
// Upload (https://docs.aws.amazon.com/AmazonS3/latest/dev/uploadobjusingmpu.html).
//
@@ -6722,6 +6960,8 @@ func (c *S3) ListPartsRequest(input *ListPartsInput) (req *request.Request, outp
//
// * AbortMultipartUpload (https://docs.aws.amazon.com/AmazonS3/latest/API/API_AbortMultipartUpload.html)
//
+// * GetObjectAttributes (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetObjectAttributes.html)
+//
// * ListMultipartUploads (https://docs.aws.amazon.com/AmazonS3/latest/API/API_ListMultipartUploads.html)
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
@@ -6980,6 +7220,14 @@ func (c *S3) PutBucketAclRequest(input *PutBucketAclInput) (req *request.Request
// existing application that updates a bucket ACL using the request body, then
// you can continue to use that approach.
//
+// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
+// ACLs are disabled and no longer affect permissions. You must use policies
+// to grant access to your bucket and the objects in it. Requests to set ACLs
+// or update ACLs fail and return the AccessControlListNotSupported error code.
+// Requests to read ACLs are still supported. For more information, see Controlling
+// object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
// Access Permissions
//
// You can set access permissions using one of the following methods:
@@ -7373,8 +7621,10 @@ func (c *S3) PutBucketEncryptionRequest(input *PutBucketEncryptionInput) (req *r
// Default encryption for a bucket can use server-side encryption with Amazon
// S3-managed keys (SSE-S3) or customer managed keys (SSE-KMS). If you specify
// default encryption using SSE-KMS, you can also configure Amazon S3 Bucket
-// Key. For information about default encryption, see Amazon S3 default bucket
-// encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
+// Key. When the default encryption is SSE-KMS, if you upload an object to the
+// bucket and do not specify the KMS key to use for encryption, Amazon S3 uses
+// the default Amazon Web Services managed KMS key for your account. For information
+// about default encryption, see Amazon S3 default bucket encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html)
// in the Amazon S3 User Guide. For more information about S3 Bucket Keys, see
// Amazon S3 Bucket Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-key.html)
// in the Amazon S3 User Guide.
@@ -7474,17 +7724,16 @@ func (c *S3) PutBucketIntelligentTieringConfigurationRequest(input *PutBucketInt
// The S3 Intelligent-Tiering storage class is designed to optimize storage
// costs by automatically moving data to the most cost-effective storage access
// tier, without performance impact or operational overhead. S3 Intelligent-Tiering
-// delivers automatic cost savings in two low latency and high throughput access
-// tiers. For data that can be accessed asynchronously, you can choose to activate
-// automatic archiving capabilities within the S3 Intelligent-Tiering storage
-// class.
+// delivers automatic cost savings in three low latency and high throughput
+// access tiers. To get the lowest storage cost on data that can be accessed
+// in minutes to hours, you can choose to activate additional archiving capabilities.
//
// The S3 Intelligent-Tiering storage class is the ideal storage class for data
// with unknown, changing, or unpredictable access patterns, independent of
// object size or retention period. If the size of an object is less than 128
-// KB, it is not eligible for auto-tiering. Smaller objects can be stored, but
-// they are always charged at the Frequent Access tier rates in the S3 Intelligent-Tiering
-// storage class.
+// KB, it is not monitored and not eligible for auto-tiering. Smaller objects
+// can be stored, but they are always charged at the Frequent Access tier rates
+// in the S3 Intelligent-Tiering storage class.
//
// For more information, see Storage class for automatically optimizing frequently
// and infrequently accessed objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html#sc-dynamic-data-access).
@@ -7849,8 +8098,10 @@ func (c *S3) PutBucketLifecycleConfigurationRequest(input *PutBucketLifecycleCon
// PutBucketLifecycleConfiguration API operation for Amazon Simple Storage Service.
//
// Creates a new lifecycle configuration for the bucket or replaces an existing
-// lifecycle configuration. For information about lifecycle configuration, see
-// Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).
+// lifecycle configuration. Keep in mind that this will overwrite an existing
+// lifecycle configuration, so if you want to retain any configuration details,
+// they must be included in the new lifecycle configuration. For information
+// about lifecycle configuration, see Managing your storage lifecycle (https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html).
//
// Bucket lifecycle configuration now supports specifying a lifecycle rule using
// an object key name prefix, one or more object tags, or a combination of both.
@@ -7998,6 +8249,12 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request
// the Grantee request element to grant access to other people. The Permissions
// request element specifies the kind of access the grantee has to the logs.
//
+// If the target bucket for log delivery uses the bucket owner enforced setting
+// for S3 Object Ownership, you can't use the Grantee request element to grant
+// access to others. Permissions can only be granted using policies. For more
+// information, see Permissions for server access log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)
+// in the Amazon S3 User Guide.
+//
// Grantee Values
//
// You can specify the person (grantee) to whom you're assigning access rights
@@ -8021,7 +8278,8 @@ func (c *S3) PutBucketLoggingRequest(input *PutBucketLoggingInput) (req *request
//
//
// For more information about server access logging, see Server Access Logging
-// (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerLogs.html).
+// (https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html) in
+// the Amazon S3 User Guide.
//
// For more information about creating a bucket, see CreateBucket (https://docs.aws.amazon.com/AmazonS3/latest/API/API_CreateBucket.html).
// For more information about returning the logging status of a bucket, see
@@ -8330,6 +8588,10 @@ func (c *S3) PutBucketNotificationConfigurationRequest(input *PutBucketNotificat
// You can disable notifications by adding the empty NotificationConfiguration
// element.
//
+// For more information about the number of event notification configurations
+// that you can create per bucket, see Amazon S3 service quotas (https://docs.aws.amazon.com/general/latest/gr/s3.html#limits_s3)
+// in Amazon Web Services General Reference.
+//
// By default, only the bucket owner can configure notifications on a bucket.
// However, bucket owners can use a bucket policy to grant permission to other
// users to set this configuration with s3:PutBucketNotification permission.
@@ -8430,11 +8692,11 @@ func (c *S3) PutBucketOwnershipControlsRequest(input *PutBucketOwnershipControls
//
// Creates or modifies OwnershipControls for an Amazon S3 bucket. To use this
// operation, you must have the s3:PutBucketOwnershipControls permission. For
-// more information about Amazon S3 permissions, see Specifying Permissions
-// in a Policy (https://docs.aws.amazon.com/AmazonS3/latest/dev/using-with-s3-actions.html).
+// more information about Amazon S3 permissions, see Specifying permissions
+// in a policy (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/using-with-s3-actions.html).
//
-// For information about Amazon S3 Object Ownership, see Using Object Ownership
-// (https://docs.aws.amazon.com/AmazonS3/latest/dev/about-object-ownership.html).
+// For information about Amazon S3 Object Ownership, see Using object ownership
+// (https://docs.aws.amazon.com/AmazonS3/latest/user-guide/about-object-ownership.html).
//
// The following operations are related to PutBucketOwnershipControls:
//
@@ -8967,8 +9229,7 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r
// PutBucketVersioning API operation for Amazon Simple Storage Service.
//
-// Sets the versioning state of an existing bucket. To set the versioning state,
-// you must be the bucket owner.
+// Sets the versioning state of an existing bucket.
//
// You can set the versioning state with one of the following values:
//
@@ -8982,10 +9243,10 @@ func (c *S3) PutBucketVersioningRequest(input *PutBucketVersioningInput) (req *r
// state; a GetBucketVersioning (https://docs.aws.amazon.com/AmazonS3/latest/API/API_GetBucketVersioning.html)
// request does not return a versioning state value.
//
-// If the bucket owner enables MFA Delete in the bucket versioning configuration,
-// the bucket owner must include the x-amz-mfa request header and the Status
-// and the MfaDelete request elements in a request to set the versioning state
-// of the bucket.
+// In order to enable MFA Delete, you must be the bucket owner. If you are the
+// bucket owner and want to enable MFA Delete in the bucket versioning configuration,
+// you must include the x-amz-mfa request header and the Status and the MfaDelete
+// request elements in a request to set the versioning state of the bucket.
//
// If you have an object expiration lifecycle policy in your non-versioned bucket
// and you want to maintain the same permanent delete behavior when you enable
@@ -9272,6 +9533,23 @@ func (c *S3) PutObjectRequest(input *PutObjectInput) (req *request.Request, outp
// Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// and Managing ACLs Using the REST API (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-using-rest-api.html).
//
+// If the bucket that you're uploading objects to uses the bucket owner enforced
+// setting for S3 Object Ownership, ACLs are disabled and no longer affect permissions.
+// Buckets that use this setting only accept PUT requests that don't specify
+// an ACL or PUT requests that specify bucket owner full control ACLs, such
+// as the bucket-owner-full-control canned ACL or an equivalent form of this
+// ACL expressed in the XML format. PUT requests that contain other ACLs (for
+// example, custom grants to certain Amazon Web Services accounts) fail and
+// return a 400 error with the error code AccessControlListNotSupported.
+//
+// For more information, see Controlling ownership of objects and disabling
+// ACLs (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
+// If your bucket uses the bucket owner enforced setting for Object Ownership,
+// all objects written to the bucket by any account will be owned by the bucket
+// owner.
+//
// Storage Class Options
//
// By default, Amazon S3 uses the STANDARD Storage Class to store newly created
@@ -9391,6 +9669,14 @@ func (c *S3) PutObjectAclRequest(input *PutObjectAclInput) (req *request.Request
// Control List (ACL) Overview (https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)
// in the Amazon S3 User Guide.
//
+// If your bucket uses the bucket owner enforced setting for S3 Object Ownership,
+// ACLs are disabled and no longer affect permissions. You must use policies
+// to grant access to your bucket and the objects in it. Requests to set ACLs
+// or update ACLs fail and return the AccessControlListNotSupported error code.
+// Requests to read ACLs are still supported. For more information, see Controlling
+// object ownership (https://docs.aws.amazon.com/AmazonS3/latest/userguide/about-object-ownership.html)
+// in the Amazon S3 User Guide.
+//
// Access Permissions
//
// You can set access permissions using one of the following methods:
@@ -9544,7 +9830,7 @@ func (c *S3) PutObjectLegalHoldRequest(input *PutObjectLegalHoldInput) (req *req
// PutObjectLegalHold API operation for Amazon Simple Storage Service.
//
-// Applies a Legal Hold configuration to the specified object. For more information,
+// Applies a legal hold configuration to the specified object. For more information,
// see Locking Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/object-lock.html).
//
// This action is not supported by Amazon S3 on Outposts.
@@ -9722,12 +10008,6 @@ func (c *S3) PutObjectRetentionRequest(input *PutObjectRetentionInput) (req *req
//
// This action is not supported by Amazon S3 on Outposts.
//
-// Permissions
-//
-// When the Object Lock retention mode is set to compliance, you need s3:PutObjectRetention
-// and s3:BypassGovernanceRetention permissions. For other requests to PutObjectRetention,
-// only s3:PutObjectRetention permissions are required.
-//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
@@ -10305,6 +10585,7 @@ func (c *S3) SelectObjectContentRequest(input *SelectObjectContentInput) (req *r
//
// For more information about Amazon S3 Select, see Selecting Content from Objects
// (https://docs.aws.amazon.com/AmazonS3/latest/dev/selecting-content-from-objects.html)
+// and SELECT Command (https://docs.aws.amazon.com/AmazonS3/latest/userguide/s3-glacier-select-sql-reference-select.html)
// in the Amazon S3 User Guide.
//
// For more information about using SQL with Amazon S3 Select, see SQL Reference
@@ -10448,7 +10729,7 @@ type SelectObjectContentEventStream struct {
// (e.g. http.Response.Body), that will be closed when the stream Close method
// is called.
//
-// es := NewSelectObjectContentEventStream(func(o *SelectObjectContentEventStream{
+// es := NewSelectObjectContentEventStream(func(o *SelectObjectContentEventStream){
// es.Reader = myMockStreamReader
// es.StreamCloser = myMockStreamCloser
// })
@@ -10810,7 +11091,7 @@ func (c *S3) UploadPartCopyRequest(input *UploadPartCopyInput) (req *request.Req
// in the Amazon S3 User Guide.
//
// * For information about copying objects using a single atomic action vs.
-// the multipart upload, see Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
+// a multipart upload, see Operations on Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectOperations.html)
// in the Amazon S3 User Guide.
//
// * For information about using server-side encryption with customer-provided
@@ -11074,17 +11355,17 @@ type AbortMultipartUploadInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Key of the object for which the multipart upload was initiated.
@@ -11094,8 +11375,8 @@ type AbortMultipartUploadInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -12259,6 +12540,85 @@ func (s *CSVOutput) SetRecordDelimiter(v string) *CSVOutput {
return s
}
+// Contains all the possible checksum or digest values for an object.
+type Checksum struct {
+ _ struct{} `type:"structure"`
+
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s Checksum) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s Checksum) GoString() string {
+ return s.String()
+}
+
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *Checksum) SetChecksumCRC32(v string) *Checksum {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *Checksum) SetChecksumCRC32C(v string) *Checksum {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *Checksum) SetChecksumSHA1(v string) *Checksum {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *Checksum) SetChecksumSHA256(v string) *Checksum {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// Container for specifying the Lambda notification configuration.
type CloudFunctionConfiguration struct {
_ struct{} `type:"structure"`
@@ -12382,17 +12742,45 @@ type CompleteMultipartUploadInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32 checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32C checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 160-bit SHA-1 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 256-bit SHA-256 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -12405,11 +12793,33 @@ type CompleteMultipartUploadInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+ // The server-side encryption (SSE) algorithm used to encrypt the object. This
+ // parameter is needed only when the object was created using a checksum algorithm.
+ // For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // The server-side encryption (SSE) customer managed key. This parameter is
+ // needed only when the object was created using a checksum algorithm. For more
+ // information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ //
+ // SSECustomerKey is a sensitive parameter and its value will be
+ // replaced with "sensitive" in string returned by CompleteMultipartUploadInput's
+ // String and GoString methods.
+ SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
+
+ // The MD5 server-side encryption (SSE) customer managed key. This parameter
+ // is needed only when the object was created using a checksum algorithm. For
+ // more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
// ID for the initiated multipart upload.
//
// UploadId is a required field
@@ -12472,6 +12882,30 @@ func (s *CompleteMultipartUploadInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *CompleteMultipartUploadInput) SetChecksumCRC32(v string) *CompleteMultipartUploadInput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *CompleteMultipartUploadInput) SetChecksumCRC32C(v string) *CompleteMultipartUploadInput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *CompleteMultipartUploadInput) SetChecksumSHA1(v string) *CompleteMultipartUploadInput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *CompleteMultipartUploadInput) SetChecksumSHA256(v string) *CompleteMultipartUploadInput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *CompleteMultipartUploadInput) SetExpectedBucketOwner(v string) *CompleteMultipartUploadInput {
s.ExpectedBucketOwner = &v
@@ -12496,6 +12930,31 @@ func (s *CompleteMultipartUploadInput) SetRequestPayer(v string) *CompleteMultip
return s
}
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *CompleteMultipartUploadInput) SetSSECustomerAlgorithm(v string) *CompleteMultipartUploadInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *CompleteMultipartUploadInput) SetSSECustomerKey(v string) *CompleteMultipartUploadInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *CompleteMultipartUploadInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *CompleteMultipartUploadInput) SetSSECustomerKeyMD5(v string) *CompleteMultipartUploadInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
// SetUploadId sets the UploadId field's value.
func (s *CompleteMultipartUploadInput) SetUploadId(v string) *CompleteMultipartUploadInput {
s.UploadId = &v
@@ -12545,9 +13004,9 @@ type CompleteMultipartUploadOutput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
Bucket *string `type:"string"`
@@ -12555,16 +13014,50 @@ type CompleteMultipartUploadOutput struct {
// encryption with Amazon Web Services KMS (SSE-KMS).
BucketKeyEnabled *bool `location:"header" locationName:"x-amz-server-side-encryption-bucket-key-enabled" type:"boolean"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
// Entity tag that identifies the newly created object's data. Objects with
// different object data will have different entity tags. The entity tag is
// an opaque string. The entity tag may or may not be an MD5 digest of the object
// data. If the entity tag is not an MD5 digest of the object data, it will
// contain one or more nonhexadecimal characters and/or will consist of less
- // than 32 or more than 32 hexadecimal digits.
+ // than 32 or more than 32 hexadecimal digits. For more information about how
+ // the entity tag is calculated, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
ETag *string `type:"string"`
// If the object expiration is configured, this will contain the expiration
- // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL encoded.
+ // date (expiry-date) and rule ID (rule-id). The value of rule-id is URL-encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
// The object key of the newly created object.
@@ -12634,6 +13127,30 @@ func (s *CompleteMultipartUploadOutput) SetBucketKeyEnabled(v bool) *CompleteMul
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *CompleteMultipartUploadOutput) SetChecksumCRC32(v string) *CompleteMultipartUploadOutput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *CompleteMultipartUploadOutput) SetChecksumCRC32C(v string) *CompleteMultipartUploadOutput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *CompleteMultipartUploadOutput) SetChecksumSHA1(v string) *CompleteMultipartUploadOutput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *CompleteMultipartUploadOutput) SetChecksumSHA256(v string) *CompleteMultipartUploadOutput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *CompleteMultipartUploadOutput) SetETag(v string) *CompleteMultipartUploadOutput {
s.ETag = &v
@@ -12687,6 +13204,9 @@ type CompletedMultipartUpload struct {
_ struct{} `type:"structure"`
// Array of CompletedPart data types.
+ //
+ // If you do not supply a valid Part with your request, the service sends back
+ // an HTTP 400 response.
Parts []*CompletedPart `locationName:"Part" type:"list" flattened:"true"`
}
@@ -12718,6 +13238,38 @@ func (s *CompletedMultipartUpload) SetParts(v []*CompletedPart) *CompletedMultip
type CompletedPart struct {
_ struct{} `type:"structure"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
// Entity tag returned when the part was uploaded.
ETag *string `type:"string"`
@@ -12744,6 +13296,30 @@ func (s CompletedPart) GoString() string {
return s.String()
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *CompletedPart) SetChecksumCRC32(v string) *CompletedPart {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *CompletedPart) SetChecksumCRC32C(v string) *CompletedPart {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *CompletedPart) SetChecksumSHA1(v string) *CompletedPart {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *CompletedPart) SetChecksumSHA256(v string) *CompletedPart {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *CompletedPart) SetETag(v string) *CompletedPart {
s.ETag = &v
@@ -12875,9 +13451,9 @@ type CopyObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -12895,6 +13471,11 @@ type CopyObjectInput struct {
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+ // Indicates the algorithm you want Amazon S3 to use to create the checksum
+ // for the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// Specifies presentational information for the object.
ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
@@ -12917,7 +13498,7 @@ type CopyObjectInput struct {
// the source bucket and the key of the source object, separated by a slash
// (/). For example, to copy the object reports/january.pdf from the bucket
// awsexamplebucket, use awsexamplebucket/reports/january.pdf. The value
- // must be URL encoded.
+ // must be URL-encoded.
//
// * For objects accessed through access points, specify the Amazon Resource
// Name (ARN) of the object as accessed through the access point, in the
@@ -12933,7 +13514,7 @@ type CopyObjectInput struct {
// For example, to copy the object reports/january.pdf through outpost my-outpost
// owned by account 123456789012 in Region us-west-2, use the URL encoding
// of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf.
- // The value must be URL encoded.
+ // The value must be URL-encoded.
//
// To copy a specific version of an object, append ?versionId= to
// the value (for example, awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).
@@ -12975,13 +13556,13 @@ type CopyObjectInput struct {
CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
// The account ID of the expected destination bucket owner. If the destination
- // bucket is owned by a different account, the request will fail with an HTTP
- // 403 (Access Denied) error.
+ // bucket is owned by a different account, the request fails with the HTTP status
+ // code 403 Forbidden (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The account ID of the expected source bucket owner. If the source bucket
- // is owned by a different account, the request will fail with an HTTP 403 (Access
- // Denied) error.
+ // is owned by a different account, the request fails with the HTTP status code
+ // 403 Forbidden (access denied).
ExpectedSourceBucketOwner *string `location:"header" locationName:"x-amz-source-expected-bucket-owner" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -13019,7 +13600,7 @@ type CopyObjectInput struct {
// with metadata provided in the request.
MetadataDirective *string `location:"header" locationName:"x-amz-metadata-directive" type:"string" enum:"MetadataDirective"`
- // Specifies whether you want to apply a Legal Hold to the copied object.
+ // Specifies whether you want to apply a legal hold to the copied object.
ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
// The Object Lock mode that you want to apply to the copied object.
@@ -13030,8 +13611,8 @@ type CopyObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -13178,6 +13759,12 @@ func (s *CopyObjectInput) SetCacheControl(v string) *CopyObjectInput {
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *CopyObjectInput) SetChecksumAlgorithm(v string) *CopyObjectInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *CopyObjectInput) SetContentDisposition(v string) *CopyObjectInput {
s.ContentDisposition = &v
@@ -13579,6 +14166,38 @@ func (s *CopyObjectOutput) SetVersionId(v string) *CopyObjectOutput {
type CopyObjectResult struct {
_ struct{} `type:"structure"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
// Returns the ETag of the new object. The ETag reflects only changes to the
// contents of an object, not its metadata.
ETag *string `type:"string"`
@@ -13605,6 +14224,30 @@ func (s CopyObjectResult) GoString() string {
return s.String()
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *CopyObjectResult) SetChecksumCRC32(v string) *CopyObjectResult {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *CopyObjectResult) SetChecksumCRC32C(v string) *CopyObjectResult {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *CopyObjectResult) SetChecksumSHA1(v string) *CopyObjectResult {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *CopyObjectResult) SetChecksumSHA256(v string) *CopyObjectResult {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *CopyObjectResult) SetETag(v string) *CopyObjectResult {
s.ETag = &v
@@ -13621,6 +14264,38 @@ func (s *CopyObjectResult) SetLastModified(v time.Time) *CopyObjectResult {
type CopyPartResult struct {
_ struct{} `type:"structure"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
// Entity tag of the object.
ETag *string `type:"string"`
@@ -13646,6 +14321,30 @@ func (s CopyPartResult) GoString() string {
return s.String()
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *CopyPartResult) SetChecksumCRC32(v string) *CopyPartResult {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *CopyPartResult) SetChecksumCRC32C(v string) *CopyPartResult {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *CopyPartResult) SetChecksumSHA1(v string) *CopyPartResult {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *CopyPartResult) SetChecksumSHA256(v string) *CopyPartResult {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *CopyPartResult) SetETag(v string) *CopyPartResult {
s.ETag = &v
@@ -13726,6 +14425,22 @@ type CreateBucketInput struct {
// Specifies whether you want S3 Object Lock to be enabled for the new bucket.
ObjectLockEnabledForBucket *bool `location:"header" locationName:"x-amz-bucket-object-lock-enabled" type:"boolean"`
+
+ // The container element for object ownership for a bucket's ownership controls.
+ //
+ // BucketOwnerPreferred - Objects uploaded to the bucket change ownership to
+ // the bucket owner if the objects are uploaded with the bucket-owner-full-control
+ // canned ACL.
+ //
+ // ObjectWriter - The uploading account will own the object if the object is
+ // uploaded with the bucket-owner-full-control canned ACL.
+ //
+ // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
+ // affect permissions. The bucket owner automatically owns and has full control
+ // over every object in the bucket. The bucket only accepts PUT requests that
+ // don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control
+ // canned ACL or an equivalent form of this ACL expressed in the XML format.
+ ObjectOwnership *string `location:"header" locationName:"x-amz-object-ownership" type:"string" enum:"ObjectOwnership"`
}
// String returns the string representation.
@@ -13823,12 +14538,16 @@ func (s *CreateBucketInput) SetObjectLockEnabledForBucket(v bool) *CreateBucketI
return s
}
+// SetObjectOwnership sets the ObjectOwnership field's value.
+func (s *CreateBucketInput) SetObjectOwnership(v string) *CreateBucketInput {
+ s.ObjectOwnership = &v
+ return s
+}
+
type CreateBucketOutput struct {
_ struct{} `type:"structure"`
- // Specifies the Region where the bucket will be created. If you are creating
- // a bucket on the US East (N. Virginia) Region (us-east-1), you do not need
- // to specify the location.
+ // A forward slash followed by the name of the bucket.
Location *string `location:"header" locationName:"Location" type:"string"`
}
@@ -13876,9 +14595,9 @@ type CreateMultipartUploadInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -13896,6 +14615,11 @@ type CreateMultipartUploadInput struct {
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+ // Indicates the algorithm you want Amazon S3 to use to create the checksum
+ // for the object. For more information, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// Specifies presentational information for the object.
ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
@@ -13911,8 +14635,8 @@ type CreateMultipartUploadInput struct {
ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -13946,7 +14670,7 @@ type CreateMultipartUploadInput struct {
// A map of metadata to store with the object in S3.
Metadata map[string]*string `location:"headers" locationName:"x-amz-meta-" type:"map"`
- // Specifies whether you want to apply a Legal Hold to the uploaded object.
+ // Specifies whether you want to apply a legal hold to the uploaded object.
ObjectLockLegalHoldStatus *string `location:"header" locationName:"x-amz-object-lock-legal-hold" type:"string" enum:"ObjectLockLegalHoldStatus"`
// Specifies the Object Lock mode that you want to apply to the uploaded object.
@@ -13957,8 +14681,8 @@ type CreateMultipartUploadInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -14096,6 +14820,12 @@ func (s *CreateMultipartUploadInput) SetCacheControl(v string) *CreateMultipartU
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *CreateMultipartUploadInput) SetChecksumAlgorithm(v string) *CreateMultipartUploadInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *CreateMultipartUploadInput) SetContentDisposition(v string) *CreateMultipartUploadInput {
s.ContentDisposition = &v
@@ -14312,9 +15042,9 @@ type CreateMultipartUploadOutput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
Bucket *string `locationName:"Bucket" type:"string"`
@@ -14322,6 +15052,9 @@ type CreateMultipartUploadOutput struct {
// encryption with Amazon Web Services KMS (SSE-KMS).
BucketKeyEnabled *bool `location:"header" locationName:"x-amz-server-side-encryption-bucket-key-enabled" type:"boolean"`
+ // The algorithm that was used to create a checksum of the object.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// Object key for which the multipart upload was initiated.
Key *string `min:"1" type:"string"`
@@ -14414,6 +15147,12 @@ func (s *CreateMultipartUploadOutput) SetBucketKeyEnabled(v bool) *CreateMultipa
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *CreateMultipartUploadOutput) SetChecksumAlgorithm(v string) *CreateMultipartUploadOutput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetKey sets the Key field's value.
func (s *CreateMultipartUploadOutput) SetKey(v string) *CreateMultipartUploadOutput {
s.Key = &v
@@ -14597,8 +15336,8 @@ type DeleteBucketAnalyticsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID that identifies the analytics configuration.
@@ -14727,8 +15466,8 @@ type DeleteBucketCorsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -14844,8 +15583,8 @@ type DeleteBucketEncryptionInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -14960,8 +15699,8 @@ type DeleteBucketInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -15174,8 +15913,8 @@ type DeleteBucketInventoryConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the inventory configuration.
@@ -15304,8 +16043,8 @@ type DeleteBucketLifecycleInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -15420,8 +16159,8 @@ type DeleteBucketMetricsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the metrics configuration.
@@ -15572,8 +16311,8 @@ type DeleteBucketOwnershipControlsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -15688,8 +16427,8 @@ type DeleteBucketPolicyInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -15804,8 +16543,8 @@ type DeleteBucketReplicationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -15920,8 +16659,8 @@ type DeleteBucketTaggingInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -16036,8 +16775,8 @@ type DeleteBucketWebsiteInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -16273,22 +17012,22 @@ type DeleteObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// Indicates whether S3 Object Lock should bypass Governance-mode restrictions
- // to process this operation. To use this header, you must have the s3:PutBucketPublicAccessBlock
+ // to process this operation. To use this header, you must have the s3:BypassGovernanceRetention
// permission.
BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Key name of the object to delete.
@@ -16304,8 +17043,8 @@ type DeleteObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -16496,17 +17235,17 @@ type DeleteObjectTaggingInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The key that identifies the object in the bucket from which to remove all
@@ -16663,27 +17402,51 @@ type DeleteObjectsInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// Specifies whether you want to delete this object even if it has a Governance-type
- // Object Lock in place. To use this header, you must have the s3:PutBucketPublicAccessBlock
+ // Object Lock in place. To use this header, you must have the s3:BypassGovernanceRetention
// permission.
BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // This checksum algorithm must be the same for all parts and it match the checksum
+ // value supplied in the CreateMultipartUpload request.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// Container for the request.
//
// Delete is a required field
Delete *Delete `locationName:"Delete" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The concatenation of the authentication device's serial number, a space,
@@ -16694,8 +17457,8 @@ type DeleteObjectsInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
}
@@ -16761,6 +17524,12 @@ func (s *DeleteObjectsInput) SetBypassGovernanceRetention(v bool) *DeleteObjects
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *DeleteObjectsInput) SetChecksumAlgorithm(v string) *DeleteObjectsInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetDelete sets the Delete field's value.
func (s *DeleteObjectsInput) SetDelete(v *Delete) *DeleteObjectsInput {
s.Delete = v
@@ -16873,8 +17642,8 @@ type DeletePublicAccessBlockInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -17813,6 +18582,29 @@ func (s *ErrorDocument) SetKey(v string) *ErrorDocument {
return s
}
+// A container for specifying the configuration for Amazon EventBridge.
+type EventBridgeConfiguration struct {
+ _ struct{} `type:"structure"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s EventBridgeConfiguration) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s EventBridgeConfiguration) GoString() string {
+ return s.String()
+}
+
// Optional configuration to replicate existing source bucket objects. For more
// information, see Replicating Existing Objects (https://docs.aws.amazon.com/AmazonS3/latest/dev/replication-what-is-isnot-replicated.html#existing-object-replication)
// in the Amazon S3 User Guide.
@@ -17915,8 +18707,8 @@ type GetBucketAccelerateConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -18040,8 +18832,8 @@ type GetBucketAclInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -18174,8 +18966,8 @@ type GetBucketAnalyticsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID that identifies the analytics configuration.
@@ -18313,8 +19105,8 @@ type GetBucketCorsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -18440,8 +19232,8 @@ type GetBucketEncryptionInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -18694,8 +19486,8 @@ type GetBucketInventoryConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the inventory configuration.
@@ -18833,8 +19625,8 @@ type GetBucketLifecycleConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -18958,8 +19750,8 @@ type GetBucketLifecycleInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19083,8 +19875,8 @@ type GetBucketLocationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19210,8 +20002,8 @@ type GetBucketLoggingInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19338,8 +20130,8 @@ type GetBucketMetricsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the metrics configuration.
@@ -19477,8 +20269,8 @@ type GetBucketNotificationConfigurationRequest struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19571,8 +20363,8 @@ type GetBucketOwnershipControlsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19659,8 +20451,8 @@ func (s GetBucketOwnershipControlsInput) updateArnableField(v string) (interface
type GetBucketOwnershipControlsOutput struct {
_ struct{} `type:"structure" payload:"OwnershipControls"`
- // The OwnershipControls (BucketOwnerPreferred or ObjectWriter) currently in
- // effect for this Amazon S3 bucket.
+ // The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter)
+ // currently in effect for this Amazon S3 bucket.
OwnershipControls *OwnershipControls `type:"structure"`
}
@@ -19697,8 +20489,8 @@ type GetBucketPolicyInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19822,8 +20614,8 @@ type GetBucketPolicyStatusInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -19947,8 +20739,8 @@ type GetBucketReplicationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20073,8 +20865,8 @@ type GetBucketRequestPaymentInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20198,8 +20990,8 @@ type GetBucketTaggingInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20325,8 +21117,8 @@ type GetBucketVersioningInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20461,8 +21253,8 @@ type GetBucketWebsiteInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -20621,8 +21413,8 @@ type GetObjectAclInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The key of the object for which to get the ACL information.
@@ -20632,8 +21424,8 @@ type GetObjectAclInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -20795,6 +21587,423 @@ func (s *GetObjectAclOutput) SetRequestCharged(v string) *GetObjectAclOutput {
return s
}
+type GetObjectAttributesInput struct {
+ _ struct{} `locationName:"GetObjectAttributesRequest" type:"structure"`
+
+ // The name of the bucket that contains the object.
+ //
+ // When using this action with an access point, you must direct requests to
+ // the access point hostname. The access point hostname takes the form AccessPointName-AccountId.s3-accesspoint.Region.amazonaws.com.
+ // When using this action with an access point through the Amazon Web Services
+ // SDKs, you provide the access point ARN in place of the bucket name. For more
+ // information about access point ARNs, see Using access points (https://docs.aws.amazon.com/AmazonS3/latest/userguide/using-access-points.html)
+ // in the Amazon S3 User Guide.
+ //
+ // When using this action with Amazon S3 on Outposts, you must direct requests
+ // to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
+ // AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
+ // you provide the Outposts bucket ARN in place of the bucket name. For more
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // in the Amazon S3 User Guide.
+ //
+ // Bucket is a required field
+ Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+
+ // The account ID of the expected bucket owner. If the bucket is owned by a
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
+ ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
+
+ // The object key.
+ //
+ // Key is a required field
+ Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
+
+ // Sets the maximum number of parts to return.
+ MaxParts *int64 `location:"header" locationName:"x-amz-max-parts" type:"integer"`
+
+ // An XML header that specifies the fields at the root level that you want returned
+ // in the response. Fields that you do not specify are not returned.
+ //
+ // ObjectAttributes is a required field
+ ObjectAttributes []*string `location:"header" locationName:"x-amz-object-attributes" type:"list" required:"true"`
+
+ // Specifies the part after which listing should begin. Only parts with higher
+ // part numbers will be listed.
+ PartNumberMarker *int64 `location:"header" locationName:"x-amz-part-number-marker" type:"integer"`
+
+ // Confirms that the requester knows that they will be charged for the request.
+ // Bucket owners need not specify this parameter in their requests. For information
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // in the Amazon S3 User Guide.
+ RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+
+ // Specifies the algorithm to use when encrypting the object (for example, AES256).
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // Specifies the customer-provided encryption key for Amazon S3 to use in encrypting
+ // data. This value is used to store the object and then it is discarded; Amazon
+ // S3 does not store the encryption key. The key must be appropriate for use
+ // with the algorithm specified in the x-amz-server-side-encryption-customer-algorithm
+ // header.
+ //
+ // SSECustomerKey is a sensitive parameter and its value will be
+ // replaced with "sensitive" in string returned by GetObjectAttributesInput's
+ // String and GoString methods.
+ SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
+
+ // Specifies the 128-bit MD5 digest of the encryption key according to RFC 1321.
+ // Amazon S3 uses this header for a message integrity check to ensure that the
+ // encryption key was transmitted without error.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
+ // The version ID used to reference a specific version of the object.
+ VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesInput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesInput) GoString() string {
+ return s.String()
+}
+
+// Validate inspects the fields of the type to determine if they are valid.
+func (s *GetObjectAttributesInput) Validate() error {
+ invalidParams := request.ErrInvalidParams{Context: "GetObjectAttributesInput"}
+ if s.Bucket == nil {
+ invalidParams.Add(request.NewErrParamRequired("Bucket"))
+ }
+ if s.Bucket != nil && len(*s.Bucket) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Bucket", 1))
+ }
+ if s.Key == nil {
+ invalidParams.Add(request.NewErrParamRequired("Key"))
+ }
+ if s.Key != nil && len(*s.Key) < 1 {
+ invalidParams.Add(request.NewErrParamMinLen("Key", 1))
+ }
+ if s.ObjectAttributes == nil {
+ invalidParams.Add(request.NewErrParamRequired("ObjectAttributes"))
+ }
+
+ if invalidParams.Len() > 0 {
+ return invalidParams
+ }
+ return nil
+}
+
+// SetBucket sets the Bucket field's value.
+func (s *GetObjectAttributesInput) SetBucket(v string) *GetObjectAttributesInput {
+ s.Bucket = &v
+ return s
+}
+
+func (s *GetObjectAttributesInput) getBucket() (v string) {
+ if s.Bucket == nil {
+ return v
+ }
+ return *s.Bucket
+}
+
+// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
+func (s *GetObjectAttributesInput) SetExpectedBucketOwner(v string) *GetObjectAttributesInput {
+ s.ExpectedBucketOwner = &v
+ return s
+}
+
+// SetKey sets the Key field's value.
+func (s *GetObjectAttributesInput) SetKey(v string) *GetObjectAttributesInput {
+ s.Key = &v
+ return s
+}
+
+// SetMaxParts sets the MaxParts field's value.
+func (s *GetObjectAttributesInput) SetMaxParts(v int64) *GetObjectAttributesInput {
+ s.MaxParts = &v
+ return s
+}
+
+// SetObjectAttributes sets the ObjectAttributes field's value.
+func (s *GetObjectAttributesInput) SetObjectAttributes(v []*string) *GetObjectAttributesInput {
+ s.ObjectAttributes = v
+ return s
+}
+
+// SetPartNumberMarker sets the PartNumberMarker field's value.
+func (s *GetObjectAttributesInput) SetPartNumberMarker(v int64) *GetObjectAttributesInput {
+ s.PartNumberMarker = &v
+ return s
+}
+
+// SetRequestPayer sets the RequestPayer field's value.
+func (s *GetObjectAttributesInput) SetRequestPayer(v string) *GetObjectAttributesInput {
+ s.RequestPayer = &v
+ return s
+}
+
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *GetObjectAttributesInput) SetSSECustomerAlgorithm(v string) *GetObjectAttributesInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *GetObjectAttributesInput) SetSSECustomerKey(v string) *GetObjectAttributesInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *GetObjectAttributesInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *GetObjectAttributesInput) SetSSECustomerKeyMD5(v string) *GetObjectAttributesInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectAttributesInput) SetVersionId(v string) *GetObjectAttributesInput {
+ s.VersionId = &v
+ return s
+}
+
+func (s *GetObjectAttributesInput) getEndpointARN() (arn.Resource, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ return parseEndpointARN(*s.Bucket)
+}
+
+func (s *GetObjectAttributesInput) hasEndpointARN() bool {
+ if s.Bucket == nil {
+ return false
+ }
+ return arn.IsARN(*s.Bucket)
+}
+
+// updateArnableField updates the value of the input field that
+// takes an ARN as an input. This method is useful to backfill
+// the parsed resource name from ARN into the input member.
+// It returns a pointer to a modified copy of input and an error.
+// Note that original input is not modified.
+func (s GetObjectAttributesInput) updateArnableField(v string) (interface{}, error) {
+ if s.Bucket == nil {
+ return nil, fmt.Errorf("member Bucket is nil")
+ }
+ s.Bucket = aws.String(v)
+ return &s, nil
+}
+
+type GetObjectAttributesOutput struct {
+ _ struct{} `type:"structure"`
+
+ // The checksum or digest of the object.
+ Checksum *Checksum `type:"structure"`
+
+ // Specifies whether the object retrieved was (true) or was not (false) a delete
+ // marker. If false, this response header does not appear in the response.
+ DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
+
+ // An ETag is an opaque identifier assigned by a web server to a specific version
+ // of a resource found at a URL.
+ ETag *string `type:"string"`
+
+ // The creation date of the object.
+ LastModified *time.Time `location:"header" locationName:"Last-Modified" type:"timestamp"`
+
+ // A collection of parts associated with a multipart upload.
+ ObjectParts *GetObjectAttributesParts `type:"structure"`
+
+ // The size of the object in bytes.
+ ObjectSize *int64 `type:"long"`
+
+ // If present, indicates that the requester was successfully charged for the
+ // request.
+ RequestCharged *string `location:"header" locationName:"x-amz-request-charged" type:"string" enum:"RequestCharged"`
+
+ // Provides the storage class information of the object. Amazon S3 returns this
+ // header for all objects except for S3 Standard storage class objects.
+ //
+ // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html).
+ StorageClass *string `type:"string" enum:"StorageClass"`
+
+ // The version ID of the object.
+ VersionId *string `location:"header" locationName:"x-amz-version-id" type:"string"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesOutput) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesOutput) GoString() string {
+ return s.String()
+}
+
+// SetChecksum sets the Checksum field's value.
+func (s *GetObjectAttributesOutput) SetChecksum(v *Checksum) *GetObjectAttributesOutput {
+ s.Checksum = v
+ return s
+}
+
+// SetDeleteMarker sets the DeleteMarker field's value.
+func (s *GetObjectAttributesOutput) SetDeleteMarker(v bool) *GetObjectAttributesOutput {
+ s.DeleteMarker = &v
+ return s
+}
+
+// SetETag sets the ETag field's value.
+func (s *GetObjectAttributesOutput) SetETag(v string) *GetObjectAttributesOutput {
+ s.ETag = &v
+ return s
+}
+
+// SetLastModified sets the LastModified field's value.
+func (s *GetObjectAttributesOutput) SetLastModified(v time.Time) *GetObjectAttributesOutput {
+ s.LastModified = &v
+ return s
+}
+
+// SetObjectParts sets the ObjectParts field's value.
+func (s *GetObjectAttributesOutput) SetObjectParts(v *GetObjectAttributesParts) *GetObjectAttributesOutput {
+ s.ObjectParts = v
+ return s
+}
+
+// SetObjectSize sets the ObjectSize field's value.
+func (s *GetObjectAttributesOutput) SetObjectSize(v int64) *GetObjectAttributesOutput {
+ s.ObjectSize = &v
+ return s
+}
+
+// SetRequestCharged sets the RequestCharged field's value.
+func (s *GetObjectAttributesOutput) SetRequestCharged(v string) *GetObjectAttributesOutput {
+ s.RequestCharged = &v
+ return s
+}
+
+// SetStorageClass sets the StorageClass field's value.
+func (s *GetObjectAttributesOutput) SetStorageClass(v string) *GetObjectAttributesOutput {
+ s.StorageClass = &v
+ return s
+}
+
+// SetVersionId sets the VersionId field's value.
+func (s *GetObjectAttributesOutput) SetVersionId(v string) *GetObjectAttributesOutput {
+ s.VersionId = &v
+ return s
+}
+
+// A collection of parts associated with a multipart upload.
+type GetObjectAttributesParts struct {
+ _ struct{} `type:"structure"`
+
+ // Indicates whether the returned list of parts is truncated. A value of true
+ // indicates that the list was truncated. A list can be truncated if the number
+ // of parts exceeds the limit returned in the MaxParts element.
+ IsTruncated *bool `type:"boolean"`
+
+ // The maximum number of parts allowed in the response.
+ MaxParts *int64 `type:"integer"`
+
+ // When a list is truncated, this element specifies the last part in the list,
+ // as well as the value to use for the PartNumberMarker request parameter in
+ // a subsequent request.
+ NextPartNumberMarker *int64 `type:"integer"`
+
+ // The marker for the current part.
+ PartNumberMarker *int64 `type:"integer"`
+
+ // A container for elements related to a particular part. A response can contain
+ // zero or more Parts elements.
+ Parts []*ObjectPart `locationName:"Part" type:"list" flattened:"true"`
+
+ // The total number of parts.
+ TotalPartsCount *int64 `locationName:"PartsCount" type:"integer"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesParts) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s GetObjectAttributesParts) GoString() string {
+ return s.String()
+}
+
+// SetIsTruncated sets the IsTruncated field's value.
+func (s *GetObjectAttributesParts) SetIsTruncated(v bool) *GetObjectAttributesParts {
+ s.IsTruncated = &v
+ return s
+}
+
+// SetMaxParts sets the MaxParts field's value.
+func (s *GetObjectAttributesParts) SetMaxParts(v int64) *GetObjectAttributesParts {
+ s.MaxParts = &v
+ return s
+}
+
+// SetNextPartNumberMarker sets the NextPartNumberMarker field's value.
+func (s *GetObjectAttributesParts) SetNextPartNumberMarker(v int64) *GetObjectAttributesParts {
+ s.NextPartNumberMarker = &v
+ return s
+}
+
+// SetPartNumberMarker sets the PartNumberMarker field's value.
+func (s *GetObjectAttributesParts) SetPartNumberMarker(v int64) *GetObjectAttributesParts {
+ s.PartNumberMarker = &v
+ return s
+}
+
+// SetParts sets the Parts field's value.
+func (s *GetObjectAttributesParts) SetParts(v []*ObjectPart) *GetObjectAttributesParts {
+ s.Parts = v
+ return s
+}
+
+// SetTotalPartsCount sets the TotalPartsCount field's value.
+func (s *GetObjectAttributesParts) SetTotalPartsCount(v int64) *GetObjectAttributesParts {
+ s.TotalPartsCount = &v
+ return s
+}
+
type GetObjectInput struct {
_ struct{} `locationName:"GetObjectRequest" type:"structure"`
@@ -20812,33 +22021,39 @@ type GetObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // To retrieve the checksum, this mode must be enabled.
+ //
+ // The AWS SDK for Go v1 does not support automatic response payload checksum
+ // validation. This feature is available in the AWS SDK for Go v2.
+ ChecksumMode *string `location:"header" locationName:"x-amz-checksum-mode" type:"string" enum:"ChecksumMode"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
- // Return the object only if its entity tag (ETag) is the same as the one specified,
- // otherwise return a 412 (precondition failed).
+ // Return the object only if its entity tag (ETag) is the same as the one specified;
+ // otherwise, return a 412 (precondition failed) error.
IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- // Return the object only if it has been modified since the specified time,
- // otherwise return a 304 (not modified).
+ // Return the object only if it has been modified since the specified time;
+ // otherwise, return a 304 (not modified) error.
IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
// Return the object only if its entity tag (ETag) is different from the one
- // specified, otherwise return a 304 (not modified).
+ // specified; otherwise, return a 304 (not modified) error.
IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
- // Return the object only if it has not been modified since the specified time,
- // otherwise return a 412 (precondition failed).
+ // Return the object only if it has not been modified since the specified time;
+ // otherwise, return a 412 (precondition failed) error.
IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
// Key of the object to get.
@@ -20860,8 +22075,8 @@ type GetObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -20960,6 +22175,12 @@ func (s *GetObjectInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumMode sets the ChecksumMode field's value.
+func (s *GetObjectInput) SetChecksumMode(v string) *GetObjectInput {
+ s.ChecksumMode = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *GetObjectInput) SetExpectedBucketOwner(v string) *GetObjectInput {
s.ExpectedBucketOwner = &v
@@ -21111,7 +22332,7 @@ func (s GetObjectInput) updateArnableField(v string) (interface{}, error) {
type GetObjectLegalHoldInput struct {
_ struct{} `locationName:"GetObjectLegalHoldRequest" type:"structure"`
- // The bucket name containing the object whose Legal Hold status you want to
+ // The bucket name containing the object whose legal hold status you want to
// retrieve.
//
// When using this action with an access point, you must direct requests to
@@ -21125,23 +22346,23 @@ type GetObjectLegalHoldInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
- // The key name for the object whose Legal Hold status you want to retrieve.
+ // The key name for the object whose legal hold status you want to retrieve.
//
// Key is a required field
Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // The version ID of the object whose Legal Hold status you want to retrieve.
+ // The version ID of the object whose legal hold status you want to retrieve.
VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
}
@@ -21252,7 +22473,7 @@ func (s GetObjectLegalHoldInput) updateArnableField(v string) (interface{}, erro
type GetObjectLegalHoldOutput struct {
_ struct{} `type:"structure" payload:"LegalHold"`
- // The current Legal Hold status for the specified object.
+ // The current legal hold status for the specified object.
LegalHold *ObjectLockLegalHold `type:"structure"`
}
@@ -21296,8 +22517,8 @@ type GetObjectLockConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -21428,6 +22649,38 @@ type GetObjectOutput struct {
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Specifies presentational information for the object.
ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
@@ -21452,14 +22705,13 @@ type GetObjectOutput struct {
// Marker. If false, this response header does not appear in the response.
DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
- // An ETag is an opaque identifier assigned by a web server to a specific version
- // of a resource found at a URL.
+ // An entity tag (ETag) is an opaque identifier assigned by a web server to
+ // a specific version of a resource found at a URL.
ETag *string `location:"header" locationName:"ETag" type:"string"`
// If the object expiration is configured (see PUT Bucket lifecycle), the response
// includes this header. It includes the expiry-date and rule-id key-value pairs
- // providing object expiration information. The value of the rule-id is URL
- // encoded.
+ // providing object expiration information. The value of the rule-id is URL-encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -21491,7 +22743,8 @@ type GetObjectOutput struct {
// The date and time when this object's Object Lock will expire.
ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
- // The count of parts this object has.
+ // The count of parts this object has. This value is only returned if you specify
+ // partNumber in your request and the object was uploaded as a multipart upload.
PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
// Amazon S3 can return this if your request involves a bucket that is either
@@ -21587,6 +22840,30 @@ func (s *GetObjectOutput) SetCacheControl(v string) *GetObjectOutput {
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *GetObjectOutput) SetChecksumCRC32(v string) *GetObjectOutput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *GetObjectOutput) SetChecksumCRC32C(v string) *GetObjectOutput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *GetObjectOutput) SetChecksumSHA1(v string) *GetObjectOutput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *GetObjectOutput) SetChecksumSHA256(v string) *GetObjectOutput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *GetObjectOutput) SetContentDisposition(v string) *GetObjectOutput {
s.ContentDisposition = &v
@@ -21772,8 +23049,8 @@ type GetObjectRetentionInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The key name for the object whose retention settings you want to retrieve.
@@ -21783,8 +23060,8 @@ type GetObjectRetentionInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -21942,17 +23219,17 @@ type GetObjectTaggingInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Object key for which to get the tagging information.
@@ -21962,8 +23239,8 @@ type GetObjectTaggingInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -22127,8 +23404,8 @@ type GetObjectTorrentInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The object key for which to get the information.
@@ -22138,8 +23415,8 @@ type GetObjectTorrentInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
}
@@ -22293,8 +23570,8 @@ type GetPublicAccessBlockInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -22634,17 +23911,17 @@ type HeadBucketInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -22765,33 +24042,40 @@ type HeadObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // To retrieve the checksum, this parameter must be enabled.
+ //
+ // In addition, if you enable ChecksumMode and the object is encrypted with
+ // Amazon Web Services Key Management Service (Amazon Web Services KMS), you
+ // must have permission to use the kms:Decrypt action for the request to succeed.
+ ChecksumMode *string `location:"header" locationName:"x-amz-checksum-mode" type:"string" enum:"ChecksumMode"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
- // Return the object only if its entity tag (ETag) is the same as the one specified,
- // otherwise return a 412 (precondition failed).
+ // Return the object only if its entity tag (ETag) is the same as the one specified;
+ // otherwise, return a 412 (precondition failed) error.
IfMatch *string `location:"header" locationName:"If-Match" type:"string"`
- // Return the object only if it has been modified since the specified time,
- // otherwise return a 304 (not modified).
+ // Return the object only if it has been modified since the specified time;
+ // otherwise, return a 304 (not modified) error.
IfModifiedSince *time.Time `location:"header" locationName:"If-Modified-Since" type:"timestamp"`
// Return the object only if its entity tag (ETag) is different from the one
- // specified, otherwise return a 304 (not modified).
+ // specified; otherwise, return a 304 (not modified) error.
IfNoneMatch *string `location:"header" locationName:"If-None-Match" type:"string"`
- // Return the object only if it has not been modified since the specified time,
- // otherwise return a 412 (precondition failed).
+ // Return the object only if it has not been modified since the specified time;
+ // otherwise, return a 412 (precondition failed) error.
IfUnmodifiedSince *time.Time `location:"header" locationName:"If-Unmodified-Since" type:"timestamp"`
// The object key.
@@ -22805,17 +24089,14 @@ type HeadObjectInput struct {
// object.
PartNumber *int64 `location:"querystring" locationName:"partNumber" type:"integer"`
- // Downloads the specified range bytes of an object. For more information about
- // the HTTP Range header, see http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35
- // (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35).
- //
- // Amazon S3 doesn't support retrieving multiple ranges of data per GET request.
+ // Because HeadObject returns only the metadata for an object, this parameter
+ // has no effect.
Range *string `location:"header" locationName:"Range" type:"string"`
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -22896,6 +24177,12 @@ func (s *HeadObjectInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumMode sets the ChecksumMode field's value.
+func (s *HeadObjectInput) SetChecksumMode(v string) *HeadObjectInput {
+ s.ChecksumMode = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *HeadObjectInput) SetExpectedBucketOwner(v string) *HeadObjectInput {
s.ExpectedBucketOwner = &v
@@ -23024,6 +24311,38 @@ type HeadObjectOutput struct {
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Specifies presentational information for the object.
ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
@@ -23045,14 +24364,13 @@ type HeadObjectOutput struct {
// Marker. If false, this response header does not appear in the response.
DeleteMarker *bool `location:"header" locationName:"x-amz-delete-marker" type:"boolean"`
- // An ETag is an opaque identifier assigned by a web server to a specific version
- // of a resource found at a URL.
+ // An entity tag (ETag) is an opaque identifier assigned by a web server to
+ // a specific version of a resource found at a URL.
ETag *string `location:"header" locationName:"ETag" type:"string"`
// If the object expiration is configured (see PUT Bucket lifecycle), the response
// includes this header. It includes the expiry-date and rule-id key-value pairs
- // providing object expiration information. The value of the rule-id is URL
- // encoded.
+ // providing object expiration information. The value of the rule-id is URL-encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -23090,7 +24408,8 @@ type HeadObjectOutput struct {
// is only returned if the requester has the s3:GetObjectRetention permission.
ObjectLockRetainUntilDate *time.Time `location:"header" locationName:"x-amz-object-lock-retain-until-date" type:"timestamp" timestampFormat:"iso8601"`
- // The count of parts this object has.
+ // The count of parts this object has. This value is only returned if you specify
+ // partNumber in your request and the object was uploaded as a multipart upload.
PartsCount *int64 `location:"header" locationName:"x-amz-mp-parts-count" type:"integer"`
// Amazon S3 can return this header if your request involves a bucket that is
@@ -23102,7 +24421,7 @@ type HeadObjectOutput struct {
// these buckets, Amazon S3 will return the x-amz-replication-status header
// in the response as follows:
//
- // * If requesting an object from the source bucket — Amazon S3 will return
+ // * If requesting an object from the source bucket, Amazon S3 will return
// the x-amz-replication-status header if the object in your request is eligible
// for replication. For example, suppose that in your replication configuration,
// you specify object prefix TaxDocs requesting Amazon S3 to replicate objects
@@ -23112,12 +24431,12 @@ type HeadObjectOutput struct {
// header with value PENDING, COMPLETED or FAILED indicating object replication
// status.
//
- // * If requesting an object from a destination bucket — Amazon S3 will
- // return the x-amz-replication-status header with value REPLICA if the object
- // in your request is a replica that Amazon S3 created and there is no replica
+ // * If requesting an object from a destination bucket, Amazon S3 will return
+ // the x-amz-replication-status header with value REPLICA if the object in
+ // your request is a replica that Amazon S3 created and there is no replica
// modification replication in progress.
//
- // * When replicating objects to multiple destination buckets the x-amz-replication-status
+ // * When replicating objects to multiple destination buckets, the x-amz-replication-status
// header acts differently. The header of the source object will only return
// a value of COMPLETED when replication is successful to all destinations.
// The header will remain at value PENDING until replication has completed
@@ -23230,6 +24549,30 @@ func (s *HeadObjectOutput) SetCacheControl(v string) *HeadObjectOutput {
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *HeadObjectOutput) SetChecksumCRC32(v string) *HeadObjectOutput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *HeadObjectOutput) SetChecksumCRC32C(v string) *HeadObjectOutput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *HeadObjectOutput) SetChecksumSHA1(v string) *HeadObjectOutput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *HeadObjectOutput) SetChecksumSHA256(v string) *HeadObjectOutput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *HeadObjectOutput) SetContentDisposition(v string) *HeadObjectOutput {
s.ContentDisposition = &v
@@ -24556,7 +25899,7 @@ type LifecycleRule struct {
// The Filter is used to identify objects that a Lifecycle Rule applies to.
// A Filter must have exactly one of Prefix, Tag, or And specified. Filter is
- // required if the LifecycleRule does not containt a Prefix element.
+ // required if the LifecycleRule does not contain a Prefix element.
Filter *LifecycleRuleFilter `type:"structure"`
// Unique identifier for the rule. The value cannot be longer than 255 characters.
@@ -24692,6 +26035,12 @@ func (s *LifecycleRule) SetTransitions(v []*Transition) *LifecycleRule {
type LifecycleRuleAndOperator struct {
_ struct{} `type:"structure"`
+ // Minimum object size to which the rule applies.
+ ObjectSizeGreaterThan *int64 `type:"long"`
+
+ // Maximum object size to which the rule applies.
+ ObjectSizeLessThan *int64 `type:"long"`
+
// Prefix identifying one or more objects to which the rule applies.
Prefix *string `type:"string"`
@@ -24738,6 +26087,18 @@ func (s *LifecycleRuleAndOperator) Validate() error {
return nil
}
+// SetObjectSizeGreaterThan sets the ObjectSizeGreaterThan field's value.
+func (s *LifecycleRuleAndOperator) SetObjectSizeGreaterThan(v int64) *LifecycleRuleAndOperator {
+ s.ObjectSizeGreaterThan = &v
+ return s
+}
+
+// SetObjectSizeLessThan sets the ObjectSizeLessThan field's value.
+func (s *LifecycleRuleAndOperator) SetObjectSizeLessThan(v int64) *LifecycleRuleAndOperator {
+ s.ObjectSizeLessThan = &v
+ return s
+}
+
// SetPrefix sets the Prefix field's value.
func (s *LifecycleRuleAndOperator) SetPrefix(v string) *LifecycleRuleAndOperator {
s.Prefix = &v
@@ -24760,6 +26121,12 @@ type LifecycleRuleFilter struct {
// of the predicates configured inside the And operator.
And *LifecycleRuleAndOperator `type:"structure"`
+ // Minimum object size to which the rule applies.
+ ObjectSizeGreaterThan *int64 `type:"long"`
+
+ // Maximum object size to which the rule applies.
+ ObjectSizeLessThan *int64 `type:"long"`
+
// Prefix identifying one or more objects to which the rule applies.
//
// Replacement must be made for object keys containing special characters (such
@@ -24815,6 +26182,18 @@ func (s *LifecycleRuleFilter) SetAnd(v *LifecycleRuleAndOperator) *LifecycleRule
return s
}
+// SetObjectSizeGreaterThan sets the ObjectSizeGreaterThan field's value.
+func (s *LifecycleRuleFilter) SetObjectSizeGreaterThan(v int64) *LifecycleRuleFilter {
+ s.ObjectSizeGreaterThan = &v
+ return s
+}
+
+// SetObjectSizeLessThan sets the ObjectSizeLessThan field's value.
+func (s *LifecycleRuleFilter) SetObjectSizeLessThan(v int64) *LifecycleRuleFilter {
+ s.ObjectSizeLessThan = &v
+ return s
+}
+
// SetPrefix sets the Prefix field's value.
func (s *LifecycleRuleFilter) SetPrefix(v string) *LifecycleRuleFilter {
s.Prefix = &v
@@ -24840,8 +26219,8 @@ type ListBucketAnalyticsConfigurationsInput struct {
ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -25166,8 +26545,8 @@ type ListBucketInventoryConfigurationsInput struct {
ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -25335,8 +26714,8 @@ type ListBucketMetricsConfigurationsInput struct {
ContinuationToken *string `location:"querystring" locationName:"continuation-token" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -25515,7 +26894,7 @@ func (s ListBucketsInput) GoString() string {
type ListBucketsOutput struct {
_ struct{} `type:"structure"`
- // The list of buckets owned by the requestor.
+ // The list of buckets owned by the requester.
Buckets []*Bucket `locationNameList:"Bucket" type:"list"`
// The owner of the buckets listed.
@@ -25567,9 +26946,9 @@ type ListMultipartUploadsInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -25594,8 +26973,8 @@ type ListMultipartUploadsInput struct {
EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Together with upload-id-marker, this parameter specifies the multipart upload
@@ -25923,8 +27302,8 @@ type ListObjectVersionsInput struct {
EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Specifies the key to start with when listing objects in a bucket.
@@ -26240,9 +27619,9 @@ type ListObjectsInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -26260,8 +27639,8 @@ type ListObjectsInput struct {
EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Marker is where you want Amazon S3 to start listing from. Amazon S3 starts
@@ -26551,9 +27930,9 @@ type ListObjectsV2Input struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -26571,8 +27950,8 @@ type ListObjectsV2Input struct {
EncodingType *string `location:"querystring" locationName:"encoding-type" type:"string" enum:"EncodingType"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The owner field is not present in listV2 by default, if you want to return
@@ -26795,9 +28174,9 @@ type ListObjectsV2Output struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
Name *string `type:"string"`
@@ -26919,17 +28298,17 @@ type ListPartsInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -26946,11 +28325,33 @@ type ListPartsInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
+ // The server-side encryption (SSE) algorithm used to encrypt the object. This
+ // parameter is needed only when the object was created using a checksum algorithm.
+ // For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
+
+ // The server-side encryption (SSE) customer managed key. This parameter is
+ // needed only when the object was created using a checksum algorithm. For more
+ // information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ //
+ // SSECustomerKey is a sensitive parameter and its value will be
+ // replaced with "sensitive" in string returned by ListPartsInput's
+ // String and GoString methods.
+ SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
+
+ // The MD5 server-side encryption (SSE) customer managed key. This parameter
+ // is needed only when the object was created using a checksum algorithm. For
+ // more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
+ SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
+
// Upload ID identifying the multipart upload whose parts are being listed.
//
// UploadId is a required field
@@ -27043,6 +28444,31 @@ func (s *ListPartsInput) SetRequestPayer(v string) *ListPartsInput {
return s
}
+// SetSSECustomerAlgorithm sets the SSECustomerAlgorithm field's value.
+func (s *ListPartsInput) SetSSECustomerAlgorithm(v string) *ListPartsInput {
+ s.SSECustomerAlgorithm = &v
+ return s
+}
+
+// SetSSECustomerKey sets the SSECustomerKey field's value.
+func (s *ListPartsInput) SetSSECustomerKey(v string) *ListPartsInput {
+ s.SSECustomerKey = &v
+ return s
+}
+
+func (s *ListPartsInput) getSSECustomerKey() (v string) {
+ if s.SSECustomerKey == nil {
+ return v
+ }
+ return *s.SSECustomerKey
+}
+
+// SetSSECustomerKeyMD5 sets the SSECustomerKeyMD5 field's value.
+func (s *ListPartsInput) SetSSECustomerKeyMD5(v string) *ListPartsInput {
+ s.SSECustomerKeyMD5 = &v
+ return s
+}
+
// SetUploadId sets the UploadId field's value.
func (s *ListPartsInput) SetUploadId(v string) *ListPartsInput {
s.UploadId = &v
@@ -27099,6 +28525,9 @@ type ListPartsOutput struct {
// not return the access point ARN or access point alias if used.
Bucket *string `type:"string"`
+ // The algorithm that was used to create a checksum of the object.
+ ChecksumAlgorithm *string `type:"string" enum:"ChecksumAlgorithm"`
+
// Container element that identifies who initiated the multipart upload. If
// the initiator is an Amazon Web Services account, this element provides the
// same information as the Owner element. If the initiator is an IAM User, this
@@ -27190,6 +28619,12 @@ func (s *ListPartsOutput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *ListPartsOutput) SetChecksumAlgorithm(v string) *ListPartsOutput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetInitiator sets the Initiator field's value.
func (s *ListPartsOutput) SetInitiator(v *Initiator) *ListPartsOutput {
s.Initiator = v
@@ -27410,6 +28845,11 @@ type LoggingEnabled struct {
TargetBucket *string `type:"string" required:"true"`
// Container for granting information.
+ //
+ // Buckets that use the bucket owner enforced setting for Object Ownership don't
+ // support target grants. For more information, see Permissions for server access
+ // log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)
+ // in the Amazon S3 User Guide.
TargetGrants []*TargetGrant `locationNameList:"Grant" type:"list"`
// A prefix for all log object keys. If you store log files from multiple Amazon
@@ -27809,6 +29249,9 @@ func (s *MetricsFilter) SetTag(v *Tag) *MetricsFilter {
type MultipartUpload struct {
_ struct{} `type:"structure"`
+ // The algorithm that was used to create a checksum of the object.
+ ChecksumAlgorithm *string `type:"string" enum:"ChecksumAlgorithm"`
+
// Date and time at which the multipart upload was initiated.
Initiated *time.Time `type:"timestamp"`
@@ -27846,6 +29289,12 @@ func (s MultipartUpload) GoString() string {
return s.String()
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *MultipartUpload) SetChecksumAlgorithm(v string) *MultipartUpload {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetInitiated sets the Initiated field's value.
func (s *MultipartUpload) SetInitiated(v time.Time) *MultipartUpload {
s.Initiated = &v
@@ -27890,6 +29339,13 @@ func (s *MultipartUpload) SetUploadId(v string) *MultipartUpload {
type NoncurrentVersionExpiration struct {
_ struct{} `type:"structure"`
+ // Specifies how many noncurrent versions Amazon S3 will retain. If there are
+ // this many more recent noncurrent versions, Amazon S3 will take the associated
+ // action. For more information about noncurrent versions, see Lifecycle configuration
+ // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
+ // in the Amazon S3 User Guide.
+ NewerNoncurrentVersions *int64 `type:"integer"`
+
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
// calculations, see How Amazon S3 Calculates When an Object Became Noncurrent
@@ -27916,6 +29372,12 @@ func (s NoncurrentVersionExpiration) GoString() string {
return s.String()
}
+// SetNewerNoncurrentVersions sets the NewerNoncurrentVersions field's value.
+func (s *NoncurrentVersionExpiration) SetNewerNoncurrentVersions(v int64) *NoncurrentVersionExpiration {
+ s.NewerNoncurrentVersions = &v
+ return s
+}
+
// SetNoncurrentDays sets the NoncurrentDays field's value.
func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVersionExpiration {
s.NoncurrentDays = &v
@@ -27923,15 +29385,22 @@ func (s *NoncurrentVersionExpiration) SetNoncurrentDays(v int64) *NoncurrentVers
}
// Container for the transition rule that describes when noncurrent objects
-// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
-// or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
-// is suspended), you can set this action to request that Amazon S3 transition
-// noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
-// GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
-// lifetime.
+// transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR,
+// GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled
+// (or versioning is suspended), you can set this action to request that Amazon
+// S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA,
+// INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at
+// a specific period in the object's lifetime.
type NoncurrentVersionTransition struct {
_ struct{} `type:"structure"`
+ // Specifies how many noncurrent versions Amazon S3 will retain. If there are
+ // this many more recent noncurrent versions, Amazon S3 will take the associated
+ // action. For more information about noncurrent versions, see Lifecycle configuration
+ // elements (https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html)
+ // in the Amazon S3 User Guide.
+ NewerNoncurrentVersions *int64 `type:"integer"`
+
// Specifies the number of days an object is noncurrent before Amazon S3 can
// perform the associated action. For information about the noncurrent days
// calculations, see How Amazon S3 Calculates How Long an Object Has Been Noncurrent
@@ -27961,6 +29430,12 @@ func (s NoncurrentVersionTransition) GoString() string {
return s.String()
}
+// SetNewerNoncurrentVersions sets the NewerNoncurrentVersions field's value.
+func (s *NoncurrentVersionTransition) SetNewerNoncurrentVersions(v int64) *NoncurrentVersionTransition {
+ s.NewerNoncurrentVersions = &v
+ return s
+}
+
// SetNoncurrentDays sets the NoncurrentDays field's value.
func (s *NoncurrentVersionTransition) SetNoncurrentDays(v int64) *NoncurrentVersionTransition {
s.NoncurrentDays = &v
@@ -27978,6 +29453,9 @@ func (s *NoncurrentVersionTransition) SetStorageClass(v string) *NoncurrentVersi
type NotificationConfiguration struct {
_ struct{} `type:"structure"`
+ // Enables delivery of events to Amazon EventBridge.
+ EventBridgeConfiguration *EventBridgeConfiguration `type:"structure"`
+
// Describes the Lambda functions to invoke and the events for which to invoke
// them.
LambdaFunctionConfigurations []*LambdaFunctionConfiguration `locationName:"CloudFunctionConfiguration" type:"list" flattened:"true"`
@@ -28049,6 +29527,12 @@ func (s *NotificationConfiguration) Validate() error {
return nil
}
+// SetEventBridgeConfiguration sets the EventBridgeConfiguration field's value.
+func (s *NotificationConfiguration) SetEventBridgeConfiguration(v *EventBridgeConfiguration) *NotificationConfiguration {
+ s.EventBridgeConfiguration = v
+ return s
+}
+
// SetLambdaFunctionConfigurations sets the LambdaFunctionConfigurations field's value.
func (s *NotificationConfiguration) SetLambdaFunctionConfigurations(v []*LambdaFunctionConfiguration) *NotificationConfiguration {
s.LambdaFunctionConfigurations = v
@@ -28158,6 +29642,9 @@ func (s *NotificationConfigurationFilter) SetKey(v *KeyFilter) *NotificationConf
type Object struct {
_ struct{} `type:"structure"`
+ // The algorithm that was used to create a checksum of the object.
+ ChecksumAlgorithm []*string `type:"list" flattened:"true"`
+
// The entity tag is a hash of the object. The ETag reflects changes only to
// the contents of an object, not its metadata. The ETag may or may not be an
// MD5 digest of the object data. Whether or not it is depends on how the object
@@ -28213,6 +29700,12 @@ func (s Object) GoString() string {
return s.String()
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *Object) SetChecksumAlgorithm(v []*string) *Object {
+ s.ChecksumAlgorithm = v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *Object) SetETag(v string) *Object {
s.ETag = &v
@@ -28357,11 +29850,11 @@ func (s *ObjectLockConfiguration) SetRule(v *ObjectLockRule) *ObjectLockConfigur
return s
}
-// A Legal Hold configuration for an object.
+// A legal hold configuration for an object.
type ObjectLockLegalHold struct {
_ struct{} `type:"structure"`
- // Indicates whether the specified object has a Legal Hold in place.
+ // Indicates whether the specified object has a legal hold in place.
Status *string `type:"string" enum:"ObjectLockLegalHoldStatus"`
}
@@ -28465,10 +29958,110 @@ func (s *ObjectLockRule) SetDefaultRetention(v *DefaultRetention) *ObjectLockRul
return s
}
+// A container for elements related to an individual part.
+type ObjectPart struct {
+ _ struct{} `type:"structure"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32 checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
+ // The part number identifying the part. This value is a positive integer between
+ // 1 and 10,000.
+ PartNumber *int64 `type:"integer"`
+
+ // The size of the uploaded part in bytes.
+ Size *int64 `type:"integer"`
+}
+
+// String returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ObjectPart) String() string {
+ return awsutil.Prettify(s)
+}
+
+// GoString returns the string representation.
+//
+// API parameter values that are decorated as "sensitive" in the API will not
+// be included in the string output. The member name will be present, but the
+// value will be replaced with "sensitive".
+func (s ObjectPart) GoString() string {
+ return s.String()
+}
+
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *ObjectPart) SetChecksumCRC32(v string) *ObjectPart {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *ObjectPart) SetChecksumCRC32C(v string) *ObjectPart {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *ObjectPart) SetChecksumSHA1(v string) *ObjectPart {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *ObjectPart) SetChecksumSHA256(v string) *ObjectPart {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
+// SetPartNumber sets the PartNumber field's value.
+func (s *ObjectPart) SetPartNumber(v int64) *ObjectPart {
+ s.PartNumber = &v
+ return s
+}
+
+// SetSize sets the Size field's value.
+func (s *ObjectPart) SetSize(v int64) *ObjectPart {
+ s.Size = &v
+ return s
+}
+
// The version of an object.
type ObjectVersion struct {
_ struct{} `type:"structure"`
+ // The algorithm that was used to create a checksum of the object.
+ ChecksumAlgorithm []*string `type:"list" flattened:"true"`
+
// The entity tag is an MD5 hash of that version of the object.
ETag *string `type:"string"`
@@ -28513,6 +30106,12 @@ func (s ObjectVersion) GoString() string {
return s.String()
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *ObjectVersion) SetChecksumAlgorithm(v []*string) *ObjectVersion {
+ s.ChecksumAlgorithm = v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *ObjectVersion) SetETag(v string) *ObjectVersion {
s.ETag = &v
@@ -28760,6 +30359,12 @@ type OwnershipControlsRule struct {
// ObjectWriter - The uploading account will own the object if the object is
// uploaded with the bucket-owner-full-control canned ACL.
//
+ // BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
+ // affect permissions. The bucket owner automatically owns and has full control
+ // over every object in the bucket. The bucket only accepts PUT requests that
+ // don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control
+ // canned ACL or an equivalent form of this ACL expressed in the XML format.
+ //
// ObjectOwnership is a required field
ObjectOwnership *string `type:"string" required:"true" enum:"ObjectOwnership"`
}
@@ -28828,6 +30433,36 @@ func (s ParquetInput) GoString() string {
type Part struct {
_ struct{} `type:"structure"`
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32 checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 256-bit SHA-256 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `type:"string"`
+
// Entity tag returned when the part was uploaded.
ETag *string `type:"string"`
@@ -28860,6 +30495,30 @@ func (s Part) GoString() string {
return s.String()
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *Part) SetChecksumCRC32(v string) *Part {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *Part) SetChecksumCRC32C(v string) *Part {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *Part) SetChecksumSHA1(v string) *Part {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *Part) SetChecksumSHA256(v string) *Part {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *Part) SetETag(v string) *Part {
s.ETag = &v
@@ -29040,7 +30699,7 @@ type PublicAccessBlockConfiguration struct {
// for this bucket and objects in this bucket. Setting this element to TRUE
// causes the following behavior:
//
- // * PUT Bucket acl and PUT Object acl calls fail if the specified ACL is
+ // * PUT Bucket ACL and PUT Object ACL calls fail if the specified ACL is
// public.
//
// * PUT Object calls fail if the request includes a public ACL.
@@ -29131,9 +30790,26 @@ type PutBucketAccelerateConfigurationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -29193,6 +30869,12 @@ func (s *PutBucketAccelerateConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketAccelerateConfigurationInput) SetChecksumAlgorithm(v string) *PutBucketAccelerateConfigurationInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketAccelerateConfigurationInput) SetExpectedBucketOwner(v string) *PutBucketAccelerateConfigurationInput {
s.ExpectedBucketOwner = &v
@@ -29262,9 +30944,30 @@ type PutBucketAclInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Allows grantee the read, write, read ACP, and write ACP permissions on the
@@ -29351,6 +31054,12 @@ func (s *PutBucketAclInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketAclInput) SetChecksumAlgorithm(v string) *PutBucketAclInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketAclInput) SetExpectedBucketOwner(v string) *PutBucketAclInput {
s.ExpectedBucketOwner = &v
@@ -29450,8 +31159,8 @@ type PutBucketAnalyticsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID that identifies the analytics configuration.
@@ -29601,9 +31310,30 @@ type PutBucketCorsInput struct {
// CORSConfiguration is a required field
CORSConfiguration *CORSConfiguration `locationName:"CORSConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -29668,6 +31398,12 @@ func (s *PutBucketCorsInput) SetCORSConfiguration(v *CORSConfiguration) *PutBuck
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketCorsInput) SetChecksumAlgorithm(v string) *PutBucketCorsInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketCorsInput) SetExpectedBucketOwner(v string) *PutBucketCorsInput {
s.ExpectedBucketOwner = &v
@@ -29735,9 +31471,30 @@ type PutBucketEncryptionInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Specifies the default server-side-encryption configuration.
@@ -29801,6 +31558,12 @@ func (s *PutBucketEncryptionInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketEncryptionInput) SetChecksumAlgorithm(v string) *PutBucketEncryptionInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketEncryptionInput) SetExpectedBucketOwner(v string) *PutBucketEncryptionInput {
s.ExpectedBucketOwner = &v
@@ -30010,8 +31773,8 @@ type PutBucketInventoryConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the inventory configuration.
@@ -30158,9 +31921,30 @@ type PutBucketLifecycleConfigurationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Container for lifecycle rules. You can add as many as 1,000 rules.
@@ -30219,6 +32003,12 @@ func (s *PutBucketLifecycleConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketLifecycleConfigurationInput) SetChecksumAlgorithm(v string) *PutBucketLifecycleConfigurationInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketLifecycleConfigurationInput) SetExpectedBucketOwner(v string) *PutBucketLifecycleConfigurationInput {
s.ExpectedBucketOwner = &v
@@ -30286,9 +32076,30 @@ type PutBucketLifecycleInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Container for lifecycle rules. You can add as many as 1000 rules.
@@ -30347,6 +32158,12 @@ func (s *PutBucketLifecycleInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketLifecycleInput) SetChecksumAlgorithm(v string) *PutBucketLifecycleInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketLifecycleInput) SetExpectedBucketOwner(v string) *PutBucketLifecycleInput {
s.ExpectedBucketOwner = &v
@@ -30421,9 +32238,30 @@ type PutBucketLoggingInput struct {
// BucketLoggingStatus is a required field
BucketLoggingStatus *BucketLoggingStatus `locationName:"BucketLoggingStatus" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
}
@@ -30488,6 +32326,12 @@ func (s *PutBucketLoggingInput) SetBucketLoggingStatus(v *BucketLoggingStatus) *
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketLoggingInput) SetChecksumAlgorithm(v string) *PutBucketLoggingInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketLoggingInput) SetExpectedBucketOwner(v string) *PutBucketLoggingInput {
s.ExpectedBucketOwner = &v
@@ -30552,8 +32396,8 @@ type PutBucketMetricsConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The ID used to identify the metrics configuration.
@@ -30701,8 +32545,8 @@ type PutBucketNotificationConfigurationInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// A container for specifying the notification configuration of the bucket.
@@ -30710,6 +32554,10 @@ type PutBucketNotificationConfigurationInput struct {
//
// NotificationConfiguration is a required field
NotificationConfiguration *NotificationConfiguration `locationName:"NotificationConfiguration" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
+
+ // Skips validation of Amazon SQS, Amazon SNS, and Lambda destinations. True
+ // or false value.
+ SkipDestinationValidation *bool `location:"header" locationName:"x-amz-skip-destination-validation" type:"boolean"`
}
// String returns the string representation.
@@ -30779,6 +32627,12 @@ func (s *PutBucketNotificationConfigurationInput) SetNotificationConfiguration(v
return s
}
+// SetSkipDestinationValidation sets the SkipDestinationValidation field's value.
+func (s *PutBucketNotificationConfigurationInput) SetSkipDestinationValidation(v bool) *PutBucketNotificationConfigurationInput {
+ s.SkipDestinationValidation = &v
+ return s
+}
+
func (s *PutBucketNotificationConfigurationInput) getEndpointARN() (arn.Resource, error) {
if s.Bucket == nil {
return nil, fmt.Errorf("member Bucket is nil")
@@ -30836,9 +32690,30 @@ type PutBucketNotificationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The container for the configuration.
@@ -30897,6 +32772,12 @@ func (s *PutBucketNotificationInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketNotificationInput) SetChecksumAlgorithm(v string) *PutBucketNotificationInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketNotificationInput) SetExpectedBucketOwner(v string) *PutBucketNotificationInput {
s.ExpectedBucketOwner = &v
@@ -30967,12 +32848,12 @@ type PutBucketOwnershipControlsInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
- // The OwnershipControls (BucketOwnerPreferred or ObjectWriter) that you want
- // to apply to this Amazon S3 bucket.
+ // The OwnershipControls (BucketOwnerEnforced, BucketOwnerPreferred, or ObjectWriter)
+ // that you want to apply to this Amazon S3 bucket.
//
// OwnershipControls is a required field
OwnershipControls *OwnershipControls `locationName:"OwnershipControls" type:"structure" required:"true" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
@@ -31102,13 +32983,34 @@ type PutBucketPolicyInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// Set this parameter to true to confirm that you want to remove your permissions
// to change this bucket policy in the future.
ConfirmRemoveSelfBucketAccess *bool `location:"header" locationName:"x-amz-confirm-remove-self-bucket-access" type:"boolean"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The bucket policy as a JSON document.
@@ -31167,6 +33069,12 @@ func (s *PutBucketPolicyInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketPolicyInput) SetChecksumAlgorithm(v string) *PutBucketPolicyInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetConfirmRemoveSelfBucketAccess sets the ConfirmRemoveSelfBucketAccess field's value.
func (s *PutBucketPolicyInput) SetConfirmRemoveSelfBucketAccess(v bool) *PutBucketPolicyInput {
s.ConfirmRemoveSelfBucketAccess = &v
@@ -31242,9 +33150,30 @@ type PutBucketReplicationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// A container for replication rules. You can add up to 1,000 rules. The maximum
@@ -31312,6 +33241,12 @@ func (s *PutBucketReplicationInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketReplicationInput) SetChecksumAlgorithm(v string) *PutBucketReplicationInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketReplicationInput) SetExpectedBucketOwner(v string) *PutBucketReplicationInput {
s.ExpectedBucketOwner = &v
@@ -31387,9 +33322,30 @@ type PutBucketRequestPaymentInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Container for Payer.
@@ -31453,6 +33409,12 @@ func (s *PutBucketRequestPaymentInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketRequestPaymentInput) SetChecksumAlgorithm(v string) *PutBucketRequestPaymentInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketRequestPaymentInput) SetExpectedBucketOwner(v string) *PutBucketRequestPaymentInput {
s.ExpectedBucketOwner = &v
@@ -31522,9 +33484,30 @@ type PutBucketTaggingInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Container for the TagSet and Tag elements.
@@ -31588,6 +33571,12 @@ func (s *PutBucketTaggingInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketTaggingInput) SetChecksumAlgorithm(v string) *PutBucketTaggingInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketTaggingInput) SetExpectedBucketOwner(v string) *PutBucketTaggingInput {
s.ExpectedBucketOwner = &v
@@ -31657,9 +33646,30 @@ type PutBucketVersioningInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The concatenation of the authentication device's serial number, a space,
@@ -31722,6 +33732,12 @@ func (s *PutBucketVersioningInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketVersioningInput) SetChecksumAlgorithm(v string) *PutBucketVersioningInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketVersioningInput) SetExpectedBucketOwner(v string) *PutBucketVersioningInput {
s.ExpectedBucketOwner = &v
@@ -31797,9 +33813,30 @@ type PutBucketWebsiteInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Container for the request.
@@ -31863,6 +33900,12 @@ func (s *PutBucketWebsiteInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutBucketWebsiteInput) SetChecksumAlgorithm(v string) *PutBucketWebsiteInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutBucketWebsiteInput) SetExpectedBucketOwner(v string) *PutBucketWebsiteInput {
s.ExpectedBucketOwner = &v
@@ -31947,9 +33990,30 @@ type PutObjectAclInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Allows grantee the read, write, read ACP, and write ACP permissions on the
@@ -31991,9 +34055,9 @@ type PutObjectAclInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Key is a required field
@@ -32001,8 +34065,8 @@ type PutObjectAclInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -32080,6 +34144,12 @@ func (s *PutObjectAclInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectAclInput) SetChecksumAlgorithm(v string) *PutObjectAclInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutObjectAclInput) SetExpectedBucketOwner(v string) *PutObjectAclInput {
s.ExpectedBucketOwner = &v
@@ -32217,9 +34287,9 @@ type PutObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -32239,6 +34309,51 @@ type PutObjectInput struct {
// (http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9).
CacheControl *string `location:"header" locationName:"Cache-Control" type:"string"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32 checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32C checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 160-bit SHA-1 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 256-bit SHA-256 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Specifies presentational information for the object. For more information,
// see http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1 (http://www.w3.org/Protocols/rfc2616/rfc2616-sec19.html#sec19.5.1).
ContentDisposition *string `location:"header" locationName:"Content-Disposition" type:"string"`
@@ -32270,8 +34385,8 @@ type PutObjectInput struct {
ContentType *string `location:"header" locationName:"Content-Type" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The date and time at which the object is no longer cacheable. For more information,
@@ -32319,8 +34434,8 @@ type PutObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -32481,6 +34596,36 @@ func (s *PutObjectInput) SetCacheControl(v string) *PutObjectInput {
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectInput) SetChecksumAlgorithm(v string) *PutObjectInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *PutObjectInput) SetChecksumCRC32(v string) *PutObjectInput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *PutObjectInput) SetChecksumCRC32C(v string) *PutObjectInput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *PutObjectInput) SetChecksumSHA1(v string) *PutObjectInput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *PutObjectInput) SetChecksumSHA256(v string) *PutObjectInput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *PutObjectInput) SetContentDisposition(v string) *PutObjectInput {
s.ContentDisposition = &v
@@ -32680,7 +34825,7 @@ func (s PutObjectInput) updateArnableField(v string) (interface{}, error) {
type PutObjectLegalHoldInput struct {
_ struct{} `locationName:"PutObjectLegalHoldRequest" type:"structure" payload:"LegalHold"`
- // The bucket name containing the object that you want to place a Legal Hold
+ // The bucket name containing the object that you want to place a legal hold
// on.
//
// When using this action with an access point, you must direct requests to
@@ -32693,28 +34838,49 @@ type PutObjectLegalHoldInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
- // The key name for the object that you want to place a Legal Hold on.
+ // The key name for the object that you want to place a legal hold on.
//
// Key is a required field
Key *string `location:"uri" locationName:"Key" min:"1" type:"string" required:"true"`
- // Container element for the Legal Hold configuration you want to apply to the
+ // Container element for the legal hold configuration you want to apply to the
// specified object.
LegalHold *ObjectLockLegalHold `locationName:"LegalHold" type:"structure" xmlURI:"http://s3.amazonaws.com/doc/2006-03-01/"`
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
- // The version ID of the object that you want to place a Legal Hold on.
+ // The version ID of the object that you want to place a legal hold on.
VersionId *string `location:"querystring" locationName:"versionId" type:"string"`
}
@@ -32771,6 +34937,12 @@ func (s *PutObjectLegalHoldInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectLegalHoldInput) SetChecksumAlgorithm(v string) *PutObjectLegalHoldInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutObjectLegalHoldInput) SetExpectedBucketOwner(v string) *PutObjectLegalHoldInput {
s.ExpectedBucketOwner = &v
@@ -32868,9 +35040,30 @@ type PutObjectLockConfigurationInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The Object Lock configuration that you want to apply to the specified bucket.
@@ -32878,8 +35071,8 @@ type PutObjectLockConfigurationInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -32934,6 +35127,12 @@ func (s *PutObjectLockConfigurationInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectLockConfigurationInput) SetChecksumAlgorithm(v string) *PutObjectLockConfigurationInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutObjectLockConfigurationInput) SetExpectedBucketOwner(v string) *PutObjectLockConfigurationInput {
s.ExpectedBucketOwner = &v
@@ -33024,6 +35223,38 @@ type PutObjectOutput struct {
// encryption with Amazon Web Services KMS (SSE-KMS).
BucketKeyEnabled *bool `location:"header" locationName:"x-amz-server-side-encryption-bucket-key-enabled" type:"boolean"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Entity tag for the uploaded object.
ETag *string `location:"header" locationName:"ETag" type:"string"`
@@ -33031,7 +35262,7 @@ type PutObjectOutput struct {
// (https://docs.aws.amazon.com/AmazonS3/latest/API/API_PutBucketLifecycleConfiguration.html)),
// the response includes this header. It includes the expiry-date and rule-id
// key-value pairs that provide information about object expiration. The value
- // of the rule-id is URL encoded.
+ // of the rule-id is URL-encoded.
Expiration *string `location:"header" locationName:"x-amz-expiration" type:"string"`
// If present, indicates that the requester was successfully charged for the
@@ -33101,6 +35332,30 @@ func (s *PutObjectOutput) SetBucketKeyEnabled(v bool) *PutObjectOutput {
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *PutObjectOutput) SetChecksumCRC32(v string) *PutObjectOutput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *PutObjectOutput) SetChecksumCRC32C(v string) *PutObjectOutput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *PutObjectOutput) SetChecksumSHA1(v string) *PutObjectOutput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *PutObjectOutput) SetChecksumSHA256(v string) *PutObjectOutput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *PutObjectOutput) SetETag(v string) *PutObjectOutput {
s.ETag = &v
@@ -33174,9 +35429,30 @@ type PutObjectRetentionInput struct {
// Indicates whether this action should bypass Governance-mode restrictions.
BypassGovernanceRetention *bool `location:"header" locationName:"x-amz-bypass-governance-retention" type:"boolean"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The key name for the object that you want to apply this Object Retention
@@ -33187,8 +35463,8 @@ type PutObjectRetentionInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -33259,6 +35535,12 @@ func (s *PutObjectRetentionInput) SetBypassGovernanceRetention(v bool) *PutObjec
return s
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectRetentionInput) SetChecksumAlgorithm(v string) *PutObjectRetentionInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutObjectRetentionInput) SetExpectedBucketOwner(v string) *PutObjectRetentionInput {
s.ExpectedBucketOwner = &v
@@ -33363,17 +35645,38 @@ type PutObjectTaggingInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Name of the object key.
@@ -33383,8 +35686,8 @@ type PutObjectTaggingInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -33458,6 +35761,12 @@ func (s *PutObjectTaggingInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutObjectTaggingInput) SetChecksumAlgorithm(v string) *PutObjectTaggingInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutObjectTaggingInput) SetExpectedBucketOwner(v string) *PutObjectTaggingInput {
s.ExpectedBucketOwner = &v
@@ -33555,9 +35864,30 @@ type PutPublicAccessBlockInput struct {
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ //
+ // The SDK will automatically compute the Content-MD5 checksum for this operation.
+ // The AWS SDK for Go v2 allows you to configure alternative checksum algorithm
+ // to be used.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The PublicAccessBlock configuration that you want to apply to this Amazon
@@ -33620,6 +35950,12 @@ func (s *PutPublicAccessBlockInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *PutPublicAccessBlockInput) SetChecksumAlgorithm(v string) *PutPublicAccessBlockInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *PutPublicAccessBlockInput) SetExpectedBucketOwner(v string) *PutPublicAccessBlockInput {
s.ExpectedBucketOwner = &v
@@ -34695,17 +37031,34 @@ type RestoreObjectInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Object key for which the action was initiated.
@@ -34715,8 +37068,8 @@ type RestoreObjectInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -34785,6 +37138,12 @@ func (s *RestoreObjectInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *RestoreObjectInput) SetChecksumAlgorithm(v string) *RestoreObjectInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
// SetExpectedBucketOwner sets the ExpectedBucketOwner field's value.
func (s *RestoreObjectInput) SetExpectedBucketOwner(v string) *RestoreObjectInput {
s.ExpectedBucketOwner = &v
@@ -35092,12 +37451,12 @@ type Rule struct {
NoncurrentVersionExpiration *NoncurrentVersionExpiration `type:"structure"`
// Container for the transition rule that describes when noncurrent objects
- // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER,
- // or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled (or versioning
- // is suspended), you can set this action to request that Amazon S3 transition
- // noncurrent object versions to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING,
- // GLACIER, or DEEP_ARCHIVE storage class at a specific period in the object's
- // lifetime.
+ // transition to the STANDARD_IA, ONEZONE_IA, INTELLIGENT_TIERING, GLACIER_IR,
+ // GLACIER, or DEEP_ARCHIVE storage class. If your bucket is versioning-enabled
+ // (or versioning is suspended), you can set this action to request that Amazon
+ // S3 transition noncurrent object versions to the STANDARD_IA, ONEZONE_IA,
+ // INTELLIGENT_TIERING, GLACIER_IR, GLACIER, or DEEP_ARCHIVE storage class at
+ // a specific period in the object's lifetime.
NoncurrentVersionTransition *NoncurrentVersionTransition `type:"structure"`
// Object key prefix that identifies one or more objects to which this rule
@@ -35297,7 +37656,7 @@ type ScanRange struct {
// Specifies the start of the byte range. This parameter is optional. Valid
// values: non-negative integers. The default value is 0. If only start is supplied,
- // it means scan from that point to the end of the file.For example; 50
+ // it means scan from that point to the end of the file. For example, 50
// means scan from byte 50 until the end of the file.
Start *int64 `type:"long"`
}
@@ -35516,8 +37875,8 @@ type SelectObjectContentInput struct {
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The expression that is used to query the object.
@@ -35548,20 +37907,26 @@ type SelectObjectContentInput struct {
// Specifies if periodic request progress information should be enabled.
RequestProgress *RequestProgress `type:"structure"`
- // The SSE Algorithm used to encrypt the object. For more information, see Server-Side
- // Encryption (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
+ // The server-side encryption (SSE) algorithm used to encrypt the object. This
+ // parameter is needed only when the object was created using a checksum algorithm.
+ // For more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
SSECustomerAlgorithm *string `location:"header" locationName:"x-amz-server-side-encryption-customer-algorithm" type:"string"`
- // The SSE Customer Key. For more information, see Server-Side Encryption (Using
- // Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
+ // The server-side encryption (SSE) customer managed key. This parameter is
+ // needed only when the object was created using a checksum algorithm. For more
+ // information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
//
// SSECustomerKey is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by SelectObjectContentInput's
// String and GoString methods.
SSECustomerKey *string `marshal-as:"blob" location:"header" locationName:"x-amz-server-side-encryption-customer-key" type:"string" sensitive:"true"`
- // The SSE Customer Key MD5. For more information, see Server-Side Encryption
- // (Using Customer-Provided Encryption Keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html).
+ // The MD5 server-side encryption (SSE) customer managed key. This parameter
+ // is needed only when the object was created using a checksum algorithm. For
+ // more information, see Protecting data using SSE-C keys (https://docs.aws.amazon.com/AmazonS3/latest/dev/ServerSideEncryptionCustomerKeys.html)
+ // in the Amazon S3 User Guide.
SSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-server-side-encryption-customer-key-MD5" type:"string"`
// Specifies the byte range of the object to get the records from. A record
@@ -35876,8 +38241,12 @@ func (s *SelectParameters) SetOutputSerialization(v *OutputSerialization) *Selec
// Describes the default server-side encryption to apply to new objects in the
// bucket. If a PUT Object request doesn't specify any server-side encryption,
-// this default encryption will be applied. For more information, see PUT Bucket
-// encryption (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)
+// this default encryption will be applied. If you don't specify a customer
+// managed key at configuration, Amazon S3 automatically creates an Amazon Web
+// Services KMS key in your Amazon Web Services account the first time that
+// you add an object encrypted with SSE-KMS to a bucket. By default, Amazon
+// S3 uses this KMS key for SSE-KMS. For more information, see PUT Bucket encryption
+// (https://docs.aws.amazon.com/AmazonS3/latest/API/RESTBucketPUTencryption.html)
// in the Amazon S3 API Reference.
type ServerSideEncryptionByDefault struct {
_ struct{} `type:"structure"`
@@ -35887,9 +38256,9 @@ type ServerSideEncryptionByDefault struct {
// and only if SSEAlgorithm is set to aws:kms.
//
// You can specify the key ID or the Amazon Resource Name (ARN) of the KMS key.
- // However, if you are using encryption with cross-account operations, you must
- // use a fully qualified KMS key ARN. For more information, see Using encryption
- // for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).
+ // However, if you are using encryption with cross-account or Amazon Web Services
+ // service operations you must use a fully qualified KMS key ARN. For more information,
+ // see Using encryption for cross-account operations (https://docs.aws.amazon.com/AmazonS3/latest/dev/bucket-encryption.html#bucket-encryption-update-bucket-policy).
//
// For example:
//
@@ -36553,6 +38922,11 @@ func (s *Tagging) SetTagSet(v []*Tag) *Tagging {
}
// Container for granting information.
+//
+// Buckets that use the bucket owner enforced setting for Object Ownership don't
+// support target grants. For more information, see Permissions server access
+// log delivery (https://docs.aws.amazon.com/AmazonS3/latest/userguide/enable-server-access-logging.html#grant-log-delivery-permissions-general)
+// in the Amazon S3 User Guide.
type TargetGrant struct {
_ struct{} `type:"structure"`
@@ -36901,9 +39275,9 @@ type UploadPartCopyInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
@@ -36916,7 +39290,7 @@ type UploadPartCopyInput struct {
// * For objects not accessed through an access point, specify the name of
// the source bucket and key of the source object, separated by a slash (/).
// For example, to copy the object reports/january.pdf from the bucket awsexamplebucket,
- // use awsexamplebucket/reports/january.pdf. The value must be URL encoded.
+ // use awsexamplebucket/reports/january.pdf. The value must be URL-encoded.
//
// * For objects accessed through access points, specify the Amazon Resource
// Name (ARN) of the object as accessed through the access point, in the
@@ -36932,7 +39306,7 @@ type UploadPartCopyInput struct {
// For example, to copy the object reports/january.pdf through outpost my-outpost
// owned by account 123456789012 in Region us-west-2, use the URL encoding
// of arn:aws:s3-outposts:us-west-2:123456789012:outpost/my-outpost/object/reports/january.pdf.
- // The value must be URL encoded.
+ // The value must be URL-encoded.
//
// To copy a specific version of an object, append ?versionId= to
// the value (for example, awsexamplebucket/reports/january.pdf?versionId=QUpfdndhfd8438MNFDN93jdnJFkdmqnh893).
@@ -36981,13 +39355,13 @@ type UploadPartCopyInput struct {
CopySourceSSECustomerKeyMD5 *string `location:"header" locationName:"x-amz-copy-source-server-side-encryption-customer-key-MD5" type:"string"`
// The account ID of the expected destination bucket owner. If the destination
- // bucket is owned by a different account, the request will fail with an HTTP
- // 403 (Access Denied) error.
+ // bucket is owned by a different account, the request fails with the HTTP status
+ // code 403 Forbidden (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// The account ID of the expected source bucket owner. If the source bucket
- // is owned by a different account, the request will fail with an HTTP 403 (Access
- // Denied) error.
+ // is owned by a different account, the request fails with the HTTP status code
+ // 403 Forbidden (access denied).
ExpectedSourceBucketOwner *string `location:"header" locationName:"x-amz-source-expected-bucket-owner" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -37003,8 +39377,8 @@ type UploadPartCopyInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -37372,14 +39746,62 @@ type UploadPartInput struct {
// When using this action with Amazon S3 on Outposts, you must direct requests
// to the S3 on Outposts hostname. The S3 on Outposts hostname takes the form
// AccessPointName-AccountId.outpostID.s3-outposts.Region.amazonaws.com. When
- // using this action using S3 on Outposts through the Amazon Web Services SDKs,
+ // using this action with S3 on Outposts through the Amazon Web Services SDKs,
// you provide the Outposts bucket ARN in place of the bucket name. For more
- // information about S3 on Outposts ARNs, see Using S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
+ // information about S3 on Outposts ARNs, see Using Amazon S3 on Outposts (https://docs.aws.amazon.com/AmazonS3/latest/userguide/S3onOutposts.html)
// in the Amazon S3 User Guide.
//
// Bucket is a required field
Bucket *string `location:"uri" locationName:"Bucket" type:"string" required:"true"`
+ // Indicates the algorithm used to create the checksum for the object when using
+ // the SDK. This header will not provide any additional functionality if not
+ // using the SDK. When sending this header, there must be a corresponding x-amz-checksum
+ // or x-amz-trailer header sent. Otherwise, Amazon S3 fails the request with
+ // the HTTP status code 400 Bad Request. For more information, see Checking
+ // object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // If you provide an individual checksum, Amazon S3 ignores any provided ChecksumAlgorithm
+ // parameter.
+ //
+ // This checksum algorithm must be the same for all parts and it match the checksum
+ // value supplied in the CreateMultipartUpload request.
+ //
+ // The AWS SDK for Go v1 does not support automatic computing request payload
+ // checksum. This feature is available in the AWS SDK for Go v2. If a value
+ // is specified for this parameter, the matching algorithm's checksum member
+ // must be populated with the algorithm's checksum of the request payload.
+ ChecksumAlgorithm *string `location:"header" locationName:"x-amz-sdk-checksum-algorithm" type:"string" enum:"ChecksumAlgorithm"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32 checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 32-bit CRC32C checksum of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 160-bit SHA-1 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This header specifies
+ // the base64-encoded, 256-bit SHA-256 digest of the object. For more information,
+ // see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Size of the body in bytes. This parameter is useful when the size of the
// body cannot be determined automatically.
ContentLength *int64 `location:"header" locationName:"Content-Length" type:"long"`
@@ -37390,8 +39812,8 @@ type UploadPartInput struct {
ContentMD5 *string `location:"header" locationName:"Content-MD5" type:"string"`
// The account ID of the expected bucket owner. If the bucket is owned by a
- // different account, the request will fail with an HTTP 403 (Access Denied)
- // error.
+ // different account, the request fails with the HTTP status code 403 Forbidden
+ // (access denied).
ExpectedBucketOwner *string `location:"header" locationName:"x-amz-expected-bucket-owner" type:"string"`
// Object key for which the multipart upload was initiated.
@@ -37407,8 +39829,8 @@ type UploadPartInput struct {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
- // about downloading objects from requester pays buckets, see Downloading Objects
- // in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+ // about downloading objects from Requester Pays buckets, see Downloading Objects
+ // in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
RequestPayer *string `location:"header" locationName:"x-amz-request-payer" type:"string" enum:"RequestPayer"`
@@ -37504,6 +39926,36 @@ func (s *UploadPartInput) getBucket() (v string) {
return *s.Bucket
}
+// SetChecksumAlgorithm sets the ChecksumAlgorithm field's value.
+func (s *UploadPartInput) SetChecksumAlgorithm(v string) *UploadPartInput {
+ s.ChecksumAlgorithm = &v
+ return s
+}
+
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *UploadPartInput) SetChecksumCRC32(v string) *UploadPartInput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *UploadPartInput) SetChecksumCRC32C(v string) *UploadPartInput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *UploadPartInput) SetChecksumSHA1(v string) *UploadPartInput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *UploadPartInput) SetChecksumSHA256(v string) *UploadPartInput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetContentLength sets the ContentLength field's value.
func (s *UploadPartInput) SetContentLength(v int64) *UploadPartInput {
s.ContentLength = &v
@@ -37605,6 +40057,38 @@ type UploadPartOutput struct {
// encryption with Amazon Web Services KMS (SSE-KMS).
BucketKeyEnabled *bool `location:"header" locationName:"x-amz-server-side-encryption-bucket-key-enabled" type:"boolean"`
+ // The base64-encoded, 32-bit CRC32 checksum of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-checksum-crc32" type:"string"`
+
+ // The base64-encoded, 32-bit CRC32C checksum of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-checksum-crc32c" type:"string"`
+
+ // The base64-encoded, 160-bit SHA-1 digest of the object. This will only be
+ // present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-checksum-sha1" type:"string"`
+
+ // The base64-encoded, 256-bit SHA-256 digest of the object. This will only
+ // be present if it was uploaded with the object. With multipart uploads, this
+ // may not be a checksum value of the object. For more information about how
+ // checksums are calculated with multipart uploads, see Checking object integrity
+ // (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html#large-object-checksums)
+ // in the Amazon S3 User Guide.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-checksum-sha256" type:"string"`
+
// Entity tag for the uploaded object.
ETag *string `location:"header" locationName:"ETag" type:"string"`
@@ -37660,6 +40144,30 @@ func (s *UploadPartOutput) SetBucketKeyEnabled(v bool) *UploadPartOutput {
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *UploadPartOutput) SetChecksumCRC32(v string) *UploadPartOutput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *UploadPartOutput) SetChecksumCRC32C(v string) *UploadPartOutput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *UploadPartOutput) SetChecksumSHA1(v string) *UploadPartOutput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *UploadPartOutput) SetChecksumSHA256(v string) *UploadPartOutput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetETag sets the ETag field's value.
func (s *UploadPartOutput) SetETag(v string) *UploadPartOutput {
s.ETag = &v
@@ -37858,6 +40366,58 @@ type WriteGetObjectResponseInput struct {
// Specifies caching behavior along the request/reply chain.
CacheControl *string `location:"header" locationName:"x-amz-fwd-header-Cache-Control" type:"string"`
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This specifies the base64-encoded,
+ // 32-bit CRC32 checksum of the object returned by the Object Lambda function.
+ // This may not match the checksum for the object stored in Amazon S3. Amazon
+ // S3 will perform validation of the checksum values only when the original
+ // GetObject request required checksum validation. For more information about
+ // checksums, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // Only one checksum header can be specified at a time. If you supply multiple
+ // checksum headers, this request will fail.
+ ChecksumCRC32 *string `location:"header" locationName:"x-amz-fwd-header-x-amz-checksum-crc32" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This specifies the base64-encoded,
+ // 32-bit CRC32C checksum of the object returned by the Object Lambda function.
+ // This may not match the checksum for the object stored in Amazon S3. Amazon
+ // S3 will perform validation of the checksum values only when the original
+ // GetObject request required checksum validation. For more information about
+ // checksums, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // Only one checksum header can be specified at a time. If you supply multiple
+ // checksum headers, this request will fail.
+ ChecksumCRC32C *string `location:"header" locationName:"x-amz-fwd-header-x-amz-checksum-crc32c" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This specifies the base64-encoded,
+ // 160-bit SHA-1 digest of the object returned by the Object Lambda function.
+ // This may not match the checksum for the object stored in Amazon S3. Amazon
+ // S3 will perform validation of the checksum values only when the original
+ // GetObject request required checksum validation. For more information about
+ // checksums, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // Only one checksum header can be specified at a time. If you supply multiple
+ // checksum headers, this request will fail.
+ ChecksumSHA1 *string `location:"header" locationName:"x-amz-fwd-header-x-amz-checksum-sha1" type:"string"`
+
+ // This header can be used as a data integrity check to verify that the data
+ // received is the same data that was originally sent. This specifies the base64-encoded,
+ // 256-bit SHA-256 digest of the object returned by the Object Lambda function.
+ // This may not match the checksum for the object stored in Amazon S3. Amazon
+ // S3 will perform validation of the checksum values only when the original
+ // GetObject request required checksum validation. For more information about
+ // checksums, see Checking object integrity (https://docs.aws.amazon.com/AmazonS3/latest/userguide/checking-object-integrity.html)
+ // in the Amazon S3 User Guide.
+ //
+ // Only one checksum header can be specified at a time. If you supply multiple
+ // checksum headers, this request will fail.
+ ChecksumSHA256 *string `location:"header" locationName:"x-amz-fwd-header-x-amz-checksum-sha256" type:"string"`
+
// Specifies presentational information for the object.
ContentDisposition *string `location:"header" locationName:"x-amz-fwd-header-Content-Disposition" type:"string"`
@@ -37889,8 +40449,8 @@ type WriteGetObjectResponseInput struct {
// A string that uniquely identifies an error condition. Returned in the
// tag of the error XML response for a corresponding GetObject call. Cannot
// be used with a successful StatusCode header or when the transformed object
- // is provided in the body. All error codes from S3 are sentence-cased. Regex
- // value is "^[A-Z][a-zA-Z]+$".
+ // is provided in the body. All error codes from S3 are sentence-cased. The
+ // regular expression (regex) value is "^[A-Z][a-zA-Z]+$".
ErrorCode *string `location:"header" locationName:"x-amz-fwd-error-code" type:"string"`
// Contains a generic description of the error condition. Returned in the
@@ -37899,9 +40459,10 @@ type WriteGetObjectResponseInput struct {
// is provided in body.
ErrorMessage *string `location:"header" locationName:"x-amz-fwd-error-message" type:"string"`
- // If object stored in Amazon S3 expiration is configured (see PUT Bucket lifecycle)
- // it includes expiry-date and rule-id key-value pairs providing object expiration
- // information. The value of the rule-id is URL encoded.
+ // If the object expiration is configured (see PUT Bucket lifecycle), the response
+ // includes this header. It includes the expiry-date and rule-id key-value pairs
+ // that provide the object expiration information. The value of the rule-id
+ // is URL-encoded.
Expiration *string `location:"header" locationName:"x-amz-fwd-header-x-amz-expiration" type:"string"`
// The date and time at which the object is no longer cacheable.
@@ -38012,7 +40573,10 @@ type WriteGetObjectResponseInput struct {
// * 503 - Service Unavailable
StatusCode *int64 `location:"header" locationName:"x-amz-fwd-status" type:"integer"`
- // The class of storage used to store object in Amazon S3.
+ // Provides storage class information of the object. Amazon S3 returns this
+ // header for all objects except for S3 Standard storage class objects.
+ //
+ // For more information, see Storage Classes (https://docs.aws.amazon.com/AmazonS3/latest/dev/storage-class-intro.html).
StorageClass *string `location:"header" locationName:"x-amz-fwd-header-x-amz-storage-class" type:"string" enum:"StorageClass"`
// The number of tags, if any, on the object.
@@ -38083,6 +40647,30 @@ func (s *WriteGetObjectResponseInput) SetCacheControl(v string) *WriteGetObjectR
return s
}
+// SetChecksumCRC32 sets the ChecksumCRC32 field's value.
+func (s *WriteGetObjectResponseInput) SetChecksumCRC32(v string) *WriteGetObjectResponseInput {
+ s.ChecksumCRC32 = &v
+ return s
+}
+
+// SetChecksumCRC32C sets the ChecksumCRC32C field's value.
+func (s *WriteGetObjectResponseInput) SetChecksumCRC32C(v string) *WriteGetObjectResponseInput {
+ s.ChecksumCRC32C = &v
+ return s
+}
+
+// SetChecksumSHA1 sets the ChecksumSHA1 field's value.
+func (s *WriteGetObjectResponseInput) SetChecksumSHA1(v string) *WriteGetObjectResponseInput {
+ s.ChecksumSHA1 = &v
+ return s
+}
+
+// SetChecksumSHA256 sets the ChecksumSHA256 field's value.
+func (s *WriteGetObjectResponseInput) SetChecksumSHA256(v string) *WriteGetObjectResponseInput {
+ s.ChecksumSHA256 = &v
+ return s
+}
+
// SetContentDisposition sets the ContentDisposition field's value.
func (s *WriteGetObjectResponseInput) SetContentDisposition(v string) *WriteGetObjectResponseInput {
s.ContentDisposition = &v
@@ -38515,6 +41103,42 @@ func BucketVersioningStatus_Values() []string {
}
}
+const (
+ // ChecksumAlgorithmCrc32 is a ChecksumAlgorithm enum value
+ ChecksumAlgorithmCrc32 = "CRC32"
+
+ // ChecksumAlgorithmCrc32c is a ChecksumAlgorithm enum value
+ ChecksumAlgorithmCrc32c = "CRC32C"
+
+ // ChecksumAlgorithmSha1 is a ChecksumAlgorithm enum value
+ ChecksumAlgorithmSha1 = "SHA1"
+
+ // ChecksumAlgorithmSha256 is a ChecksumAlgorithm enum value
+ ChecksumAlgorithmSha256 = "SHA256"
+)
+
+// ChecksumAlgorithm_Values returns all elements of the ChecksumAlgorithm enum
+func ChecksumAlgorithm_Values() []string {
+ return []string{
+ ChecksumAlgorithmCrc32,
+ ChecksumAlgorithmCrc32c,
+ ChecksumAlgorithmSha1,
+ ChecksumAlgorithmSha256,
+ }
+}
+
+const (
+ // ChecksumModeEnabled is a ChecksumMode enum value
+ ChecksumModeEnabled = "ENABLED"
+)
+
+// ChecksumMode_Values returns all elements of the ChecksumMode enum
+func ChecksumMode_Values() []string {
+ return []string{
+ ChecksumModeEnabled,
+ }
+}
+
const (
// CompressionTypeNone is a CompressionType enum value
CompressionTypeNone = "NONE"
@@ -38621,6 +41245,36 @@ const (
// EventS3ReplicationOperationReplicatedAfterThreshold is a Event enum value
EventS3ReplicationOperationReplicatedAfterThreshold = "s3:Replication:OperationReplicatedAfterThreshold"
+
+ // EventS3ObjectRestoreDelete is a Event enum value
+ EventS3ObjectRestoreDelete = "s3:ObjectRestore:Delete"
+
+ // EventS3LifecycleTransition is a Event enum value
+ EventS3LifecycleTransition = "s3:LifecycleTransition"
+
+ // EventS3IntelligentTiering is a Event enum value
+ EventS3IntelligentTiering = "s3:IntelligentTiering"
+
+ // EventS3ObjectAclPut is a Event enum value
+ EventS3ObjectAclPut = "s3:ObjectAcl:Put"
+
+ // EventS3LifecycleExpiration is a Event enum value
+ EventS3LifecycleExpiration = "s3:LifecycleExpiration:*"
+
+ // EventS3LifecycleExpirationDelete is a Event enum value
+ EventS3LifecycleExpirationDelete = "s3:LifecycleExpiration:Delete"
+
+ // EventS3LifecycleExpirationDeleteMarkerCreated is a Event enum value
+ EventS3LifecycleExpirationDeleteMarkerCreated = "s3:LifecycleExpiration:DeleteMarkerCreated"
+
+ // EventS3ObjectTagging is a Event enum value
+ EventS3ObjectTagging = "s3:ObjectTagging:*"
+
+ // EventS3ObjectTaggingPut is a Event enum value
+ EventS3ObjectTaggingPut = "s3:ObjectTagging:Put"
+
+ // EventS3ObjectTaggingDelete is a Event enum value
+ EventS3ObjectTaggingDelete = "s3:ObjectTagging:Delete"
)
// Event_Values returns all elements of the Event enum
@@ -38643,6 +41297,16 @@ func Event_Values() []string {
EventS3ReplicationOperationNotTracked,
EventS3ReplicationOperationMissedThreshold,
EventS3ReplicationOperationReplicatedAfterThreshold,
+ EventS3ObjectRestoreDelete,
+ EventS3LifecycleTransition,
+ EventS3IntelligentTiering,
+ EventS3ObjectAclPut,
+ EventS3LifecycleExpiration,
+ EventS3LifecycleExpirationDelete,
+ EventS3LifecycleExpirationDeleteMarkerCreated,
+ EventS3ObjectTagging,
+ EventS3ObjectTaggingPut,
+ EventS3ObjectTaggingDelete,
}
}
@@ -38846,6 +41510,9 @@ const (
// InventoryOptionalFieldBucketKeyStatus is a InventoryOptionalField enum value
InventoryOptionalFieldBucketKeyStatus = "BucketKeyStatus"
+
+ // InventoryOptionalFieldChecksumAlgorithm is a InventoryOptionalField enum value
+ InventoryOptionalFieldChecksumAlgorithm = "ChecksumAlgorithm"
)
// InventoryOptionalField_Values returns all elements of the InventoryOptionalField enum
@@ -38863,6 +41530,7 @@ func InventoryOptionalField_Values() []string {
InventoryOptionalFieldObjectLockLegalHoldStatus,
InventoryOptionalFieldIntelligentTieringAccessTier,
InventoryOptionalFieldBucketKeyStatus,
+ InventoryOptionalFieldChecksumAlgorithm,
}
}
@@ -38946,6 +41614,34 @@ func MetricsStatus_Values() []string {
}
}
+const (
+ // ObjectAttributesEtag is a ObjectAttributes enum value
+ ObjectAttributesEtag = "ETag"
+
+ // ObjectAttributesChecksum is a ObjectAttributes enum value
+ ObjectAttributesChecksum = "Checksum"
+
+ // ObjectAttributesObjectParts is a ObjectAttributes enum value
+ ObjectAttributesObjectParts = "ObjectParts"
+
+ // ObjectAttributesStorageClass is a ObjectAttributes enum value
+ ObjectAttributesStorageClass = "StorageClass"
+
+ // ObjectAttributesObjectSize is a ObjectAttributes enum value
+ ObjectAttributesObjectSize = "ObjectSize"
+)
+
+// ObjectAttributes_Values returns all elements of the ObjectAttributes enum
+func ObjectAttributes_Values() []string {
+ return []string{
+ ObjectAttributesEtag,
+ ObjectAttributesChecksum,
+ ObjectAttributesObjectParts,
+ ObjectAttributesStorageClass,
+ ObjectAttributesObjectSize,
+ }
+}
+
const (
// ObjectCannedACLPrivate is a ObjectCannedACL enum value
ObjectCannedACLPrivate = "private"
@@ -39050,12 +41746,21 @@ func ObjectLockRetentionMode_Values() []string {
//
// ObjectWriter - The uploading account will own the object if the object is
// uploaded with the bucket-owner-full-control canned ACL.
+//
+// BucketOwnerEnforced - Access control lists (ACLs) are disabled and no longer
+// affect permissions. The bucket owner automatically owns and has full control
+// over every object in the bucket. The bucket only accepts PUT requests that
+// don't specify an ACL or bucket owner full control ACLs, such as the bucket-owner-full-control
+// canned ACL or an equivalent form of this ACL expressed in the XML format.
const (
// ObjectOwnershipBucketOwnerPreferred is a ObjectOwnership enum value
ObjectOwnershipBucketOwnerPreferred = "BucketOwnerPreferred"
// ObjectOwnershipObjectWriter is a ObjectOwnership enum value
ObjectOwnershipObjectWriter = "ObjectWriter"
+
+ // ObjectOwnershipBucketOwnerEnforced is a ObjectOwnership enum value
+ ObjectOwnershipBucketOwnerEnforced = "BucketOwnerEnforced"
)
// ObjectOwnership_Values returns all elements of the ObjectOwnership enum
@@ -39063,6 +41768,7 @@ func ObjectOwnership_Values() []string {
return []string{
ObjectOwnershipBucketOwnerPreferred,
ObjectOwnershipObjectWriter,
+ ObjectOwnershipBucketOwnerEnforced,
}
}
@@ -39090,6 +41796,9 @@ const (
// ObjectStorageClassOutposts is a ObjectStorageClass enum value
ObjectStorageClassOutposts = "OUTPOSTS"
+
+ // ObjectStorageClassGlacierIr is a ObjectStorageClass enum value
+ ObjectStorageClassGlacierIr = "GLACIER_IR"
)
// ObjectStorageClass_Values returns all elements of the ObjectStorageClass enum
@@ -39103,6 +41812,7 @@ func ObjectStorageClass_Values() []string {
ObjectStorageClassIntelligentTiering,
ObjectStorageClassDeepArchive,
ObjectStorageClassOutposts,
+ ObjectStorageClassGlacierIr,
}
}
@@ -39294,8 +42004,8 @@ func RequestCharged_Values() []string {
// Confirms that the requester knows that they will be charged for the request.
// Bucket owners need not specify this parameter in their requests. For information
-// about downloading objects from requester pays buckets, see Downloading Objects
-// in Requestor Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
+// about downloading objects from Requester Pays buckets, see Downloading Objects
+// in Requester Pays Buckets (https://docs.aws.amazon.com/AmazonS3/latest/dev/ObjectsinRequesterPaysBuckets.html)
// in the Amazon S3 User Guide.
const (
// RequestPayerRequester is a RequestPayer enum value
@@ -39377,6 +42087,9 @@ const (
// StorageClassOutposts is a StorageClass enum value
StorageClassOutposts = "OUTPOSTS"
+
+ // StorageClassGlacierIr is a StorageClass enum value
+ StorageClassGlacierIr = "GLACIER_IR"
)
// StorageClass_Values returns all elements of the StorageClass enum
@@ -39390,6 +42103,7 @@ func StorageClass_Values() []string {
StorageClassGlacier,
StorageClassDeepArchive,
StorageClassOutposts,
+ StorageClassGlacierIr,
}
}
@@ -39456,6 +42170,9 @@ const (
// TransitionStorageClassDeepArchive is a TransitionStorageClass enum value
TransitionStorageClassDeepArchive = "DEEP_ARCHIVE"
+
+ // TransitionStorageClassGlacierIr is a TransitionStorageClass enum value
+ TransitionStorageClassGlacierIr = "GLACIER_IR"
)
// TransitionStorageClass_Values returns all elements of the TransitionStorageClass enum
@@ -39466,6 +42183,7 @@ func TransitionStorageClass_Values() []string {
TransitionStorageClassOnezoneIa,
TransitionStorageClassIntelligentTiering,
TransitionStorageClassDeepArchive,
+ TransitionStorageClassGlacierIr,
}
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
index bce45a3ea..229606b70 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/customizations.go
@@ -1,7 +1,9 @@
package s3
import (
+ "github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/internal/s3shared/arn"
"github.com/aws/aws-sdk-go/internal/s3shared/s3err"
@@ -13,6 +15,14 @@ func init() {
}
func defaultInitClientFn(c *client.Client) {
+ if c.Config.UseDualStackEndpoint == endpoints.DualStackEndpointStateUnset {
+ if aws.BoolValue(c.Config.UseDualStack) {
+ c.Config.UseDualStackEndpoint = endpoints.DualStackEndpointStateEnabled
+ } else {
+ c.Config.UseDualStackEndpoint = endpoints.DualStackEndpointStateDisabled
+ }
+ }
+
// Support building custom endpoints based on config
c.Handlers.Build.PushFront(endpointHandler)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go
index ba1a84d09..f11bd9b00 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint.go
@@ -3,6 +3,7 @@ package s3
import (
"fmt"
"github.com/aws/aws-sdk-go/aws/awserr"
+ "github.com/aws/aws-sdk-go/aws/endpoints"
"net/url"
"strings"
@@ -155,7 +156,7 @@ func endpointHandler(req *request.Request) {
}
case arn.OutpostAccessPointARN:
// outposts does not support FIPS regions
- if resReq.UseFIPS() {
+ if req.Config.UseFIPSEndpoint == endpoints.FIPSEndpointStateEnabled {
req.Error = s3shared.NewFIPSConfigurationError(resource, req.ClientInfo.PartitionID,
aws.StringValue(req.Config.Region), nil)
return
@@ -202,7 +203,7 @@ func updateRequestAccessPointEndpoint(req *request.Request, accessPoint arn.Acce
func updateRequestS3ObjectLambdaAccessPointEndpoint(req *request.Request, accessPoint arn.S3ObjectLambdaAccessPointARN) error {
// DualStack not supported
- if aws.BoolValue(req.Config.UseDualStack) {
+ if isUseDualStackEndpoint(req) {
return s3shared.NewClientConfiguredForDualStackError(accessPoint,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
}
@@ -233,7 +234,7 @@ func updateRequestOutpostAccessPointEndpoint(req *request.Request, accessPoint a
}
// Dualstack not supported
- if aws.BoolValue(req.Config.UseDualStack) {
+ if isUseDualStackEndpoint(req) {
return s3shared.NewClientConfiguredForDualStackError(accessPoint,
req.ClientInfo.PartitionID, aws.StringValue(req.Config.Region), nil)
}
@@ -258,7 +259,7 @@ func removeBucketFromPath(u *url.URL) {
func buildWriteGetObjectResponseEndpoint(req *request.Request) {
// DualStack not supported
- if aws.BoolValue(req.Config.UseDualStack) {
+ if isUseDualStackEndpoint(req) {
req.Error = awserr.New("ConfigurationError", "client configured for dualstack but not supported for operation", nil)
return
}
@@ -273,7 +274,7 @@ func buildWriteGetObjectResponseEndpoint(req *request.Request) {
signingRegion := req.ClientInfo.SigningRegion
if !hasCustomEndpoint(req) {
- endpoint, err := resolveRegionalEndpoint(req, aws.StringValue(req.Config.Region), EndpointsID)
+ endpoint, err := resolveRegionalEndpoint(req, aws.StringValue(req.Config.Region), req.ClientInfo.ResolvedRegion, EndpointsID)
if err != nil {
req.Error = awserr.New(request.ErrCodeSerialization, "failed to resolve endpoint", err)
return
@@ -289,3 +290,10 @@ func buildWriteGetObjectResponseEndpoint(req *request.Request) {
redirectSigner(req, signingName, signingRegion)
}
+
+func isUseDualStackEndpoint(req *request.Request) bool {
+ if req.Config.UseDualStackEndpoint != endpoints.DualStackEndpointStateUnset {
+ return req.Config.UseDualStackEndpoint == endpoints.DualStackEndpointStateEnabled
+ }
+ return aws.BoolValue(req.Config.UseDualStack)
+}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_builder.go b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_builder.go
index 71e9c9eff..7583be6ab 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_builder.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/endpoint_builder.go
@@ -41,23 +41,11 @@ type accessPointEndpointBuilder arn.AccessPointARN
func (a accessPointEndpointBuilder) build(req *request.Request) error {
resolveService := arn.AccessPointARN(a).Service
resolveRegion := arn.AccessPointARN(a).Region
- cfgRegion := aws.StringValue(req.Config.Region)
-
- if s3shared.IsFIPS(cfgRegion) {
- if aws.BoolValue(req.Config.S3UseARNRegion) && s3shared.IsCrossRegion(req, resolveRegion) {
- // FIPS with cross region is not supported, the SDK must fail
- // because there is no well defined method for SDK to construct a
- // correct FIPS endpoint.
- return s3shared.NewClientConfiguredForCrossRegionFIPSError(arn.AccessPointARN(a),
- req.ClientInfo.PartitionID, cfgRegion, nil)
- }
- resolveRegion = cfgRegion
- }
- endpoint, err := resolveRegionalEndpoint(req, resolveRegion, resolveService)
+ endpoint, err := resolveRegionalEndpoint(req, resolveRegion, "", resolveService)
if err != nil {
return s3shared.NewFailedToResolveEndpointError(arn.AccessPointARN(a),
- req.ClientInfo.PartitionID, cfgRegion, err)
+ req.ClientInfo.PartitionID, resolveRegion, err)
}
endpoint.URL = endpoints.AddScheme(endpoint.URL, aws.BoolValue(req.Config.DisableSSL))
@@ -107,23 +95,11 @@ type s3ObjectLambdaAccessPointEndpointBuilder arn.S3ObjectLambdaAccessPointARN
//
func (a s3ObjectLambdaAccessPointEndpointBuilder) build(req *request.Request) error {
resolveRegion := arn.S3ObjectLambdaAccessPointARN(a).Region
- cfgRegion := aws.StringValue(req.Config.Region)
-
- if s3shared.IsFIPS(cfgRegion) {
- if aws.BoolValue(req.Config.S3UseARNRegion) && s3shared.IsCrossRegion(req, resolveRegion) {
- // FIPS with cross region is not supported, the SDK must fail
- // because there is no well defined method for SDK to construct a
- // correct FIPS endpoint.
- return s3shared.NewClientConfiguredForCrossRegionFIPSError(arn.S3ObjectLambdaAccessPointARN(a),
- req.ClientInfo.PartitionID, cfgRegion, nil)
- }
- resolveRegion = cfgRegion
- }
- endpoint, err := resolveRegionalEndpoint(req, resolveRegion, EndpointsID)
+ endpoint, err := resolveRegionalEndpoint(req, resolveRegion, "", EndpointsID)
if err != nil {
return s3shared.NewFailedToResolveEndpointError(arn.S3ObjectLambdaAccessPointARN(a),
- req.ClientInfo.PartitionID, cfgRegion, err)
+ req.ClientInfo.PartitionID, resolveRegion, err)
}
endpoint.URL = endpoints.AddScheme(endpoint.URL, aws.BoolValue(req.Config.DisableSSL))
@@ -181,7 +157,7 @@ func (o outpostAccessPointEndpointBuilder) build(req *request.Request) error {
endpointsID = "s3"
}
- endpoint, err := resolveRegionalEndpoint(req, resolveRegion, endpointsID)
+ endpoint, err := resolveRegionalEndpoint(req, resolveRegion, "", endpointsID)
if err != nil {
return s3shared.NewFailedToResolveEndpointError(o,
req.ClientInfo.PartitionID, resolveRegion, err)
@@ -220,11 +196,16 @@ func (o outpostAccessPointEndpointBuilder) hostPrefixLabelValues() map[string]st
}
}
-func resolveRegionalEndpoint(r *request.Request, region string, endpointsID string) (endpoints.ResolvedEndpoint, error) {
+func resolveRegionalEndpoint(r *request.Request, region, resolvedRegion, endpointsID string) (endpoints.ResolvedEndpoint, error) {
return r.Config.EndpointResolver.EndpointFor(endpointsID, region, func(opts *endpoints.Options) {
opts.DisableSSL = aws.BoolValue(r.Config.DisableSSL)
opts.UseDualStack = aws.BoolValue(r.Config.UseDualStack)
+ opts.UseDualStackEndpoint = r.Config.UseDualStackEndpoint
+ opts.UseFIPSEndpoint = r.Config.UseFIPSEndpoint
opts.S3UsEast1RegionalEndpoint = endpoints.RegionalS3UsEast1Endpoint
+ opts.ResolvedRegion = resolvedRegion
+ opts.Logger = r.Config.Logger
+ opts.LogDeprecated = r.Config.LogLevel.Matches(aws.LogDebugWithDeprecated)
})
}
diff --git a/vendor/github.com/aws/aws-sdk-go/service/s3/service.go b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
index 1b78b5d45..9486f2470 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/s3/service.go
@@ -51,22 +51,23 @@ func New(p client.ConfigProvider, cfgs ...*aws.Config) *S3 {
if c.SigningNameDerived || len(c.SigningName) == 0 {
c.SigningName = "s3"
}
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
+ return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *S3 {
+func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *S3 {
svc := &S3{
Client: client.New(
cfg,
metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2006-03-01",
+ ServiceName: ServiceName,
+ ServiceID: ServiceID,
+ SigningName: signingName,
+ SigningRegion: signingRegion,
+ PartitionID: partitionID,
+ Endpoint: endpoint,
+ APIVersion: "2006-03-01",
+ ResolvedRegion: resolvedRegion,
},
handlers,
),
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sso/api.go b/vendor/github.com/aws/aws-sdk-go/service/sso/api.go
index e3711e642..948f060ca 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sso/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sso/api.go
@@ -550,7 +550,7 @@ func (s *AccountInfo) SetEmailAddress(v string) *AccountInfo {
}
type GetRoleCredentialsInput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" nopayload:"true"`
// The token issued by the CreateToken API call. For more information, see CreateToken
// (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateToken.html)
@@ -726,7 +726,7 @@ func (s *InvalidRequestException) RequestID() string {
}
type ListAccountRolesInput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" nopayload:"true"`
// The token issued by the CreateToken API call. For more information, see CreateToken
// (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateToken.html)
@@ -855,7 +855,7 @@ func (s *ListAccountRolesOutput) SetRoleList(v []*RoleInfo) *ListAccountRolesOut
}
type ListAccountsInput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" nopayload:"true"`
// The token issued by the CreateToken API call. For more information, see CreateToken
// (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateToken.html)
@@ -970,7 +970,7 @@ func (s *ListAccountsOutput) SetNextToken(v string) *ListAccountsOutput {
}
type LogoutInput struct {
- _ struct{} `type:"structure"`
+ _ struct{} `type:"structure" nopayload:"true"`
// The token issued by the CreateToken API call. For more information, see CreateToken
// (https://docs.aws.amazon.com/singlesignon/latest/OIDCAPIReference/API_CreateToken.html)
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sso/service.go b/vendor/github.com/aws/aws-sdk-go/service/sso/service.go
index 35175331f..7a28dc797 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sso/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sso/service.go
@@ -52,22 +52,23 @@ func New(p client.ConfigProvider, cfgs ...*aws.Config) *SSO {
if c.SigningNameDerived || len(c.SigningName) == 0 {
c.SigningName = "awsssoportal"
}
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
+ return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *SSO {
+func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *SSO {
svc := &SSO{
Client: client.New(
cfg,
metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2019-06-10",
+ ServiceName: ServiceName,
+ ServiceID: ServiceID,
+ SigningName: signingName,
+ SigningRegion: signingRegion,
+ PartitionID: partitionID,
+ Endpoint: endpoint,
+ APIVersion: "2019-06-10",
+ ResolvedRegion: resolvedRegion,
},
handlers,
),
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
index a1a8a0952..718409b54 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/api.go
@@ -63,14 +63,15 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// or for cross-account access. For a comparison of AssumeRole with other API
// operations that produce temporary credentials, see Requesting Temporary Security
// Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)
-// and Comparing the STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
+// and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
// Permissions
//
// The temporary security credentials created by AssumeRole can be used to make
// API calls to any Amazon Web Services service with the following exception:
-// You cannot call the STS GetFederationToken or GetSessionToken API operations.
+// You cannot call the Amazon Web Services STS GetFederationToken or GetSessionToken
+// API operations.
//
// (Optional) You can pass inline or managed session policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// to this operation. You can pass a single JSON policy document to use as an
@@ -86,26 +87,33 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
// For more information, see Session Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
// in the IAM User Guide.
//
-// To assume a role from a different account, your account must be trusted by
-// the role. The trust relationship is defined in the role's trust policy when
-// the role is created. That trust policy states which accounts are allowed
-// to delegate that access to users in the account.
+// When you create a role, you create two policies: A role trust policy that
+// specifies who can assume the role and a permissions policy that specifies
+// what can be done with the role. You specify the trusted principal who is
+// allowed to assume the role in the role trust policy.
+//
+// To assume a role from a different account, your Amazon Web Services account
+// must be trusted by the role. The trust relationship is defined in the role's
+// trust policy when the role is created. That trust policy states which accounts
+// are allowed to delegate that access to users in the account.
//
// A user who wants to access a role in a different account must also have permissions
// that are delegated from the user account administrator. The administrator
// must attach a policy that allows the user to call AssumeRole for the ARN
-// of the role in the other account. If the user is in the same account as the
-// role, then you can do either of the following:
+// of the role in the other account.
//
-// * Attach a policy to the user (identical to the previous user in a different
-// account).
+// To allow a user to assume a role in the same account, you can do either of
+// the following:
+//
+// * Attach a policy to the user that allows the user to call AssumeRole
+// (as long as the role's trust policy trusts the account).
//
// * Add the user as a principal directly in the role's trust policy.
//
-// In this case, the trust policy acts as an IAM resource-based policy. Users
-// in the same account as the role do not need explicit permission to assume
-// the role. For more information about trust policies and resource-based policies,
-// see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
+// You can do either because the role’s trust policy acts as an IAM resource-based
+// policy. When a resource-based policy grants access to a principal in the
+// same account, no additional identity-based policy is required. For more information
+// about trust policies and resource-based policies, see IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
// in the IAM User Guide.
//
// Tags
@@ -170,7 +178,7 @@ func (c *STS) AssumeRoleRequest(input *AssumeRoleInput) (req *request.Request, o
//
// You could receive this error even though you meet other defined session policy
// and session tag limits. For more information, see IAM and STS Entity Character
-// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length)
// in the IAM User Guide.
//
// * ErrCodeRegionDisabledException "RegionDisabledException"
@@ -258,7 +266,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
// Services access without user-specific credentials or configuration. For a
// comparison of AssumeRoleWithSAML with the other API operations that produce
// temporary credentials, see Requesting Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)
-// and Comparing the STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
+// and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
// The temporary security credentials returned by this operation consist of
@@ -403,7 +411,7 @@ func (c *STS) AssumeRoleWithSAMLRequest(input *AssumeRoleWithSAMLInput) (req *re
//
// You could receive this error even though you meet other defined session policy
// and session tag limits. For more information, see IAM and STS Entity Character
-// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length)
// in the IAM User Guide.
//
// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
@@ -499,8 +507,9 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
//
// Returns a set of temporary security credentials for users who have been authenticated
// in a mobile or web application with a web identity provider. Example providers
-// include Amazon Cognito, Login with Amazon, Facebook, Google, or any OpenID
-// Connect-compatible identity provider.
+// include the OAuth 2.0 providers Login with Amazon and Facebook, or any OpenID
+// Connect-compatible identity provider such as Google or Amazon Cognito federated
+// identities (https://docs.aws.amazon.com/cognito/latest/developerguide/cognito-identity.html).
//
// For mobile applications, we recommend that you use Amazon Cognito. You can
// use Amazon Cognito with the Amazon Web Services SDK for iOS Developer Guide
@@ -523,7 +532,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
// by using a token from the web identity provider. For a comparison of AssumeRoleWithWebIdentity
// with the other API operations that produce temporary credentials, see Requesting
// Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)
-// and Comparing the STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
+// and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
// The temporary security credentials returned by this API consist of an access
@@ -661,7 +670,7 @@ func (c *STS) AssumeRoleWithWebIdentityRequest(input *AssumeRoleWithWebIdentityI
//
// You could receive this error even though you meet other defined session policy
// and session tag limits. For more information, see IAM and STS Entity Character
-// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length)
// in the IAM User Guide.
//
// * ErrCodeIDPRejectedClaimException "IDPRejectedClaim"
@@ -776,10 +785,11 @@ func (c *STS) DecodeAuthorizationMessageRequest(input *DecodeAuthorizationMessag
// code.
//
// The message is encoded because the details of the authorization status can
-// constitute privileged information that the user who requested the operation
+// contain privileged information that the user who requested the operation
// should not see. To decode an authorization status message, a user must be
-// granted permissions via an IAM policy to request the DecodeAuthorizationMessage
-// (sts:DecodeAuthorizationMessage) action.
+// granted permissions through an IAM policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html)
+// to request the DecodeAuthorizationMessage (sts:DecodeAuthorizationMessage)
+// action.
//
// The decoded message includes the following type of information:
//
@@ -1065,7 +1075,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// For a comparison of GetFederationToken with the other API operations that
// produce temporary credentials, see Requesting Temporary Security Credentials
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)
-// and Comparing the STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
+// and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
// You can create a mobile-based or browser-based app that can authenticate
@@ -1088,9 +1098,9 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
//
// The temporary credentials are valid for the specified duration, from 900
// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default
-// session duration is 43,200 seconds (12 hours). Temporary credentials that
-// are obtained by using Amazon Web Services account root user credentials have
-// a maximum duration of 3,600 seconds (1 hour).
+// session duration is 43,200 seconds (12 hours). Temporary credentials obtained
+// by using the Amazon Web Services account root user credentials have a maximum
+// duration of 3,600 seconds (1 hour).
//
// Permissions
//
@@ -1141,63 +1151,6 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_assumerolewithwebidentity)
// in the IAM User Guide.
//
-// You can also call GetFederationToken using the security credentials of an
-// Amazon Web Services account root user, but we do not recommend it. Instead,
-// we recommend that you create an IAM user for the purpose of the proxy application.
-// Then attach a policy to the IAM user that limits federated users to only
-// the actions and resources that they need to access. For more information,
-// see IAM Best Practices (https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
-// in the IAM User Guide.
-//
-// Session duration
-//
-// The temporary credentials are valid for the specified duration, from 900
-// seconds (15 minutes) up to a maximum of 129,600 seconds (36 hours). The default
-// session duration is 43,200 seconds (12 hours). Temporary credentials that
-// are obtained by using Amazon Web Services account root user credentials have
-// a maximum duration of 3,600 seconds (1 hour).
-//
-// Permissions
-//
-// You can use the temporary credentials created by GetFederationToken in any
-// Amazon Web Services service except the following:
-//
-// * You cannot call any IAM operations using the CLI or the Amazon Web Services
-// API.
-//
-// * You cannot call any STS operations except GetCallerIdentity.
-//
-// You must pass an inline or managed session policy (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
-// to this operation. You can pass a single JSON policy document to use as an
-// inline session policy. You can also specify up to 10 managed policies to
-// use as managed session policies. The plain text that you use for both inline
-// and managed session policies can't exceed 2,048 characters.
-//
-// Though the session policy parameters are optional, if you do not pass a policy,
-// then the resulting federated user session has no permissions. When you pass
-// session policies, the session permissions are the intersection of the IAM
-// user policies and the session policies that you pass. This gives you a way
-// to further restrict the permissions for a federated user. You cannot use
-// session policies to grant more permissions than those that are defined in
-// the permissions policy of the IAM user. For more information, see Session
-// Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_session)
-// in the IAM User Guide. For information about using GetFederationToken to
-// create temporary security credentials, see GetFederationToken—Federation
-// Through a Custom Identity Broker (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#api_getfederationtoken).
-//
-// You can use the credentials to access a resource that has a resource-based
-// policy. If that policy specifically references the federated user session
-// in the Principal element of the policy, the session has the permissions allowed
-// by the policy. These permissions are granted in addition to the permissions
-// granted by the session policies.
-//
-// Tags
-//
-// (Optional) You can pass tag key-value pairs to your session. These are called
-// session tags. For more information about session tags, see Passing Session
-// Tags in STS (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
-// in the IAM User Guide.
-//
// An administrator must grant you the permissions necessary to pass session
// tags. The administrator can also create granular permissions to allow you
// to pass only specific session tags. For more information, see Tutorial: Using
@@ -1234,7 +1187,7 @@ func (c *STS) GetFederationTokenRequest(input *GetFederationTokenInput) (req *re
//
// You could receive this error even though you meet other defined session policy
// and session tag limits. For more information, see IAM and STS Entity Character
-// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+// Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length)
// in the IAM User Guide.
//
// * ErrCodeRegionDisabledException "RegionDisabledException"
@@ -1323,7 +1276,7 @@ func (c *STS) GetSessionTokenRequest(input *GetSessionTokenInput) (req *request.
// then the API returns an access denied error. For a comparison of GetSessionToken
// with the other API operations that produce temporary credentials, see Requesting
// Temporary Security Credentials (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html)
-// and Comparing the STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
+// and Comparing the Amazon Web Services STS API operations (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html#stsapi_comparison)
// in the IAM User Guide.
//
// Session Duration
@@ -1404,15 +1357,23 @@ func (c *STS) GetSessionTokenWithContext(ctx aws.Context, input *GetSessionToken
type AssumeRoleInput struct {
_ struct{} `type:"structure"`
- // The duration, in seconds, of the role session. The value specified can can
- // range from 900 seconds (15 minutes) up to the maximum session duration that
- // is set for the role. The maximum session duration setting can have a value
- // from 1 hour to 12 hours. If you specify a value higher than this setting
- // or the administrator setting (whichever is lower), the operation fails. For
- // example, if you specify a session duration of 12 hours, but your administrator
- // set the maximum session duration to 6 hours, your operation fails. To learn
- // how to view the maximum value for your role, see View the Maximum Session
- // Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
+ // The duration, in seconds, of the role session. The value specified can range
+ // from 900 seconds (15 minutes) up to the maximum session duration set for
+ // the role. The maximum session duration setting can have a value from 1 hour
+ // to 12 hours. If you specify a value higher than this setting or the administrator
+ // setting (whichever is lower), the operation fails. For example, if you specify
+ // a session duration of 12 hours, but your administrator set the maximum session
+ // duration to 6 hours, your operation fails.
+ //
+ // Role chaining limits your Amazon Web Services CLI or Amazon Web Services
+ // API role session to a maximum of one hour. When you use the AssumeRole API
+ // operation to assume a role, you can specify the duration of your role session
+ // with the DurationSeconds parameter. You can specify a parameter value of
+ // up to 43200 seconds (12 hours), depending on the maximum session duration
+ // setting for your role. However, if you assume a role using role chaining
+ // and provide a DurationSeconds parameter value greater than one hour, the
+ // operation fails. To learn how to view the maximum value for your role, see
+ // View the Maximum Session Duration Setting for a Role (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use.html#id_roles_use_view-role-max-session)
// in the IAM User Guide.
//
// By default, the value is set to 3600 seconds.
@@ -1422,7 +1383,7 @@ type AssumeRoleInput struct {
// to the federation endpoint for a console sign-in token takes a SessionDuration
// parameter that specifies the maximum length of the console session. For more
// information, see Creating a URL that Enables Federated Users to Access the
- // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
+ // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
// in the IAM User Guide.
DurationSeconds *int64 `min:"900" type:"integer"`
@@ -1548,7 +1509,7 @@ type AssumeRoleInput struct {
// A list of session tags that you want to pass. Each session tag consists of
// a key name and an associated value. For more information about session tags,
- // see Tagging STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
+ // see Tagging Amazon Web Services STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
// in the IAM User Guide.
//
// This parameter is optional. You can pass up to 50 session tags. The plaintext
@@ -1577,7 +1538,7 @@ type AssumeRoleInput struct {
// the new session inherits any transitive session tags from the calling session.
// If you pass a session tag with the same key as an inherited tag, the operation
// fails. To view the inherited tags for a session, see the CloudTrail logs.
- // For more information, see Viewing Session Tags in CloudTrail (https://docs.aws.amazon.com/IAM/latest/UserGuide/session-tags.html#id_session-tags_ctlogs)
+ // For more information, see Viewing Session Tags in CloudTrail (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html#id_session-tags_ctlogs)
// in the IAM User Guide.
Tags []*Tag `type:"list"`
@@ -1858,7 +1819,7 @@ type AssumeRoleWithSAMLInput struct {
// to the federation endpoint for a console sign-in token takes a SessionDuration
// parameter that specifies the maximum length of the console session. For more
// information, see Creating a URL that Enables Federated Users to Access the
- // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
+ // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
// in the IAM User Guide.
DurationSeconds *int64 `min:"900" type:"integer"`
@@ -2205,7 +2166,7 @@ type AssumeRoleWithWebIdentityInput struct {
// to the federation endpoint for a console sign-in token takes a SessionDuration
// parameter that specifies the maximum length of the console session. For more
// information, see Creating a URL that Enables Federated Users to Access the
- // Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
+ // Amazon Web Services Management Console (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_enable-console-custom-url.html)
// in the IAM User Guide.
DurationSeconds *int64 `min:"900" type:"integer"`
@@ -2260,11 +2221,12 @@ type AssumeRoleWithWebIdentityInput struct {
// in the IAM User Guide.
PolicyArns []*PolicyDescriptorType `type:"list"`
- // The fully qualified host component of the domain name of the identity provider.
+ // The fully qualified host component of the domain name of the OAuth 2.0 identity
+ // provider. Do not specify this value for an OpenID Connect identity provider.
//
- // Specify this value only for OAuth 2.0 access tokens. Currently www.amazon.com
- // and graph.facebook.com are the only supported identity providers for OAuth
- // 2.0 access tokens. Do not include URL schemes and port numbers.
+ // Currently www.amazon.com and graph.facebook.com are the only supported identity
+ // providers for OAuth 2.0 access tokens. Do not include URL schemes and port
+ // numbers.
//
// Do not specify this value for OpenID Connect ID tokens.
ProviderId *string `min:"4" type:"string"`
@@ -2705,7 +2667,7 @@ func (s *DecodeAuthorizationMessageInput) SetEncodedMessage(v string) *DecodeAut
type DecodeAuthorizationMessageOutput struct {
_ struct{} `type:"structure"`
- // An XML document that contains the decoded message.
+ // The API returns a response with the decoded message.
DecodedMessage *string `type:"string"`
}
@@ -3237,8 +3199,8 @@ type GetSessionTokenInput struct {
// user has a policy that requires MFA authentication. The value is either the
// serial number for a hardware device (such as GAHT12345678) or an Amazon Resource
// Name (ARN) for a virtual device (such as arn:aws:iam::123456789012:mfa/user).
- // You can find the device for an IAM user by going to the Management Console
- // and viewing the user's security credentials.
+ // You can find the device for an IAM user by going to the Amazon Web Services
+ // Management Console and viewing the user's security credentials.
//
// The regex used to validate this parameter is a string of characters consisting
// of upper- and lower-case alphanumeric characters with no spaces. You can
@@ -3400,9 +3362,9 @@ func (s *PolicyDescriptorType) SetArn(v string) *PolicyDescriptorType {
// You can pass custom key-value pair attributes when you assume a role or federate
// a user. These are called session tags. You can then use the session tags
-// to control access to resources. For more information, see Tagging STS Sessions
-// (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html) in
-// the IAM User Guide.
+// to control access to resources. For more information, see Tagging Amazon
+// Web Services STS Sessions (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_session-tags.html)
+// in the IAM User Guide.
type Tag struct {
_ struct{} `type:"structure"`
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
index 7897d70c8..b680bbd5d 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/errors.go
@@ -67,7 +67,7 @@ const (
//
// You could receive this error even though you meet other defined session policy
// and session tag limits. For more information, see IAM and STS Entity Character
- // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_enable-regions.html)
+ // Limits (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-limits-entity-length)
// in the IAM User Guide.
ErrCodePackedPolicyTooLargeException = "PackedPolicyTooLarge"
diff --git a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
index d34a68553..f324ff108 100644
--- a/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
+++ b/vendor/github.com/aws/aws-sdk-go/service/sts/service.go
@@ -48,22 +48,27 @@ const (
// svc := sts.New(mySession, aws.NewConfig().WithRegion("us-west-2"))
func New(p client.ConfigProvider, cfgs ...*aws.Config) *STS {
c := p.ClientConfig(EndpointsID, cfgs...)
- return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName)
+ if c.SigningNameDerived || len(c.SigningName) == 0 {
+ c.SigningName = EndpointsID
+ // No Fallback
+ }
+ return newClient(*c.Config, c.Handlers, c.PartitionID, c.Endpoint, c.SigningRegion, c.SigningName, c.ResolvedRegion)
}
// newClient creates, initializes and returns a new service client instance.
-func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName string) *STS {
+func newClient(cfg aws.Config, handlers request.Handlers, partitionID, endpoint, signingRegion, signingName, resolvedRegion string) *STS {
svc := &STS{
Client: client.New(
cfg,
metadata.ClientInfo{
- ServiceName: ServiceName,
- ServiceID: ServiceID,
- SigningName: signingName,
- SigningRegion: signingRegion,
- PartitionID: partitionID,
- Endpoint: endpoint,
- APIVersion: "2011-06-15",
+ ServiceName: ServiceName,
+ ServiceID: ServiceID,
+ SigningName: signingName,
+ SigningRegion: signingRegion,
+ PartitionID: partitionID,
+ Endpoint: endpoint,
+ APIVersion: "2011-06-15",
+ ResolvedRegion: resolvedRegion,
},
handlers,
),
diff --git a/vendor/github.com/go-openapi/analysis/.gitattributes b/vendor/github.com/go-openapi/analysis/.gitattributes
new file mode 100644
index 000000000..d020be8ea
--- /dev/null
+++ b/vendor/github.com/go-openapi/analysis/.gitattributes
@@ -0,0 +1,2 @@
+*.go text eol=lf
+
diff --git a/vendor/github.com/go-openapi/analysis/.golangci.yml b/vendor/github.com/go-openapi/analysis/.golangci.yml
index b5ba920b2..8cad29879 100644
--- a/vendor/github.com/go-openapi/analysis/.golangci.yml
+++ b/vendor/github.com/go-openapi/analysis/.golangci.yml
@@ -50,3 +50,4 @@ linters:
- ifshort
- forbidigo
- cyclop
+ - varnamelen
diff --git a/vendor/github.com/go-openapi/analysis/.travis.yml b/vendor/github.com/go-openapi/analysis/.travis.yml
deleted file mode 100644
index 0d1dff217..000000000
--- a/vendor/github.com/go-openapi/analysis/.travis.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-language: go
-go:
-- 1.x
-arch:
-- amd64
-- arm64
-- ppc64le
-install:
-- go get gotest.tools/gotestsum
-jobs:
- include:
- # include older golang
- - go: 1.15.x
- arch:
- - amd64
- script:
- - gotestsum -f short-with-failures -- -timeout=10m ./...
-
- # include osx, but only for latest go version - skip testing for race
- - go: 1.x
- os:
- - osx
- script:
- - gotestsum -f short-with-failures -- -timeout=10m ./...
-
- # include linting check job, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-
- # include race test, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- script:
- - gotestsum -f short-with-failures -- -timeout=20m -race ./...
-
- # include long test and test coverage collection, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- script:
- - gotestsum -f short-with-failures -- -timeout=20m -covermode=atomic -coverprofile=coverage.txt -coverpkg "./..." ./... -args -enable-long
- after_success:
- - bash <(curl -s https://codecov.io/bash)
-
-notifications:
- slack:
- secure: Sf7kZf7ZGbnwWUMpffHwMu5A0cHkLK2MYY32LNTPj4+/3qC3Ghl7+9v4TSLOqOlCwdRNjOGblAq7s+GDJed6/xgRQl1JtCi1klzZNrYX4q01pgTPvvGcwbBkIYgeMaPeIRcK9OZnud7sRXdttozgTOpytps2U6Js32ip7uj5mHSg2ub0FwoSJwlS6dbezZ8+eDhoha0F/guY99BEwx8Bd+zROrT2TFGsSGOFGN6wFc7moCqTHO/YkWib13a2QNXqOxCCVBy/lt76Wp+JkeFppjHlzs/2lP3EAk13RIUAaesdEUHvIHrzCyNJEd3/+KO2DzsWOYfpktd+KBCvgaYOsoo7ubdT3IROeAegZdCgo/6xgCEsmFc9ZcqCfN5yNx2A+BZ2Vwmpws+bQ1E1+B5HDzzaiLcYfG4X2O210QVGVDLWsv1jqD+uPYeHY2WRfh5ZsIUFvaqgUEnwHwrK44/8REAhQavt1QAj5uJpsRd7CkRVPWRNK+yIky+wgbVUFEchRNmS55E7QWf+W4+4QZkQi7vUTMc9nbTUu2Es9NfvfudOpM2wZbn98fjpb/qq/nRv6Bk+ca+7XD5/IgNLMbWp2ouDdzbiHLCOfDUiHiDJhLfFZx9Bwo7ZwfzeOlbrQX66bx7xRKYmOe4DLrXhNcpbsMa8qbfxlZRCmYbubB/Y8h4=
-script:
-- gotestsum -f short-with-failures -- -timeout=10m ./...
diff --git a/vendor/github.com/go-openapi/analysis/go.mod b/vendor/github.com/go-openapi/analysis/go.mod
index be9584c98..66b39b3a2 100644
--- a/vendor/github.com/go-openapi/analysis/go.mod
+++ b/vendor/github.com/go-openapi/analysis/go.mod
@@ -1,12 +1,14 @@
module github.com/go-openapi/analysis
require (
+ github.com/go-openapi/errors v0.19.9 // indirect
github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/loads v0.20.2
- github.com/go-openapi/spec v0.20.3
- github.com/go-openapi/strfmt v0.20.0
- github.com/go-openapi/swag v0.19.14
+ github.com/go-openapi/spec v0.20.4
+ github.com/go-openapi/strfmt v0.21.0
+ github.com/go-openapi/swag v0.19.15
+ github.com/mitchellh/mapstructure v1.4.1 // indirect
github.com/stretchr/testify v1.7.0
+ gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
)
go 1.13
diff --git a/vendor/github.com/go-openapi/analysis/go.sum b/vendor/github.com/go-openapi/analysis/go.sum
index 3125af33f..539ad6fe3 100644
--- a/vendor/github.com/go-openapi/analysis/go.sum
+++ b/vendor/github.com/go-openapi/analysis/go.sum
@@ -1,137 +1,29 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
-github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
-github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
-github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.3 h1:7MGZI1ibQDLasvAz8HuhvYk9eNJbJkCOXWsSjjMS+Zc=
-github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.8 h1:doM+tQdZbUm9gydV9yR+iQNmztbjj7I3sW4sIcAwIzc=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9 h1:9SnKdGhiPZHF3ttwFMiCBEb8jQ4IDdrK+5+a0oTygA4=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0 h1:wCOBNscACI8L93tt5tvB2zOMkJ098XCw3fP0BY2ybDA=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
-github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
-github.com/go-openapi/loads v0.19.6 h1:6IAtnx22MNSjPocZZ2sV7EjgF6wW5rDC9r6ZkNxjiN8=
-github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.20.0 h1:Pymw1O8zDmWeNv4kVsHd0W3cvgdp8juRa4U/U/8D/Pk=
-github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
-github.com/go-openapi/loads v0.20.2 h1:z5p5Xf5wujMxS1y8aP+vxwW5qYT2zdJBbXKmQUG3lcc=
-github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
-github.com/go-openapi/runtime v0.19.16 h1:tQMAY5s5BfmmCC31+ufDCsGrr8iO1A8UIdYfDo5ADvs=
-github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
-github.com/go-openapi/runtime v0.19.24 h1:TqagMVlRAOTwllE/7hNKx6rQ10O6T8ZzeJdMjSTKaD4=
-github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
-github.com/go-openapi/spec v0.20.3 h1:uH9RQ6vdyPSs2pSy9fL8QPspDF2AMIMPtmK5coSSjtQ=
-github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2 h1:clPGfBnJohokno0e+d7hs6Yocrzjlgz6EsQSDncCRnE=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.4 h1:eRvaqAhpL0IL6Trh5fDsGnGhiXndzHFuA05w6sXH6/g=
-github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.11 h1:0+YvbNh05rmBkgztd6zHp4OCFn7Mtu30bn46NQo2ZRw=
-github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/strfmt v0.20.0 h1:l2omNtmNbMc39IGptl9BuXBEKcZfS8zjrTsPKTiJiDM=
-github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
+github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
+github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
+github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
+github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
+github.com/go-openapi/strfmt v0.21.0 h1:hX2qEZKmYks+t0hKeb4VTJpUm2UYsdL3+DCid5swxIs=
+github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.7 h1:VRuXN2EnMSsZdauzdss6JBC29YotDqG59BZ+tdlIL1s=
-github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.12 h1:Bc0bnY2c3AoF7Gc+IMIAQQsD8fLHjHpc19wXvYuayQI=
-github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
-github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng=
-github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
-github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
-github.com/go-openapi/validate v0.19.12 h1:mPLM/bfbd00PGOCJlU0yJL7IulkZ+q9VjPv7U11RMQQ=
-github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
-github.com/go-openapi/validate v0.19.15 h1:oUHZO8jD7p5oRLANlXF0U8ic9ePBUkDQyRZdN0EhL6M=
-github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
-github.com/go-openapi/validate v0.20.1 h1:QGQ5CvK74E28t3DkegGweKR+auemUi5IdpMc4x3UW6s=
-github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
-github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
+github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
@@ -159,72 +51,47 @@ github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGt
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.0 h1:7ks8ZkOP5/ujthUsT07rNv+nkLXCQWKNHuwzOAesEks=
-github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -232,114 +99,64 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
-go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1 h1:Sq1fR+0c58RME5EoqKdjkiQAmPjmfHlZOoRI6fTUOcs=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.3.0 h1:ew6uUIeJOo+qdUUv7LxFCUhtWmVv7ZV/Xuy4FAUsw2E=
-go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.4 h1:zs/dKNwX0gYUtzwrN9lLiR15hCO0nDwQj5xXx+vjCdE=
-go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.4.3 h1:moga+uhicpVshTyaqY9L23E6QqwcHRUv1sqyOsoyOO8=
-go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.4 h1:bsPHfODES+/yx2PCWzUYMH8xj6PVniPI8DQrsJuSXSs=
-go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.6 h1:rh7GdYmDrb8AQSkF8yteAus8qYOgOASWDOv1BWqBXkU=
-go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
+github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+go.mongodb.org/mongo-driver v1.7.3 h1:G4l/eYY9VrQAK/AUgkV0koQKzQnyddnWxrd/Etf0jIs=
+go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
-golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758 h1:aEpZnXcAmXkd6AvLb2OPt+EN1Zu/8Ne3pCqPjja5PXY=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/go-openapi/errors/.gitattributes b/vendor/github.com/go-openapi/errors/.gitattributes
new file mode 100644
index 000000000..a0717e4b3
--- /dev/null
+++ b/vendor/github.com/go-openapi/errors/.gitattributes
@@ -0,0 +1 @@
+*.go text eol=lf
\ No newline at end of file
diff --git a/vendor/github.com/go-openapi/errors/.golangci.yml b/vendor/github.com/go-openapi/errors/.golangci.yml
index ee3b32696..449a43c2b 100644
--- a/vendor/github.com/go-openapi/errors/.golangci.yml
+++ b/vendor/github.com/go-openapi/errors/.golangci.yml
@@ -41,3 +41,6 @@ linters:
- errorlint
- paralleltest
- tparallel
+ - cyclop
+ - errname
+ - varnamelen
diff --git a/vendor/github.com/go-openapi/errors/.travis.yml b/vendor/github.com/go-openapi/errors/.travis.yml
deleted file mode 100644
index e4a01bfd4..000000000
--- a/vendor/github.com/go-openapi/errors/.travis.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-go:
-- 1.14.x
-- 1.x
-arch:
- - amd64
-jobs:
- include:
- # only run fast tests on ppc64le
- - go: 1.x
- arch: ppc64le
- script:
- - gotestsum -f short-verbose -- ./...
-
- # include linting job, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-install:
-- GO111MODULE=off go get -u gotest.tools/gotestsum
-language: go
-notifications:
- slack:
- secure: gZGp9NaHxi7zawlXJXKY92BGeDR1x0tbIcTyU5nMKLq0fhIaiEBJEeALwZ4VgqsSv3DytSSF5mLH8fevAM3ixE6hxjKQ+lQuf7V/w3btCN1CSWgoua5LOh1kTnqZQtJuRvO4pzoJcT3bJWBsVZ07VGNVzzJEy/zAKCHFqBUCXShw7QemlLBcYWFNqveTlvDIfCzvouoLnPoXwxEpkjxe9uz/ZKZgAnup/fXjC8RFctmgCnkCyvJTk0Y/fZCsufixJrJhshBWTnlrFCzRmgNkz2d+i1Ls3+MJ5EJJ2Tx/A5S63dL49J1f9Kr0AKHADmulSy8JNzIckKwbyFMYUecrsW+Lsu9DhnVMy1jj5pKsJDLRi2iIU3fXTMWbcyQbXjbbnBO2mPdP3Tzme75y4D9fc8hUPeyqVv2BU26NEbQ7EF2pKJ93OXvci7HlwRBgdJa8j6mP2LEDClcPQW00g7N/OZe0cTOMa8L5AwiBlbArwqt9wv6YLJoTG0wpDhzWsFvbCg5bJxe28Yn3fIDD0Lk1I7iSnBbp/5gzF19jmxqvcT8tHRkDL4xfjbENFTZjA5uB4Z4pj4WSyWQILLV/Jwhe3fi9uQwdviFHfj5pnVrmNUiGSOQL672K5wl2c3E9mGwejvsu2dfEz28n7Y/FUnOpY3/cBS0n27JJaerS0zMKNLE=
-script:
-- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./...
diff --git a/vendor/github.com/go-openapi/loads/.travis.yml b/vendor/github.com/go-openapi/loads/.travis.yml
index 9a65c1296..cd4a7c331 100644
--- a/vendor/github.com/go-openapi/loads/.travis.yml
+++ b/vendor/github.com/go-openapi/loads/.travis.yml
@@ -1,11 +1,14 @@
after_success:
- bash <(curl -s https://codecov.io/bash)
go:
-- 1.14.x
+- 1.16.x
- 1.x
install:
- go get gotest.tools/gotestsum
language: go
+arch:
+- amd64
+- ppc64le
jobs:
include:
# include linting job, but only for latest go version and amd64 arch
diff --git a/vendor/github.com/go-openapi/loads/README.md b/vendor/github.com/go-openapi/loads/README.md
index 8071d6c95..df1f62646 100644
--- a/vendor/github.com/go-openapi/loads/README.md
+++ b/vendor/github.com/go-openapi/loads/README.md
@@ -1,4 +1,4 @@
-# Loads OAI specs [![Build Status](https://travis-ci.org/go-openapi/loads.svg?branch=master)](https://travis-ci.org/go-openapi/loads) [![codecov](https://codecov.io/gh/go-openapi/loads/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/loads) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io)
+# Loads OAI specs [![Build Status](https://travis-ci.org/go-openapi/loads.svg?branch=master)](https://travis-ci.org/go-openapi/loads) [![codecov](https://codecov.io/gh/go-openapi/loads/branch/master/graph/badge.svg)](https://codecov.io/gh/go-openapi/loads) [![Slack Status](https://slackin.goswagger.io/badge.svg)](https://slackin.goswagger.io) [![Actions/Go Test Status](https://github.com/go-openapi/loads/workflows/Go%20Test/badge.svg)](https://github.com/go-openapi/loads/actions?query=workflow%3A"Go+Test")
[![license](http://img.shields.io/badge/license-Apache%20v2-orange.svg)](https://raw.githubusercontent.com/go-openapi/loads/master/LICENSE) [![GoDoc](https://godoc.org/github.com/go-openapi/loads?status.svg)](http://godoc.org/github.com/go-openapi/loads)
[![Go Report Card](https://goreportcard.com/badge/github.com/go-openapi/loads)](https://goreportcard.com/report/github.com/go-openapi/loads)
diff --git a/vendor/github.com/go-openapi/loads/go.mod b/vendor/github.com/go-openapi/loads/go.mod
index e20b75f54..5a7be3f36 100644
--- a/vendor/github.com/go-openapi/loads/go.mod
+++ b/vendor/github.com/go-openapi/loads/go.mod
@@ -1,16 +1,10 @@
module github.com/go-openapi/loads
require (
- github.com/go-openapi/analysis v0.19.16
- github.com/go-openapi/spec v0.20.1
- github.com/go-openapi/strfmt v0.20.0
- github.com/go-openapi/swag v0.19.13
- github.com/go-openapi/validate v0.20.1
- github.com/mitchellh/mapstructure v1.4.1 // indirect
- github.com/stretchr/testify v1.6.1
- go.mongodb.org/mongo-driver v1.4.6 // indirect
- golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect
- golang.org/x/text v0.3.5 // indirect
+ github.com/go-openapi/analysis v0.21.2
+ github.com/go-openapi/spec v0.20.4
+ github.com/go-openapi/swag v0.19.15
+ github.com/stretchr/testify v1.7.0
gopkg.in/yaml.v2 v2.4.0
)
diff --git a/vendor/github.com/go-openapi/loads/go.sum b/vendor/github.com/go-openapi/loads/go.sum
index 67ffcf6ff..d11e3f5c5 100644
--- a/vendor/github.com/go-openapi/loads/go.sum
+++ b/vendor/github.com/go-openapi/loads/go.sum
@@ -1,133 +1,31 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
-github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496 h1:zV3ejI06GQ59hwDQAvmK1qxOQGB3WuVTRoY0okPTAv0=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
-github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/analysis v0.19.10 h1:5BHISBAXOc/aJK25irLZnx2D3s6WyYaY9D4gmuz9fdE=
-github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
-github.com/go-openapi/analysis v0.19.16 h1:Ub9e++M8sDwtHD+S587TYi+6ANBG1NRYGZDihqk0SaY=
-github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.3 h1:7MGZI1ibQDLasvAz8HuhvYk9eNJbJkCOXWsSjjMS+Zc=
-github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.7 h1:Lcq+o0mSwCLKACMxZhreVHigB9ebghJ/lrmeaqASbjo=
-github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.8 h1:doM+tQdZbUm9gydV9yR+iQNmztbjj7I3sW4sIcAwIzc=
+github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
+github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9 h1:9SnKdGhiPZHF3ttwFMiCBEb8jQ4IDdrK+5+a0oTygA4=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
-github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
-github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
-github.com/go-openapi/runtime v0.19.16 h1:tQMAY5s5BfmmCC31+ufDCsGrr8iO1A8UIdYfDo5ADvs=
-github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
-github.com/go-openapi/runtime v0.19.24 h1:TqagMVlRAOTwllE/7hNKx6rQ10O6T8ZzeJdMjSTKaD4=
-github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.0 h1:HGLc8AJ7ynOxwv0Lq4TsnwLsWMawHAYiJIFzbcML86I=
-github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.1 h1:5WNKTzPguDN+79wbJw2UE2q+eX+gUmEFsIKSvnSQJlc=
-github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.4 h1:eRvaqAhpL0IL6Trh5fDsGnGhiXndzHFuA05w6sXH6/g=
-github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.11 h1:0+YvbNh05rmBkgztd6zHp4OCFn7Mtu30bn46NQo2ZRw=
-github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/strfmt v0.20.0 h1:l2omNtmNbMc39IGptl9BuXBEKcZfS8zjrTsPKTiJiDM=
-github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
+github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
+github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
+github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
+github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
+github.com/go-openapi/strfmt v0.21.0 h1:hX2qEZKmYks+t0hKeb4VTJpUm2UYsdL3+DCid5swxIs=
+github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.7 h1:VRuXN2EnMSsZdauzdss6JBC29YotDqG59BZ+tdlIL1s=
-github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.12 h1:Bc0bnY2c3AoF7Gc+IMIAQQsD8fLHjHpc19wXvYuayQI=
-github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
-github.com/go-openapi/swag v0.19.13 h1:233UVgMy1DlmCYYfOiFpta6e2urloh+sEs5id6lyzog=
-github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
-github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
-github.com/go-openapi/validate v0.19.12 h1:mPLM/bfbd00PGOCJlU0yJL7IulkZ+q9VjPv7U11RMQQ=
-github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
-github.com/go-openapi/validate v0.19.15 h1:oUHZO8jD7p5oRLANlXF0U8ic9ePBUkDQyRZdN0EhL6M=
-github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
-github.com/go-openapi/validate v0.20.1 h1:QGQ5CvK74E28t3DkegGweKR+auemUi5IdpMc4x3UW6s=
-github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
-github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
+github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
@@ -155,61 +53,38 @@ github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGt
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.0 h1:7ks8ZkOP5/ujthUsT07rNv+nkLXCQWKNHuwzOAesEks=
-github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -219,7 +94,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -227,117 +101,64 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
-go.mongodb.org/mongo-driver v1.0.3 h1:GKoji1ld3tw2aC+GX1wbr/J2fX13yNacEYoJ8Nhr0yU=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.3.0 h1:ew6uUIeJOo+qdUUv7LxFCUhtWmVv7ZV/Xuy4FAUsw2E=
-go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.4 h1:zs/dKNwX0gYUtzwrN9lLiR15hCO0nDwQj5xXx+vjCdE=
-go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.4.3 h1:moga+uhicpVshTyaqY9L23E6QqwcHRUv1sqyOsoyOO8=
-go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.4 h1:bsPHfODES+/yx2PCWzUYMH8xj6PVniPI8DQrsJuSXSs=
-go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.5 h1:TLtO+iD8krabXxvY1F1qpBOHgOxhLWR7XsT7kQeRmMY=
-go.mongodb.org/mongo-driver v1.4.5/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.6 h1:rh7GdYmDrb8AQSkF8yteAus8qYOgOASWDOv1BWqBXkU=
-go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
+github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+go.mongodb.org/mongo-driver v1.7.3 h1:G4l/eYY9VrQAK/AUgkV0koQKzQnyddnWxrd/Etf0jIs=
+go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
-golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b h1:0mm1VjtFUOIlE1SbDlwjYaDxZVDP2S5ou6y0gSgXHu8=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b h1:uwuIcX0g4Yl1NC5XAz37xsr2lTtcqevgzYNVt49waME=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b h1:iFwSg7t5GZmB/Q5TjiEAsdoLDrdJRC1RiF2WhuV29Qw=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758 h1:aEpZnXcAmXkd6AvLb2OPt+EN1Zu/8Ne3pCqPjja5PXY=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.8 h1:obN1ZagJSUGI0Ek/LBmuj4SNLPfIny3KsKFopxRdj10=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/go-openapi/runtime/.golangci.yml b/vendor/github.com/go-openapi/runtime/.golangci.yml
index 90f38cf84..b1aa7928a 100644
--- a/vendor/github.com/go-openapi/runtime/.golangci.yml
+++ b/vendor/github.com/go-openapi/runtime/.golangci.yml
@@ -1,6 +1,7 @@
linters-settings:
govet:
- check-shadowing: true
+ # Using err repeatedly considered as shadowing.
+ check-shadowing: false
golint:
min-confidence: 0
gocyclo:
diff --git a/vendor/github.com/go-openapi/runtime/.travis.yml b/vendor/github.com/go-openapi/runtime/.travis.yml
deleted file mode 100644
index a716f63e9..000000000
--- a/vendor/github.com/go-openapi/runtime/.travis.yml
+++ /dev/null
@@ -1,21 +0,0 @@
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-go:
-- 1.x
-install:
-- GO111MODULE=off go get -u gotest.tools/gotestsum
-jobs:
- include:
- # include linting job, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-language: go
-notifications:
- slack:
- secure: EmObnQuM9Mw8J9vpFaKKHqSMN4Wsr/A9+v7ewAD5cEhA0T1P4m7MbJMiJOhxUhj/X+BFh2DamW+P2lT8mybj5wg8wnkQ2BteKA8Tawi6f9PRw2NRheO8tAi8o/npLnlmet0kc93mn+oLuqHw36w4+j5mkOl2FghkfGiUVhwrhkCP7KXQN+3TU87e+/HzQumlJ3nsE+6terVxkH3PmaUTsS5ONaODZfuxFpfb7RsoEl3skHf6d+tr+1nViLxxly7558Nc33C+W1mr0qiEvMLZ+kJ/CpGWBJ6CUJM3jm6hNe2eMuIPwEK2hxZob8c7n22VPap4K6a0bBRoydoDXaba+2sD7Ym6ivDO/DVyL44VeBBLyIiIBylDGQdZH+6SoWm90Qe/i7tnY/T5Ao5igT8f3cfQY1c3EsTfqmlDfrhmACBmwSlgkdVBLTprHL63JMY24LWmh4jhxsmMRZhCL4dze8su1w6pLN/pD1pGHtKYCEVbdTmaM3PblNRFf12XB7qosmQsgUndH4Vq3bTbU0s1pKjeDhRyLvFzvR0TBbo0pDLEoF1A/i5GVFWa7yLZNUDudQERRh7qv/xBl2excIaQ1sV4DSVm7bAE9l6Kp+yeHQJW2uN6Y3X8wu9gB9nv9l5HBze7wh8KE6PyWAOLYYqZg9/sAtsv/2GcQqXcKFF1zcA=
-script:
-- gotestsum -f short-verbose -- -race -timeout=20m -coverprofile=coverage.txt -covermode=atomic ./...
diff --git a/vendor/github.com/go-openapi/runtime/bytestream.go b/vendor/github.com/go-openapi/runtime/bytestream.go
index 6601a7797..6eb6ceb5c 100644
--- a/vendor/github.com/go-openapi/runtime/bytestream.go
+++ b/vendor/github.com/go-openapi/runtime/bytestream.go
@@ -38,7 +38,7 @@ type byteStreamOpts struct {
Close bool
}
-// ByteStreamConsumer creates a consmer for byte streams,
+// ByteStreamConsumer creates a consumer for byte streams,
// takes a Writer/BinaryUnmarshaler interface or binary slice by reference,
// and reads from the provided reader
func ByteStreamConsumer(opts ...byteStreamOpt) Consumer {
@@ -58,6 +58,7 @@ func ByteStreamConsumer(opts ...byteStreamOpt) Consumer {
close = cl.Close
}
}
+ //nolint:errcheck // closing a reader wouldn't fail.
defer close()
if wrtr, ok := data.(io.Writer); ok {
@@ -76,6 +77,13 @@ func ByteStreamConsumer(opts ...byteStreamOpt) Consumer {
return bu.UnmarshalBinary(b)
}
+ if data != nil {
+ if str, ok := data.(*string); ok {
+ *str = string(b)
+ return nil
+ }
+ }
+
if t := reflect.TypeOf(data); data != nil && t.Kind() == reflect.Ptr {
v := reflect.Indirect(reflect.ValueOf(data))
if t = v.Type(); t.Kind() == reflect.Slice && t.Elem().Kind() == reflect.Uint8 {
@@ -107,6 +115,7 @@ func ByteStreamProducer(opts ...byteStreamOpt) Producer {
close = cl.Close
}
}
+ //nolint:errcheck // TODO: closing a writer would fail.
defer close()
if rc, ok := data.(io.ReadCloser); ok {
diff --git a/vendor/github.com/go-openapi/runtime/client/keepalive.go b/vendor/github.com/go-openapi/runtime/client/keepalive.go
index f83254515..e9c250d6a 100644
--- a/vendor/github.com/go-openapi/runtime/client/keepalive.go
+++ b/vendor/github.com/go-openapi/runtime/client/keepalive.go
@@ -46,7 +46,10 @@ func (d *drainingReadCloser) Read(p []byte) (n int, err error) {
func (d *drainingReadCloser) Close() error {
// drain buffer
if atomic.LoadUint32(&d.seenEOF) != 1 {
- //#nosec
+ // If the reader side (a HTTP server) is misbehaving, it still may send
+ // some bytes, but the closer ignores them to keep the underling
+ // connection open.
+ //nolint:errcheck
io.Copy(ioutil.Discard, d.rdr)
}
return d.rdr.Close()
diff --git a/vendor/github.com/go-openapi/runtime/client/request.go b/vendor/github.com/go-openapi/runtime/client/request.go
index 07ec972d6..d7dc564e9 100644
--- a/vendor/github.com/go-openapi/runtime/client/request.go
+++ b/vendor/github.com/go-openapi/runtime/client/request.go
@@ -93,6 +93,15 @@ func (r *request) BuildHTTP(mediaType, basePath string, producers map[string]run
func escapeQuotes(s string) string {
return strings.NewReplacer("\\", "\\\\", `"`, "\\\"").Replace(s)
}
+
+func logClose(err error, pw *io.PipeWriter) {
+ log.Println(err)
+ closeErr := pw.CloseWithError(err)
+ if closeErr != nil {
+ log.Println(closeErr)
+ }
+}
+
func (r *request) buildHTTP(mediaType, basePath string, producers map[string]runtime.Producer, registry strfmt.Registry, auth runtime.ClientAuthInfoWriter) (*http.Request, error) {
// build the data
if err := r.writer.WriteToRequest(r, registry); err != nil {
@@ -137,8 +146,8 @@ func (r *request) buildHTTP(mediaType, basePath string, producers map[string]run
for fn, v := range r.formFields {
for _, vi := range v {
if err := mp.WriteField(fn, vi); err != nil {
- pw.CloseWithError(err)
- log.Println(err)
+ logClose(err, pw)
+ return
}
}
}
@@ -152,18 +161,15 @@ func (r *request) buildHTTP(mediaType, basePath string, producers map[string]run
}()
for fn, f := range r.fileFields {
for _, fi := range f {
- buf := bytes.NewBuffer([]byte{})
-
// Need to read the data so that we can detect the content type
- _, err := io.Copy(buf, fi)
+ buf := make([]byte, 512)
+ size, err := fi.Read(buf)
if err != nil {
- _ = pw.CloseWithError(err)
- log.Println(err)
+ logClose(err, pw)
+ return
}
- fileBytes := buf.Bytes()
- fileContentType := http.DetectContentType(fileBytes)
-
- newFi := runtime.NamedReader(fi.Name(), buf)
+ fileContentType := http.DetectContentType(buf)
+ newFi := runtime.NamedReader(fi.Name(), io.MultiReader(bytes.NewReader(buf[:size]), fi))
// Create the MIME headers for the new part
h := make(textproto.MIMEHeader)
@@ -174,11 +180,11 @@ func (r *request) buildHTTP(mediaType, basePath string, producers map[string]run
wrtr, err := mp.CreatePart(h)
if err != nil {
- pw.CloseWithError(err)
- log.Println(err)
- } else if _, err := io.Copy(wrtr, newFi); err != nil {
- pw.CloseWithError(err)
- log.Println(err)
+ logClose(err, pw)
+ return
+ }
+ if _, err := io.Copy(wrtr, newFi); err != nil {
+ logClose(err, pw)
}
}
}
@@ -211,7 +217,7 @@ func (r *request) buildHTTP(mediaType, basePath string, producers map[string]run
DoneChoosingBodySource:
- if runtime.CanHaveBody(r.method) && body == nil && r.header.Get(runtime.HeaderContentType) == "" {
+ if runtime.CanHaveBody(r.method) && body != nil && r.header.Get(runtime.HeaderContentType) == "" {
r.header.Set(runtime.HeaderContentType, mediaType)
}
@@ -273,22 +279,36 @@ DoneChoosingBodySource:
}
}
- // create http request
- var reinstateSlash bool
- if r.pathPattern != "" && r.pathPattern != "/" && r.pathPattern[len(r.pathPattern)-1] == '/' {
- reinstateSlash = true
+ // In case the basePath or the request pathPattern include static query parameters,
+ // parse those out before constructing the final path. The parameters themselves
+ // will be merged with the ones set by the client, with the priority given first to
+ // the ones set by the client, then the path pattern, and lastly the base path.
+ basePathURL, err := url.Parse(basePath)
+ if err != nil {
+ return nil, err
}
+ staticQueryParams := basePathURL.Query()
- // In case the basePath includes hardcoded query parameters, parse those out before
- // constructing the final path. The parameters themselves will be merged with the
- // ones set by the client, with the priority given to the latter.
- basePathURL, err := url.Parse(basePath)
+ pathPatternURL, err := url.Parse(r.pathPattern)
if err != nil {
return nil, err
}
- basePathQueryParams := basePathURL.Query()
+ for name, values := range pathPatternURL.Query() {
+ if _, present := staticQueryParams[name]; present {
+ staticQueryParams.Del(name)
+ }
+ for _, value := range values {
+ staticQueryParams.Add(name, value)
+ }
+ }
+
+ // create http request
+ var reinstateSlash bool
+ if pathPatternURL.Path != "" && pathPatternURL.Path != "/" && pathPatternURL.Path[len(pathPatternURL.Path)-1] == '/' {
+ reinstateSlash = true
+ }
- urlPath := path.Join(basePathURL.Path, r.pathPattern)
+ urlPath := path.Join(basePathURL.Path, pathPatternURL.Path)
for k, v := range r.pathParams {
urlPath = strings.Replace(urlPath, "{"+k+"}", url.PathEscape(v), -1)
}
@@ -305,7 +325,7 @@ DoneChoosingBodySource:
// Merge the query parameters extracted from the basePath with the ones set by
// the client in this struct. In case of conflict, the client wins.
- for k, v := range basePathQueryParams {
+ for k, v := range staticQueryParams {
_, present := originalParams[k]
if !present {
if err = r.SetQueryParam(k, v...); err != nil {
diff --git a/vendor/github.com/go-openapi/runtime/client_response.go b/vendor/github.com/go-openapi/runtime/client_response.go
index c2e82f96c..0b7e38246 100644
--- a/vendor/github.com/go-openapi/runtime/client_response.go
+++ b/vendor/github.com/go-openapi/runtime/client_response.go
@@ -69,3 +69,38 @@ func (a *APIError) Error() string {
func (a *APIError) String() string {
return a.Error()
}
+
+// IsSuccess returns true when this elapse o k response returns a 2xx status code
+func (o *APIError) IsSuccess() bool {
+ return o.Code/100 == 2
+}
+
+// IsRedirect returns true when this elapse o k response returns a 3xx status code
+func (o *APIError) IsRedirect() bool {
+ return o.Code/100 == 3
+}
+
+// IsClientError returns true when this elapse o k response returns a 4xx status code
+func (o *APIError) IsClientError() bool {
+ return o.Code/100 == 4
+}
+
+// IsServerError returns true when this elapse o k response returns a 5xx status code
+func (o *APIError) IsServerError() bool {
+ return o.Code/100 == 5
+}
+
+// IsCode returns true when this elapse o k response returns a 4xx status code
+func (o *APIError) IsCode(code int) bool {
+ return o.Code == code
+}
+
+// A ClientResponseStatus is a common interface implemented by all responses on the generated code
+// You can use this to treat any client response based on status code
+type ClientResponseStatus interface {
+ IsSuccess() bool
+ IsRedirect() bool
+ IsClientError() bool
+ IsServerError() bool
+ IsCode(int) bool
+}
diff --git a/vendor/github.com/go-openapi/runtime/file.go b/vendor/github.com/go-openapi/runtime/file.go
index 85971c18c..397d8a459 100644
--- a/vendor/github.com/go-openapi/runtime/file.go
+++ b/vendor/github.com/go-openapi/runtime/file.go
@@ -14,20 +14,6 @@
package runtime
-import "mime/multipart"
+import "github.com/go-openapi/swag"
-// File represents an uploaded file.
-type File struct {
- Data multipart.File
- Header *multipart.FileHeader
-}
-
-// Read bytes from the file
-func (f *File) Read(p []byte) (n int, err error) {
- return f.Data.Read(p)
-}
-
-// Close the file
-func (f *File) Close() error {
- return f.Data.Close()
-}
+type File = swag.File
diff --git a/vendor/github.com/go-openapi/runtime/go.mod b/vendor/github.com/go-openapi/runtime/go.mod
index 6fcf0fe65..e5db4c19b 100644
--- a/vendor/github.com/go-openapi/runtime/go.mod
+++ b/vendor/github.com/go-openapi/runtime/go.mod
@@ -1,18 +1,23 @@
module github.com/go-openapi/runtime
require (
+ github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect
github.com/docker/go-units v0.4.0
- github.com/go-openapi/analysis v0.19.10
- github.com/go-openapi/errors v0.19.6
- github.com/go-openapi/loads v0.19.5
- github.com/go-openapi/spec v0.19.8
- github.com/go-openapi/strfmt v0.19.5
- github.com/go-openapi/swag v0.19.9
- github.com/go-openapi/validate v0.19.10
+ github.com/go-openapi/analysis v0.21.2
+ github.com/go-openapi/errors v0.20.2
+ github.com/go-openapi/loads v0.21.1
+ github.com/go-openapi/spec v0.20.4
+ github.com/go-openapi/strfmt v0.21.2
+ github.com/go-openapi/swag v0.21.1
+ github.com/go-openapi/validate v0.21.0
+ github.com/go-stack/stack v1.8.1 // indirect
+ github.com/mailru/easyjson v0.7.7 // indirect
+ github.com/mitchellh/mapstructure v1.4.3 // indirect
github.com/opentracing/opentracing-go v1.2.0
- github.com/stretchr/testify v1.6.1
- gopkg.in/yaml.v2 v2.3.0
- gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 // indirect
+ github.com/stretchr/testify v1.7.0
+ go.mongodb.org/mongo-driver v1.8.3 // indirect
+ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd // indirect
+ gopkg.in/yaml.v2 v2.4.0
)
-go 1.13
+go 1.15
diff --git a/vendor/github.com/go-openapi/runtime/go.sum b/vendor/github.com/go-openapi/runtime/go.sum
index 27801d87f..c821eb763 100644
--- a/vendor/github.com/go-openapi/runtime/go.sum
+++ b/vendor/github.com/go-openapi/runtime/go.sum
@@ -1,107 +1,45 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/PuerkitoBio/purell v1.1.0 h1:rmGxhojJlM0tuKtfdvliR84CFHljx9ag64t2xmVkjK4=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf h1:eg0MeVzsP1G42dRafH3vf+al2vQIJU0YHX+1Tw87oco=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
+github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
+github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ=
+github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docker/go-units v0.3.3 h1:Xk8S3Xj5sLGlG5g67hJmYMmUgXv5N4PhkjJHHqrwnTk=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw=
github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8 h1:DujepqpGd1hyOd7aW59XpK7Qymp8iy83xq74fLr21is=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2 h1:ophLETFestFZHk3ji7niPEL4d466QjW+0Tdg5VyDq7E=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5 h1:8b2ZgKfKIUTVQpTb77MoRDIMEIwvDVw40o3aOXdfYzI=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/analysis v0.19.10 h1:5BHISBAXOc/aJK25irLZnx2D3s6WyYaY9D4gmuz9fdE=
-github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2 h1:a2kIyV3w+OS3S97zxUndRVD46+FhGOUBDFY7nmu4CsY=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.6 h1:xZMThgv5SQ7SMbWtKFkCf9bBdvR2iEyw9k3zGZONuys=
-github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2 h1:A9+F4Dc/MCNB5jibxf6rRvOvR/iFgQdyNx9eIhnGqq0=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
+github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
+github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
+github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
+github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
+github.com/go-openapi/errors v0.20.2 h1:dxy7PGTqEh94zj2E3h1cUmQQWiM1+aeCROfAr02EmK8=
+github.com/go-openapi/errors v0.20.2/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2 h1:o20suLFB4Ri0tuzpWtyHlh7E7HnkqTNLq6aR6WVNS1w=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3 h1:5cxNfTy0UVC3X8JL5ymxzyoUZmo8iZb+jeTWn7tUa8o=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2 h1:rf5ArTHmIJxyV5Oiks+Su0mUens1+AjpkPoWr5xFRcI=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.3 h1:jwIoahqCmaA5OBoc/B+1+Mu2L0Gr8xYQnbeyQEo/7b0=
-github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
-github.com/go-openapi/loads v0.19.5 h1:jZVYWawIQiA1NBnHla28ktg6hrcfTHsCE+3QLVRBIls=
-github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2 h1:SStNd1jRcYtfKCN7R0laGNs80WYYvn5CbBjM2sOmCrE=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3 h1:0XRyw8kguri6Yw4SxhsQA/atC88yqrk0+G4YhI2wabc=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.8 h1:qAdZLh1r6QF/hI/gTq+TJTvsQUodZsM7KLqkAJdiJNg=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0 h1:0Dn9qy1G9+UJfRU7TR8bmdGxb4uifB7HNrJjOnV0yPk=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2 h1:jvO6bCMBEilGwMfHhrd61zIID4oIFdwb76V17SM88dE=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
+github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
+github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
+github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
+github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
+github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0=
+github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
+github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
+github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
+github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
+github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
+github.com/go-openapi/strfmt v0.21.2 h1:5NDNgadiX1Vhemth/TH4gCGopWSTdDjxl60H3B7f+os=
+github.com/go-openapi/strfmt v0.21.2/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2 h1:ky5l57HjyVRrsJfd2+Ro5Z9PjGuKbsmftwyMtk8H7js=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.3 h1:PAH/2DylwWcIU1s0Y7k3yNmeAgWOcKrNE2Q7Ww/kCg4=
-github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
-github.com/go-openapi/validate v0.19.10 h1:tG3SZ5DC5KF4cyt7nqLVcQXGj5A7mpaYkAcNPlDK+Yk=
-github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
-github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
+github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU=
+github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-openapi/validate v0.21.0 h1:+Wqk39yKOhfpLqNLEC0/eViCkzM5FVXVqrvt526+wcI=
+github.com/go-openapi/validate v0.21.0/go.mod h1:rjnrwK57VJ7A8xqfpAOEKRH8yQSGUriMu5/zuPSQ1hg=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
+github.com/go-stack/stack v1.8.1 h1:ntEHSVwIt7PNXNpgPmVfMrNhLtgjlmnZha2kOpuRiDw=
+github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP3XYfe4=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
@@ -127,53 +65,46 @@ github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGt
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
+github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
+github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329 h1:2gxZ0XQIU/5z3Z3bUBu+FXuk2pFbkN6tcwi/pjyaDic=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe h1:W/GaMY0y69G4cFlmsC6B9sbuo2fP8OFP1ABjt4kPz+w=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63 h1:nTT4s92Dgz2HlrB2NaMgvlfqHH39OgMhA7z3PK7PGD4=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e h1:hB2xlXdHp/pmPZq0y3QnmWAArdw9PqbmotexnWx/FU8=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1 h1:mdxE1MF9o53iCb2Ghj1VfWvh7ZOwHpnVG/xwXrV90U8=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
+github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
+github.com/mailru/easyjson v0.7.7 h1:UGYAvKxe3sBsEDzO8ZeWOSlIQfWFlxbzLZe7hwFURr0=
+github.com/mailru/easyjson v0.7.7/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
+github.com/mitchellh/mapstructure v1.4.3 h1:OVowDSCllw/YjdLkam3/sm7wEtOy59d8ndGgCcyj8cs=
+github.com/mitchellh/mapstructure v1.4.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
+github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs=
github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
@@ -186,85 +117,73 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
-github.com/stretchr/testify v1.2.2 h1:bSDNvY7ZPG5RlJ8otE/7V6gMiyenm9RtJ7IUVIAoJ1w=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1 h1:Sq1fR+0c58RME5EoqKdjkiQAmPjmfHlZOoRI6fTUOcs=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.4 h1:zs/dKNwX0gYUtzwrN9lLiR15hCO0nDwQj5xXx+vjCdE=
-go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
+github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
+go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
+go.mongodb.org/mongo-driver v1.8.3 h1:TDKlTkGDKm9kkJVUOAXDK5/fkqKHJVwYQSpoRfB43R4=
+go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
-golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20201216223049-8b5274cf687f/go.mod h1:jdWPYTVW3xRLrWPugEBEK3UY2ZEsg3UU495nc5E+M+I=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53 h1:kcXqo9vE6fsZY5X5Rd7R1l7fTgnWaDCVmln65REefiE=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980 h1:dfGZHvZk057jK2MCeWus/TowKpJ8y4AmooUzdBSR9GU=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
+golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
+gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
+gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/go-openapi/runtime/request.go b/vendor/github.com/go-openapi/runtime/request.go
index 9e51b42b5..078fda173 100644
--- a/vendor/github.com/go-openapi/runtime/request.go
+++ b/vendor/github.com/go-openapi/runtime/request.go
@@ -48,7 +48,7 @@ func HasBody(r *http.Request) bool {
return true
}
- if r.Header.Get(http.CanonicalHeaderKey("content-length")) != "" {
+ if r.Header.Get("content-length") != "" {
// in this case, no Transfer-Encoding should be present
// we have a header set but it was explicitly set to 0, so we assume no body
return false
diff --git a/vendor/github.com/go-openapi/runtime/text.go b/vendor/github.com/go-openapi/runtime/text.go
index c7fd04c3c..f33320b7d 100644
--- a/vendor/github.com/go-openapi/runtime/text.go
+++ b/vendor/github.com/go-openapi/runtime/text.go
@@ -41,7 +41,6 @@ func TextConsumer() Consumer {
// If the buffer is empty, no need to unmarshal it, which causes a panic.
if len(b) == 0 {
- data = ""
return nil
}
diff --git a/vendor/github.com/go-openapi/spec/.travis.yml b/vendor/github.com/go-openapi/spec/.travis.yml
index e8ceca446..2281a07b0 100644
--- a/vendor/github.com/go-openapi/spec/.travis.yml
+++ b/vendor/github.com/go-openapi/spec/.travis.yml
@@ -1,7 +1,7 @@
after_success:
- bash <(curl -s https://codecov.io/bash)
go:
-- 1.14.x
+- 1.16.x
- 1.x
arch:
- amd64
diff --git a/vendor/github.com/go-openapi/spec/go.mod b/vendor/github.com/go-openapi/spec/go.mod
index 63d9e82e9..39aab5f7e 100644
--- a/vendor/github.com/go-openapi/spec/go.mod
+++ b/vendor/github.com/go-openapi/spec/go.mod
@@ -2,11 +2,10 @@ module github.com/go-openapi/spec
require (
github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/jsonreference v0.19.5
- github.com/go-openapi/swag v0.19.14
+ github.com/go-openapi/jsonreference v0.19.6
+ github.com/go-openapi/swag v0.19.15
github.com/stretchr/testify v1.6.1
- golang.org/x/net v0.0.0-20210119194325-5f4716e94777 // indirect
- golang.org/x/text v0.3.5 // indirect
+ golang.org/x/text v0.3.7 // indirect
gopkg.in/yaml.v2 v2.4.0
)
diff --git a/vendor/github.com/go-openapi/spec/go.sum b/vendor/github.com/go-openapi/spec/go.sum
index 9e86ed981..3a2f52263 100644
--- a/vendor/github.com/go-openapi/spec/go.sum
+++ b/vendor/github.com/go-openapi/spec/go.sum
@@ -10,11 +10,11 @@ github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm7232
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
+github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
+github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng=
-github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-openapi/swag v0.19.15 h1:D2NRCBzS9/pEY3gP9Nl8aDqGUcPFrwG2p+CNFrLyrCM=
+github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
@@ -37,20 +37,14 @@ github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
-golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758 h1:aEpZnXcAmXkd6AvLb2OPt+EN1Zu/8Ne3pCqPjja5PXY=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
-golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
-golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
-golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
diff --git a/vendor/github.com/go-openapi/spec/schema_loader.go b/vendor/github.com/go-openapi/spec/schema_loader.go
index 0059b99ae..b81175afd 100644
--- a/vendor/github.com/go-openapi/spec/schema_loader.go
+++ b/vendor/github.com/go-openapi/spec/schema_loader.go
@@ -168,7 +168,14 @@ func (r *schemaLoader) load(refURL *url.URL) (interface{}, url.URL, bool, error)
normalized := normalizeBase(pth)
debugLog("loading doc from: %s", normalized)
- data, fromCache := r.cache.Get(normalized)
+ unescaped, err := url.PathUnescape(normalized)
+ if err != nil {
+ return nil, url.URL{}, false, err
+ }
+
+ u := url.URL{Path: unescaped}
+
+ data, fromCache := r.cache.Get(u.RequestURI())
if fromCache {
return data, toFetch, fromCache, nil
}
diff --git a/vendor/github.com/go-openapi/strfmt/.gitattributes b/vendor/github.com/go-openapi/strfmt/.gitattributes
new file mode 100644
index 000000000..d020be8ea
--- /dev/null
+++ b/vendor/github.com/go-openapi/strfmt/.gitattributes
@@ -0,0 +1,2 @@
+*.go text eol=lf
+
diff --git a/vendor/github.com/go-openapi/strfmt/.golangci.yml b/vendor/github.com/go-openapi/strfmt/.golangci.yml
index 7ffaa32b9..da12d5e3b 100644
--- a/vendor/github.com/go-openapi/strfmt/.golangci.yml
+++ b/vendor/github.com/go-openapi/strfmt/.golangci.yml
@@ -35,6 +35,8 @@ linters:
- godot
- exhaustivestruct
- paralleltest
+ - varnamelen
+ - ireturn
#- thelper
issues:
diff --git a/vendor/github.com/go-openapi/strfmt/.travis.yml b/vendor/github.com/go-openapi/strfmt/.travis.yml
deleted file mode 100644
index eaee5b65a..000000000
--- a/vendor/github.com/go-openapi/strfmt/.travis.yml
+++ /dev/null
@@ -1,31 +0,0 @@
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-go:
-- 1.14.x
-- 1.x
-arch:
-- amd64
-jobs:
- include:
- # only run fast tests on ppc64le
- - go: 1.x
- arch: ppc64le
- script:
- - gotestsum -f short-verbose -- ./...
-
- # include linting job, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-
-install:
-- GO111MODULE=off go get -u gotest.tools/gotestsum
-language: go
-notifications:
- slack:
- secure: zE5AtIYTpYfQPnTzP+EaQPN7JKtfFAGv6PrJqoIZLOXa8B6zGb6+J1JRNNxWi7faWbyJOxa4FSSsuPsKZMycUK6wlLFIdhDxwqeo7Ew8r6rdZKdfUHQggfNS9wO79ARoNYUDHtmnaBUS+eWSM1YqSc4i99QxyyfuURLOeAaA/q14YbdlTlaw3lrZ0qT92ot1FnVGNOx064zuHtFeUf+jAVRMZ6Q3rvqllwIlPszE6rmHGXBt2VoJxRaBetdwd7FgkcYw9FPXKHhadwC7/75ZAdmxIukhxNMw4Tr5NuPcqNcnbYLenDP7B3lssGVIrP4BRSqekS1d/tqvdvnnFWHMwrNCkSnSc065G5+qWTlXKAemIclgiXXqE2furBNLm05MDdG8fn5epS0UNarkjD+zX336RiqwBlOX4KbF+vPyqcO98CsN0lnd+H6loc9reiTHs37orFFpQ+309av9be2GGsHUsRB9ssIyrewmhAccOmkRtr2dVTZJNFQwa5Kph5TNJuTjnZEwG/xUkEX2YSfwShOsb062JWiflV6PJdnl80pc9Tn7D5sO5Bf9DbijGRJwwP+YiiJtwtr+vsvS+n4sM0b5eqm4UoRo+JJO8ffoJtHS7ItuyRbVQCwEPJ4221WLcf5PquEEDdAPwR+K4Gj8qTXqTDdxOiES1xFUKVgmzhI=
-script:
-- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./...
diff --git a/vendor/github.com/go-openapi/strfmt/bson.go b/vendor/github.com/go-openapi/strfmt/bson.go
index 727647ba0..8740b1505 100644
--- a/vendor/github.com/go-openapi/strfmt/bson.go
+++ b/vendor/github.com/go-openapi/strfmt/bson.go
@@ -39,10 +39,10 @@ func IsBSONObjectID(str string) bool {
// ObjectId represents a BSON object ID (alias to go.mongodb.org/mongo-driver/bson/primitive.ObjectID)
//
// swagger:strfmt bsonobjectid
-type ObjectId bsonprim.ObjectID
+type ObjectId bsonprim.ObjectID //nolint:revive
// NewObjectId creates a ObjectId from a Hex String
-func NewObjectId(hex string) ObjectId {
+func NewObjectId(hex string) ObjectId { //nolint:revive
oid, err := bsonprim.ObjectIDFromHex(hex)
if err != nil {
panic(err)
diff --git a/vendor/github.com/go-openapi/strfmt/format.go b/vendor/github.com/go-openapi/strfmt/format.go
index 13a1626fa..172055d22 100644
--- a/vendor/github.com/go-openapi/strfmt/format.go
+++ b/vendor/github.com/go-openapi/strfmt/format.go
@@ -76,6 +76,7 @@ type defaultFormats struct {
// NewFormats creates a new formats registry seeded with the values from the default
func NewFormats() Registry {
+ //nolint:forcetypeassert
return NewSeededFormats(Default.(*defaultFormats).data, nil)
}
@@ -93,75 +94,80 @@ func NewSeededFormats(seeds []knownFormat, normalizer NameNormalizer) Registry {
}
// MapStructureHookFunc is a decode hook function for mapstructure
-func (f *defaultFormats) MapStructureHookFunc() mapstructure.DecodeHookFunc {
- return func(from reflect.Type, to reflect.Type, data interface{}) (interface{}, error) {
+func (f *defaultFormats) MapStructureHookFunc() mapstructure.DecodeHookFunc { //nolint:gocyclo,cyclop
+ return func(from reflect.Type, to reflect.Type, obj interface{}) (interface{}, error) {
if from.Kind() != reflect.String {
- return data, nil
+ return obj, nil
}
+ data, ok := obj.(string)
+ if !ok {
+ return nil, fmt.Errorf("failed to cast %+v to string", obj)
+ }
+
for _, v := range f.data {
tpe, _ := f.GetType(v.Name)
if to == tpe {
switch v.Name {
case "date":
- d, err := time.Parse(RFC3339FullDate, data.(string))
+ d, err := time.Parse(RFC3339FullDate, data)
if err != nil {
return nil, err
}
return Date(d), nil
case "datetime":
- input := data.(string)
+ input := data
if len(input) == 0 {
return nil, fmt.Errorf("empty string is an invalid datetime format")
}
return ParseDateTime(input)
case "duration":
- dur, err := ParseDuration(data.(string))
+ dur, err := ParseDuration(data)
if err != nil {
return nil, err
}
return Duration(dur), nil
case "uri":
- return URI(data.(string)), nil
+ return URI(data), nil
case "email":
- return Email(data.(string)), nil
+ return Email(data), nil
case "uuid":
- return UUID(data.(string)), nil
+ return UUID(data), nil
case "uuid3":
- return UUID3(data.(string)), nil
+ return UUID3(data), nil
case "uuid4":
- return UUID4(data.(string)), nil
+ return UUID4(data), nil
case "uuid5":
- return UUID5(data.(string)), nil
+ return UUID5(data), nil
case "hostname":
- return Hostname(data.(string)), nil
+ return Hostname(data), nil
case "ipv4":
- return IPv4(data.(string)), nil
+ return IPv4(data), nil
case "ipv6":
- return IPv6(data.(string)), nil
+ return IPv6(data), nil
case "cidr":
- return CIDR(data.(string)), nil
+ return CIDR(data), nil
case "mac":
- return MAC(data.(string)), nil
+ return MAC(data), nil
case "isbn":
- return ISBN(data.(string)), nil
+ return ISBN(data), nil
case "isbn10":
- return ISBN10(data.(string)), nil
+ return ISBN10(data), nil
case "isbn13":
- return ISBN13(data.(string)), nil
+ return ISBN13(data), nil
case "creditcard":
- return CreditCard(data.(string)), nil
+ return CreditCard(data), nil
case "ssn":
- return SSN(data.(string)), nil
+ return SSN(data), nil
case "hexcolor":
- return HexColor(data.(string)), nil
+ return HexColor(data), nil
case "rgbcolor":
- return RGBColor(data.(string)), nil
+ return RGBColor(data), nil
case "byte":
- return Base64(data.(string)), nil
+ return Base64(data), nil
case "password":
- return Password(data.(string)), nil
+ return Password(data), nil
case "ulid":
- ulid, err := ParseULID(data.(string))
+ ulid, err := ParseULID(data)
if err != nil {
return nil, err
}
diff --git a/vendor/github.com/go-openapi/strfmt/go.mod b/vendor/github.com/go-openapi/strfmt/go.mod
index 7a8faaedd..0c31ea8cf 100644
--- a/vendor/github.com/go-openapi/strfmt/go.mod
+++ b/vendor/github.com/go-openapi/strfmt/go.mod
@@ -7,7 +7,7 @@ require (
github.com/mitchellh/mapstructure v1.3.3
github.com/oklog/ulid v1.3.1
github.com/stretchr/testify v1.6.1
- go.mongodb.org/mongo-driver v1.5.1
+ go.mongodb.org/mongo-driver v1.7.5
)
go 1.13
diff --git a/vendor/github.com/go-openapi/strfmt/go.sum b/vendor/github.com/go-openapi/strfmt/go.sum
index ad311635d..6978f85d1 100644
--- a/vendor/github.com/go-openapi/strfmt/go.sum
+++ b/vendor/github.com/go-openapi/strfmt/go.sum
@@ -1,63 +1,24 @@
-github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
-github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/go-openapi/errors v0.19.8 h1:doM+tQdZbUm9gydV9yR+iQNmztbjj7I3sW4sIcAwIzc=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
-github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
-github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY=
-github.com/gobuffalo/depgen v0.1.0/go.mod h1:+ifsuy7fhi15RWncXQQKjWS9JPkdah5sZvtHc2RXGlg=
-github.com/gobuffalo/envy v1.6.15/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
-github.com/gobuffalo/envy v1.7.0/go.mod h1:n7DRkBerg/aorDM8kbduw5dN3oXGswK5liaSCx4T5NI=
-github.com/gobuffalo/flect v0.1.0/go.mod h1:d2ehjJqGOH/Kjqcoz+F7jHTBbmDb38yXA598Hb50EGs=
-github.com/gobuffalo/flect v0.1.1/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
-github.com/gobuffalo/flect v0.1.3/go.mod h1:8JCgGVbRjJhVgD6399mQr4fx5rRfGKVzFjbj6RE/9UI=
-github.com/gobuffalo/genny v0.0.0-20190329151137-27723ad26ef9/go.mod h1:rWs4Z12d1Zbf19rlsn0nurr75KqhYp52EAGGxTbBhNk=
-github.com/gobuffalo/genny v0.0.0-20190403191548-3ca520ef0d9e/go.mod h1:80lIj3kVJWwOrXWWMRzzdhW3DsrdjILVil/SFKBzF28=
-github.com/gobuffalo/genny v0.1.0/go.mod h1:XidbUqzak3lHdS//TPu2OgiFB+51Ur5f7CSnXZ/JDvo=
-github.com/gobuffalo/genny v0.1.1/go.mod h1:5TExbEyY48pfunL4QSXxlDOmdsD44RRq4mVZ0Ex28Xk=
-github.com/gobuffalo/gitgen v0.0.0-20190315122116-cc086187d211/go.mod h1:vEHJk/E9DmhejeLeNt7UVvlSGv3ziL+djtTr3yyzcOw=
-github.com/gobuffalo/gogen v0.0.0-20190315121717-8f38393713f5/go.mod h1:V9QVDIxsgKNZs6L2IYiGR8datgMhB577vzTDqypH360=
-github.com/gobuffalo/gogen v0.1.0/go.mod h1:8NTelM5qd8RZ15VjQTFkAW6qOMx5wBbW4dSCS3BY8gg=
-github.com/gobuffalo/gogen v0.1.1/go.mod h1:y8iBtmHmGc4qa3urIyo1shvOD8JftTtfcKi+71xfDNE=
-github.com/gobuffalo/logger v0.0.0-20190315122211-86e12af44bc2/go.mod h1:QdxcLw541hSGtBnhUc4gaNIXRjiDppFGaDqzbrBd3v8=
-github.com/gobuffalo/mapi v1.0.1/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
-github.com/gobuffalo/mapi v1.0.2/go.mod h1:4VAGh89y6rVOvm5A8fKFxYG+wIW6LO1FMTG9hnKStFc=
-github.com/gobuffalo/packd v0.0.0-20190315124812-a385830c7fc0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
-github.com/gobuffalo/packd v0.1.0/go.mod h1:M2Juc+hhDXf/PnmBANFCqx4DM3wRbgDvnVWeG2RIxq4=
-github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGtJQZ0Odn4pQ=
-github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
-github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
-github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
-github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
-github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
-github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
-github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
-github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
@@ -65,25 +26,10 @@ github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWb
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
-github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
-github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
-github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
-github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
-github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
-github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ=
-github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
-github.com/stretchr/testify v1.3.0 h1:TivCn/peBQ7UY8ooIcPgZFpTNSz0Q2U6UrFlUfqbe0Q=
-github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
@@ -92,43 +38,26 @@ github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT
github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
-go.mongodb.org/mongo-driver v1.5.1 h1:9nOVLGDfOaZ9R0tBumx/BcuqkbFpyTCU2r/Po7A2azI=
-go.mongodb.org/mongo-driver v1.5.1/go.mod h1:gRXCHX4Jo7J0IJ1oDQyUxF7jfy19UfxniMS4xxMmUqw=
-golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
+go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI=
+go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
-golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/go-openapi/strfmt/time.go b/vendor/github.com/go-openapi/strfmt/time.go
index 425413f7e..023676e6c 100644
--- a/vendor/github.com/go-openapi/strfmt/time.go
+++ b/vendor/github.com/go-openapi/strfmt/time.go
@@ -18,6 +18,7 @@ import (
"database/sql/driver"
"encoding/binary"
"encoding/json"
+ "errors"
"fmt"
"regexp"
"strings"
@@ -210,9 +211,12 @@ func (t *DateTime) UnmarshalBSON(data []byte) error {
// Marshals a DateTime as a bsontype.DateTime, an int64 representing
// milliseconds since epoch.
func (t DateTime) MarshalBSONValue() (bsontype.Type, []byte, error) {
- // UnixNano cannot be used, the result of calling UnixNano on the zero
- // Time is undefined.
- i64 := NormalizeTimeForMarshal(time.Time(t)).Unix() * 1000
+ // UnixNano cannot be used directly, the result of calling UnixNano on the zero
+ // Time is undefined. Thats why we use time.Nanosecond() instead.
+
+ tNorm := NormalizeTimeForMarshal(time.Time(t))
+ i64 := tNorm.Unix()*1000 + int64(tNorm.Nanosecond())/1e6
+
buf := make([]byte, 8)
binary.LittleEndian.PutUint64(buf, uint64(i64))
@@ -224,6 +228,15 @@ func (t DateTime) MarshalBSONValue() (bsontype.Type, []byte, error) {
// assumed to be valid. UnmarshalBSONValue must copy the BSON value bytes if it
// wishes to retain the data after returning.
func (t *DateTime) UnmarshalBSONValue(tpe bsontype.Type, data []byte) error {
+ if tpe == bsontype.Null {
+ *t = DateTime{}
+ return nil
+ }
+
+ if len(data) != 8 {
+ return errors.New("bson date field length not exactly 8 bytes")
+ }
+
i64 := int64(binary.LittleEndian.Uint64(data))
// TODO: Use bsonprim.DateTime.Time() method
*t = DateTime(time.Unix(i64/1000, i64%1000*1000000))
diff --git a/vendor/github.com/go-openapi/strfmt/ulid.go b/vendor/github.com/go-openapi/strfmt/ulid.go
index 6ea2e35c3..4bd2ccd8f 100644
--- a/vendor/github.com/go-openapi/strfmt/ulid.go
+++ b/vendor/github.com/go-openapi/strfmt/ulid.go
@@ -32,7 +32,7 @@ var (
}
ULIDScanDefaultFunc = func(raw interface{}) (ULID, error) {
- var u ULID = NewULIDZero()
+ u := NewULIDZero()
switch x := raw.(type) {
case nil:
// zerp ulid
@@ -90,7 +90,11 @@ func NewULIDZero() ULID {
// NewULID generates new unique ULID value and a error if any
func NewULID() (u ULID, err error) {
- entropy := ulidEntropyPool.Get().(io.Reader)
+ obj := ulidEntropyPool.Get()
+ entropy, ok := obj.(io.Reader)
+ if !ok {
+ return u, fmt.Errorf("failed to cast %+v to io.Reader", obj)
+ }
id, err := ulid.New(ulid.Now(), entropy)
if err != nil {
diff --git a/vendor/github.com/go-openapi/swag/.gitattributes b/vendor/github.com/go-openapi/swag/.gitattributes
new file mode 100644
index 000000000..49ad52766
--- /dev/null
+++ b/vendor/github.com/go-openapi/swag/.gitattributes
@@ -0,0 +1,2 @@
+# gofmt always uses LF, whereas Git uses CRLF on Windows.
+*.go text eol=lf
diff --git a/vendor/github.com/go-openapi/swag/.golangci.yml b/vendor/github.com/go-openapi/swag/.golangci.yml
index 842ac1c09..2a4a71f3a 100644
--- a/vendor/github.com/go-openapi/swag/.golangci.yml
+++ b/vendor/github.com/go-openapi/swag/.golangci.yml
@@ -39,3 +39,12 @@ linters:
- paralleltest
- thelper
- ifshort
+ - gomoddirectives
+ - cyclop
+ - forcetypeassert
+ - ireturn
+ - tagliatelle
+ - varnamelen
+ - goimports
+ - tenv
+ - golint
diff --git a/vendor/github.com/go-openapi/swag/.travis.yml b/vendor/github.com/go-openapi/swag/.travis.yml
deleted file mode 100644
index fc25a8872..000000000
--- a/vendor/github.com/go-openapi/swag/.travis.yml
+++ /dev/null
@@ -1,37 +0,0 @@
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-go:
-- 1.14.x
-- 1.x
-arch:
-- amd64
-jobs:
- include:
- # include arch ppc, but only for latest go version - skip testing for race
- - go: 1.x
- arch: ppc64le
- install: ~
- script:
- - go test -v
-
- #- go: 1.x
- # arch: arm
- # install: ~
- # script:
- # - go test -v
-
- # include linting job, but only for latest go version and amd64 arch
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-install:
-- GO111MODULE=off go get -u gotest.tools/gotestsum
-language: go
-notifications:
- slack:
- secure: QUWvCkBBK09GF7YtEvHHVt70JOkdlNBG0nIKu/5qc4/nW5HP8I2w0SEf/XR2je0eED1Qe3L/AfMCWwrEj+IUZc3l4v+ju8X8R3Lomhme0Eb0jd1MTMCuPcBT47YCj0M7RON7vXtbFfm1hFJ/jLe5+9FXz0hpXsR24PJc5ZIi/ogNwkaPqG4BmndzecpSh0vc2FJPZUD9LT0I09REY/vXR0oQAalLkW0asGD5taHZTUZq/kBpsNxaAFrLM23i4mUcf33M5fjLpvx5LRICrX/57XpBrDh2TooBU6Qj3CgoY0uPRYUmSNxbVx1czNzl2JtEpb5yjoxfVPQeg0BvQM00G8LJINISR+ohrjhkZmAqchDupAX+yFrxTtORa78CtnIL6z/aTNlgwwVD8kvL/1pFA/JWYmKDmz93mV/+6wubGzNSQCstzjkFA4/iZEKewKUoRIAi/fxyscP6L/rCpmY/4llZZvrnyTqVbt6URWpopUpH4rwYqreXAtJxJsfBJIeSmUIiDIOMGkCTvyTEW3fWGmGoqWtSHLoaWDyAIGb7azb+KvfpWtEcoPFWfSWU+LGee0A/YsUhBl7ADB9A0CJEuR8q4BPpKpfLwPKSiKSAXL7zDkyjExyhtgqbSl2jS+rKIHOZNL8JkCcTP2MKMVd563C5rC5FMKqu3S9m2b6380E=
-script:
-- gotestsum -f short-verbose -- -race -coverprofile=coverage.txt -covermode=atomic ./...
diff --git a/vendor/github.com/go-openapi/swag/file.go b/vendor/github.com/go-openapi/swag/file.go
new file mode 100644
index 000000000..16accc55f
--- /dev/null
+++ b/vendor/github.com/go-openapi/swag/file.go
@@ -0,0 +1,33 @@
+// Copyright 2015 go-swagger maintainers
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+package swag
+
+import "mime/multipart"
+
+// File represents an uploaded file.
+type File struct {
+ Data multipart.File
+ Header *multipart.FileHeader
+}
+
+// Read bytes from the file
+func (f *File) Read(p []byte) (n int, err error) {
+ return f.Data.Read(p)
+}
+
+// Close the file
+func (f *File) Close() error {
+ return f.Data.Close()
+}
diff --git a/vendor/github.com/go-openapi/swag/post_go18.go b/vendor/github.com/go-openapi/swag/post_go18.go
index c2e686d31..f5228b82c 100644
--- a/vendor/github.com/go-openapi/swag/post_go18.go
+++ b/vendor/github.com/go-openapi/swag/post_go18.go
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+//go:build go1.8
// +build go1.8
package swag
diff --git a/vendor/github.com/go-openapi/swag/post_go19.go b/vendor/github.com/go-openapi/swag/post_go19.go
index eb2f2d8bc..7c7da9c08 100644
--- a/vendor/github.com/go-openapi/swag/post_go19.go
+++ b/vendor/github.com/go-openapi/swag/post_go19.go
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+//go:build go1.9
// +build go1.9
package swag
diff --git a/vendor/github.com/go-openapi/swag/pre_go18.go b/vendor/github.com/go-openapi/swag/pre_go18.go
index 6607f3393..2757d9b95 100644
--- a/vendor/github.com/go-openapi/swag/pre_go18.go
+++ b/vendor/github.com/go-openapi/swag/pre_go18.go
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+//go:build !go1.8
// +build !go1.8
package swag
diff --git a/vendor/github.com/go-openapi/swag/pre_go19.go b/vendor/github.com/go-openapi/swag/pre_go19.go
index 4bae187d1..0565db377 100644
--- a/vendor/github.com/go-openapi/swag/pre_go19.go
+++ b/vendor/github.com/go-openapi/swag/pre_go19.go
@@ -12,6 +12,7 @@
// See the License for the specific language governing permissions and
// limitations under the License.
+//go:build !go1.9
// +build !go1.9
package swag
diff --git a/vendor/github.com/go-openapi/validate/.gitattributes b/vendor/github.com/go-openapi/validate/.gitattributes
new file mode 100644
index 000000000..49ad52766
--- /dev/null
+++ b/vendor/github.com/go-openapi/validate/.gitattributes
@@ -0,0 +1,2 @@
+# gofmt always uses LF, whereas Git uses CRLF on Windows.
+*.go text eol=lf
diff --git a/vendor/github.com/go-openapi/validate/.golangci.yml b/vendor/github.com/go-openapi/validate/.golangci.yml
index 7dbddddfe..81818ca67 100644
--- a/vendor/github.com/go-openapi/validate/.golangci.yml
+++ b/vendor/github.com/go-openapi/validate/.golangci.yml
@@ -1,8 +1,6 @@
linters-settings:
govet:
check-shadowing: true
- golint:
- min-confidence: 0
gocyclo:
min-complexity: 50
maligned:
@@ -40,3 +38,13 @@ linters:
- godot
- tparallel
- paralleltest
+ - cyclop # because we have gocyclo already
+ # TODO: review the linters below. We disabled them to make the CI pass first.
+ - ireturn
+ - varnamelen
+ - forcetypeassert
+ - thelper
+ # Disable deprecated linters.
+ # They will be removed from golangci-lint in future.
+ - interfacer
+ - golint
\ No newline at end of file
diff --git a/vendor/github.com/go-openapi/validate/.travis.yml b/vendor/github.com/go-openapi/validate/.travis.yml
deleted file mode 100644
index 6fb3fb005..000000000
--- a/vendor/github.com/go-openapi/validate/.travis.yml
+++ /dev/null
@@ -1,52 +0,0 @@
-after_success:
-- bash <(curl -s https://codecov.io/bash)
-go:
-- 1.14.x
-- 1.x
-arch:
-- amd64
-jobs:
- include:
- # only run fast tests on ppc64le
- - go: 1.x
- arch: ppc64le
- script:
- - gotestsum -f short-verbose -- ./...
-
- # include large spec validation sample (run once)
- - go: 1.x
- arch: amd64
- script:
- - gotestsum -f short-verbose -- -timeout=30m -args -enable-go-swagger ./...
-
- # include linting job, but only for latest go version and amd64 arch (run once)
- - go: 1.x
- arch: amd64
- install:
- - GO111MODULE=off go get -u gotest.tools/gotestsum
- - go get -u github.com/go-openapi/runtime@master
- script:
- - gotestsum -f short-verbose -- -timeout=30m github.com/go-openapi/runtime/...
-
- # include go-openapi/runtime non reg job (run once)
- - go: 1.x
- arch: amd64
- install:
- go get github.com/golangci/golangci-lint/cmd/golangci-lint
- script:
- - golangci-lint run --new-from-rev master
-
- # include -race test on short tests only (run once)
- - go: 1.x
- arch: amd64
- script:
- - gotestsum -f short-verbose -- -race ./...
-
-install:
-- GO111MODULE=off go get -u gotest.tools/gotestsum
-language: go
-notifications:
- slack:
- secure: EmObnQuM9Mw8J9vpFaKKHqSMN4Wsr/A9+v7ewAD5cEhA0T1P4m7MbJMiJOhxUhj/X+BFh2DamW+P2lT8mybj5wg8wnkQ2BteKA8Tawi6f9PRw2NRheO8tAi8o/npLnlmet0kc93mn+oLuqHw36w4+j5mkOl2FghkfGiUVhwrhkCP7KXQN+3TU87e+/HzQumlJ3nsE+6terVxkH3PmaUTsS5ONaODZfuxFpfb7RsoEl3skHf6d+tr+1nViLxxly7558Nc33C+W1mr0qiEvMLZ+kJ/CpGWBJ6CUJM3jm6hNe2eMuIPwEK2hxZob8c7n22VPap4K6a0bBRoydoDXaba+2sD7Ym6ivDO/DVyL44VeBBLyIiIBylDGQdZH+6SoWm90Qe/i7tnY/T5Ao5igT8f3cfQY1c3EsTfqmlDfrhmACBmwSlgkdVBLTprHL63JMY24LWmh4jhxsmMRZhCL4dze8su1w6pLN/pD1pGHtKYCEVbdTmaM3PblNRFf12XB7qosmQsgUndH4Vq3bTbU0s1pKjeDhRyLvFzvR0TBbo0pDLEoF1A/i5GVFWa7yLZNUDudQERRh7qv/xBl2excIaQ1sV4DSVm7bAE9l6Kp+yeHQJW2uN6Y3X8wu9gB9nv9l5HBze7wh8KE6PyWAOLYYqZg9/sAtsv/2GcQqXcKFF1zcA=
-script:
-- gotestsum -f short-verbose -- -timeout=20m -coverprofile=coverage.txt -covermode=atomic -args -enable-long ./...
diff --git a/vendor/github.com/go-openapi/validate/context.go b/vendor/github.com/go-openapi/validate/context.go
index bf02e9462..89977173b 100644
--- a/vendor/github.com/go-openapi/validate/context.go
+++ b/vendor/github.com/go-openapi/validate/context.go
@@ -19,7 +19,7 @@ const (
none operationType = "none" // not specified in ctx
)
-var operationTypeEnum []operationType = []operationType{request, response, none}
+var operationTypeEnum = []operationType{request, response, none}
// WithOperationRequest returns a new context with operationType request
// in context value
diff --git a/vendor/github.com/go-openapi/validate/go.mod b/vendor/github.com/go-openapi/validate/go.mod
index 29d394e11..df9fa94f8 100644
--- a/vendor/github.com/go-openapi/validate/go.mod
+++ b/vendor/github.com/go-openapi/validate/go.mod
@@ -3,15 +3,13 @@ module github.com/go-openapi/validate
go 1.14
require (
- github.com/go-openapi/analysis v0.20.0
+ github.com/go-openapi/analysis v0.21.2
github.com/go-openapi/errors v0.19.9
github.com/go-openapi/jsonpointer v0.19.5
- github.com/go-openapi/loads v0.20.2
- github.com/go-openapi/runtime v0.19.24
- github.com/go-openapi/spec v0.20.3
- github.com/go-openapi/strfmt v0.20.0
- github.com/go-openapi/swag v0.19.14
+ github.com/go-openapi/loads v0.21.1
+ github.com/go-openapi/spec v0.20.4
+ github.com/go-openapi/strfmt v0.21.1
+ github.com/go-openapi/swag v0.21.1
github.com/stretchr/testify v1.7.0
gopkg.in/yaml.v2 v2.4.0
- gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b // indirect
)
diff --git a/vendor/github.com/go-openapi/validate/go.sum b/vendor/github.com/go-openapi/validate/go.sum
index 7637fead3..b351057c1 100644
--- a/vendor/github.com/go-openapi/validate/go.sum
+++ b/vendor/github.com/go-openapi/validate/go.sum
@@ -1,133 +1,35 @@
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/PuerkitoBio/purell v1.1.0/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/purell v1.1.1 h1:WEQqlqaGbrPkxLJWfBwQmfEAE1Z7ONdDLqrN38tNFfI=
github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578 h1:d+Bc7a5rLufV/sSk/8dngufqelfh6jnri85riMAaF/M=
github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
-github.com/agnivade/levenshtein v1.0.1/go.mod h1:CURSv5d9Uaml+FovSIICkLbAUZ9S4RqaHDIsdSBg7lM=
-github.com/andreyvit/diff v0.0.0-20170406064948-c7f18ee00883/go.mod h1:rCTlJbsFo29Kk6CurOXKm700vrz8f0KW0JNfpkRJY/8=
-github.com/asaskevich/govalidator v0.0.0-20180720115003-f9ffefc3facf/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a h1:idn718Q4B6AGu/h5Sxe66HYVdqdGu2l9Iebqhi/AEoA=
-github.com/asaskevich/govalidator v0.0.0-20190424111038-f61b66f89f4a/go.mod h1:lB+ZfQJz7igIIfQNfa7Ml4HSf2uFQQRzpGGRXenZAgY=
-github.com/asaskevich/govalidator v0.0.0-20200108200545-475eaeb16496/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535 h1:4daAzAu0S6Vi7/lbWECcX0j45yZReDZ56BQsrVBOEEY=
-github.com/asaskevich/govalidator v0.0.0-20200428143746-21a406dcc535/go.mod h1:oGkLhpf+kjZl6xBf758TQhh5XrAeiJv/7FRz/2spLIg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef h1:46PFijGLmAjMPwCCCo7Jf0W6f9slllCkkv7vyc1yOSg=
github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw=
-github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48=
github.com/creack/pty v1.1.9/go.mod h1:oKZEueFk5CKHvIhNR5MUki03XCEU+Q6VDXinZuGJ33E=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
-github.com/docker/go-units v0.3.3/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk=
-github.com/globalsign/mgo v0.0.0-20180905125535-1ca0a4f7cbcb/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/globalsign/mgo v0.0.0-20181015135952-eeefdecb41b8/go.mod h1:xkRDCp4j0OGD1HRkm4kmhM+pmpv3AKq5SU7GMg4oO/Q=
-github.com/go-openapi/analysis v0.0.0-20180825180245-b006789cd277/go.mod h1:k70tL6pCuVxPJOHXQ+wIac1FUrvNkHolPie/cLEU6hI=
-github.com/go-openapi/analysis v0.17.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.18.0/go.mod h1:IowGgpVeD0vNm45So8nr+IcQ3pxVtpRoBWb8PVZO0ik=
-github.com/go-openapi/analysis v0.19.2/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.4/go.mod h1:3P1osvZa9jKjb8ed2TPng3f0i/UY9snX6gxi44djMjk=
-github.com/go-openapi/analysis v0.19.5/go.mod h1:hkEAkxagaIvIP7VTn8ygJNkd4kAYON2rCu0v0ObL0AU=
-github.com/go-openapi/analysis v0.19.10/go.mod h1:qmhS3VNFxBlquFJ0RGoDtylO9y4pgTAUNE9AEEMdlJQ=
-github.com/go-openapi/analysis v0.19.16/go.mod h1:GLInF007N83Ad3m8a/CbQ5TPzdnGT7workfHwuVjNVk=
-github.com/go-openapi/analysis v0.20.0 h1:UN09o0kNhleunxW7LR+KnltD0YrJ8FF03pSqvAN3Vro=
-github.com/go-openapi/analysis v0.20.0/go.mod h1:BMchjvaHDykmRMsK40iPtvyOfFdMMxlOmQr9FBZk+Og=
-github.com/go-openapi/errors v0.17.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.18.0/go.mod h1:LcZQpmvG4wyF5j4IhA73wkLFQg+QJXOQHVjmcZxhka0=
-github.com/go-openapi/errors v0.19.2/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.3/go.mod h1:qX0BLWsyaKfvhluLejVpVNwNRdXZhEbTA4kxxpKBC94=
-github.com/go-openapi/errors v0.19.6 h1:xZMThgv5SQ7SMbWtKFkCf9bBdvR2iEyw9k3zGZONuys=
-github.com/go-openapi/errors v0.19.6/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.7 h1:Lcq+o0mSwCLKACMxZhreVHigB9ebghJ/lrmeaqASbjo=
-github.com/go-openapi/errors v0.19.7/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/errors v0.19.8 h1:doM+tQdZbUm9gydV9yR+iQNmztbjj7I3sW4sIcAwIzc=
+github.com/go-openapi/analysis v0.21.2 h1:hXFrOYFHUAMQdu6zwAiKKJHJQ8kqZs1ux/ru1P1wLJU=
+github.com/go-openapi/analysis v0.21.2/go.mod h1:HZwRk4RRisyG8vx2Oe6aqeSQcoxRp47Xkp3+K6q+LdY=
github.com/go-openapi/errors v0.19.8/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
github.com/go-openapi/errors v0.19.9 h1:9SnKdGhiPZHF3ttwFMiCBEb8jQ4IDdrK+5+a0oTygA4=
github.com/go-openapi/errors v0.19.9/go.mod h1:cM//ZKUKyO06HSwqAelJ5NsEMMcpa6VpXe8DOa1Mi1M=
-github.com/go-openapi/jsonpointer v0.17.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.18.0/go.mod h1:cOnomiV+CVVwFLk0A/MExoFMjwdsUdVpsRhURCKh+3M=
-github.com/go-openapi/jsonpointer v0.19.2/go.mod h1:3akKfEdA7DF1sugOqz1dVQHBcuDBPKZGEoHC/NkiQRg=
-github.com/go-openapi/jsonpointer v0.19.3 h1:gihV7YNZK1iK6Tgwwsxo2rJbD1GTbdm72325Bq8FI3w=
github.com/go-openapi/jsonpointer v0.19.3/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
github.com/go-openapi/jsonpointer v0.19.5 h1:gZr+CIYByUqjcgeLXnQu2gHYQC9o73G2XUeOFYEICuY=
github.com/go-openapi/jsonpointer v0.19.5/go.mod h1:Pl9vOtqEWErmShwVjC8pYs9cog34VGT37dQOVbmoatg=
-github.com/go-openapi/jsonreference v0.17.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.18.0/go.mod h1:g4xxGn04lDIRh0GJb5QlpE3HfopLOL6uZrK/VgnsK9I=
-github.com/go-openapi/jsonreference v0.19.2/go.mod h1:jMjeRr2HHw6nAVajTXJ4eiUwohSTlpa0o73RUL1owJc=
-github.com/go-openapi/jsonreference v0.19.3/go.mod h1:rjx6GuL8TTa9VaixXglHmQmIL98+wF9xc8zWvFonSJ8=
-github.com/go-openapi/jsonreference v0.19.5 h1:1WJP/wi4OjB4iV8KVbH73rQaoialJrqv8gitZLxGLtM=
-github.com/go-openapi/jsonreference v0.19.5/go.mod h1:RdybgQwPxbL4UEjuAruzK1x3nE69AqPYEJeo/TWfEeg=
-github.com/go-openapi/loads v0.17.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.18.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.0/go.mod h1:72tmFy5wsWx89uEVddd0RjRWPZm92WRLhf7AC+0+OOU=
-github.com/go-openapi/loads v0.19.2/go.mod h1:QAskZPMX5V0C2gvfkGZzJlINuP7Hx/4+ix5jWFxsNPs=
-github.com/go-openapi/loads v0.19.3/go.mod h1:YVfqhUCdahYwR3f3iiwQLhicVRvLlU/WO5WPaZvcvSI=
-github.com/go-openapi/loads v0.19.5 h1:jZVYWawIQiA1NBnHla28ktg6hrcfTHsCE+3QLVRBIls=
-github.com/go-openapi/loads v0.19.5/go.mod h1:dswLCAdonkRufe/gSUC3gN8nTSaB9uaS2es0x5/IbjY=
-github.com/go-openapi/loads v0.19.6/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.19.7 h1:6cALLpCAq4tYhaic7TMbEzjv8vq/wg+0AFivNy/Bma8=
-github.com/go-openapi/loads v0.19.7/go.mod h1:brCsvE6j8mnbmGBh103PT/QLHfbyDxA4hsKvYBNEGVc=
-github.com/go-openapi/loads v0.20.0 h1:Pymw1O8zDmWeNv4kVsHd0W3cvgdp8juRa4U/U/8D/Pk=
-github.com/go-openapi/loads v0.20.0/go.mod h1:2LhKquiE513rN5xC6Aan6lYOSddlL8Mp20AW9kpviM4=
-github.com/go-openapi/loads v0.20.2 h1:z5p5Xf5wujMxS1y8aP+vxwW5qYT2zdJBbXKmQUG3lcc=
-github.com/go-openapi/loads v0.20.2/go.mod h1:hTVUotJ+UonAMMZsvakEgmWKgtulweO9vYP2bQYKA/o=
-github.com/go-openapi/runtime v0.0.0-20180920151709-4f900dc2ade9/go.mod h1:6v9a6LTXWQCdL8k1AO3cvqx5OtZY/Y9wKTgaoP6YRfA=
-github.com/go-openapi/runtime v0.19.0/go.mod h1:OwNfisksmmaZse4+gpV3Ne9AyMOlP1lt4sK4FXt0O64=
-github.com/go-openapi/runtime v0.19.4 h1:csnOgcgAiuGoM/Po7PEpKDoNulCcF3FGbSnbHfxgjMI=
-github.com/go-openapi/runtime v0.19.4/go.mod h1:X277bwSUBxVlCYR3r7xgZZGKVvBd/29gLDlFGtJ8NL4=
-github.com/go-openapi/runtime v0.19.15 h1:2GIefxs9Rx1vCDNghRtypRq+ig8KSLrjHbAYI/gCLCM=
-github.com/go-openapi/runtime v0.19.15/go.mod h1:dhGWCTKRXlAfGnQG0ONViOZpjfg0m2gUt9nTQPQZuoo=
-github.com/go-openapi/runtime v0.19.16 h1:tQMAY5s5BfmmCC31+ufDCsGrr8iO1A8UIdYfDo5ADvs=
-github.com/go-openapi/runtime v0.19.16/go.mod h1:5P9104EJgYcizotuXhEuUrzVc+j1RiSjahULvYmlv98=
-github.com/go-openapi/runtime v0.19.24 h1:TqagMVlRAOTwllE/7hNKx6rQ10O6T8ZzeJdMjSTKaD4=
-github.com/go-openapi/runtime v0.19.24/go.mod h1:Lm9YGCeecBnUUkFTxPC4s1+lwrkJ0pthx8YvyjCfkgk=
-github.com/go-openapi/spec v0.17.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.18.0/go.mod h1:XkF/MOi14NmjsfZ8VtAKf8pIlbZzyoTvZsdfssdxcBI=
-github.com/go-openapi/spec v0.19.2/go.mod h1:sCxk3jxKgioEJikev4fgkNmwS+3kuYdJtcsZsD5zxMY=
-github.com/go-openapi/spec v0.19.3/go.mod h1:FpwSN1ksY1eteniUU7X0N/BgJ7a4WvBFVA8Lj9mJglo=
-github.com/go-openapi/spec v0.19.6/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.8/go.mod h1:Hm2Jr4jv8G1ciIAo+frC/Ft+rR2kQDh8JHKHb3gWUSk=
-github.com/go-openapi/spec v0.19.15/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.0/go.mod h1:+81FIL1JwC5P3/Iuuozq3pPE9dXdIEGxFutcFKaVbmU=
-github.com/go-openapi/spec v0.20.1/go.mod h1:93x7oh+d+FQsmsieroS4cmR3u0p/ywH649a3qwC9OsQ=
-github.com/go-openapi/spec v0.20.3 h1:uH9RQ6vdyPSs2pSy9fL8QPspDF2AMIMPtmK5coSSjtQ=
-github.com/go-openapi/spec v0.20.3/go.mod h1:gG4F8wdEDN+YPBMVnzE85Rbhf+Th2DTvA9nFPQ5AYEg=
-github.com/go-openapi/strfmt v0.17.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.18.0/go.mod h1:P82hnJI0CXkErkXi8IKjPbNBM6lV6+5pLP5l494TcyU=
-github.com/go-openapi/strfmt v0.19.0/go.mod h1:+uW+93UVvGGq2qGaZxdDeJqSAqBqBdl+ZPMF/cC8nDY=
-github.com/go-openapi/strfmt v0.19.2/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.3 h1:eRfyY5SkaNJCAwmmMcADjY31ow9+N7MCLW7oRkbsINA=
-github.com/go-openapi/strfmt v0.19.3/go.mod h1:0yX7dbo8mKIvc3XSKp7MNfxw4JytCfCD6+bY1AVL9LU=
-github.com/go-openapi/strfmt v0.19.4/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.5 h1:0utjKrw+BAh8s57XE9Xz8DUBsVvPmRUB6styvl9wWIM=
-github.com/go-openapi/strfmt v0.19.5/go.mod h1:eftuHTlB/dI8Uq8JJOyRlieZf+WkkxUuk0dgdHXr2Qk=
-github.com/go-openapi/strfmt v0.19.11 h1:0+YvbNh05rmBkgztd6zHp4OCFn7Mtu30bn46NQo2ZRw=
-github.com/go-openapi/strfmt v0.19.11/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/strfmt v0.20.0 h1:l2omNtmNbMc39IGptl9BuXBEKcZfS8zjrTsPKTiJiDM=
-github.com/go-openapi/strfmt v0.20.0/go.mod h1:UukAYgTaQfqJuAFlNxxMWNvMYiwiXtLsF2VwmoFtbtc=
-github.com/go-openapi/swag v0.17.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.18.0/go.mod h1:AByQ+nYG6gQg71GINrmuDXCPWdL640yX49/kXLo40Tg=
-github.com/go-openapi/swag v0.19.2/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.5 h1:lTz6Ys4CmqqCQmZPBlbQENR1/GucA2bzYTE12Pw4tFY=
+github.com/go-openapi/jsonreference v0.19.6 h1:UBIxjkht+AWIgYzCDSv2GN+E/togfwXUJFRTWhl2Jjs=
+github.com/go-openapi/jsonreference v0.19.6/go.mod h1:diGHMEHg2IqXZGKxqyvWdfWU/aim5Dprw5bqpKkTvns=
+github.com/go-openapi/loads v0.21.1 h1:Wb3nVZpdEzDTcly8S4HMkey6fjARRzb7iEaySimlDW0=
+github.com/go-openapi/loads v0.21.1/go.mod h1:/DtAMXXneXFjbQMGEtbamCZb+4x7eGwkvZCvBmwUG+g=
+github.com/go-openapi/spec v0.20.4 h1:O8hJrt0UMnhHcluhIdUgCLRWyM2x7QkBXRvOs7m+O1M=
+github.com/go-openapi/spec v0.20.4/go.mod h1:faYFR1CvsJZ0mNsmsphTMSoRrNV3TEDoAM7FOEWeq8I=
+github.com/go-openapi/strfmt v0.21.0/go.mod h1:ZRQ409bWMj+SOgXofQAGTIo2Ebu72Gs+WaRADcS5iNg=
+github.com/go-openapi/strfmt v0.21.1 h1:G6s2t5V5kGCHLVbSdZ/6lI8Wm4OzoPFkc3/cjAsKQrM=
+github.com/go-openapi/strfmt v0.21.1/go.mod h1:I/XVKeLc5+MM5oPNN7P6urMOpuLXEcNrCX/rPGuWb0k=
github.com/go-openapi/swag v0.19.5/go.mod h1:POnQmlKehdgb5mhVOsnJFsivZCEZ/vjK9gh66Z9tfKk=
-github.com/go-openapi/swag v0.19.7/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.9 h1:1IxuqvBUU3S2Bi4YC7tlP9SJF1gVpCvqN0T2Qof4azE=
-github.com/go-openapi/swag v0.19.9/go.mod h1:ao+8BpOPyKdpQz3AOJfbeEVpLmWAvlT1IfTe5McPyhY=
-github.com/go-openapi/swag v0.19.12 h1:Bc0bnY2c3AoF7Gc+IMIAQQsD8fLHjHpc19wXvYuayQI=
-github.com/go-openapi/swag v0.19.12/go.mod h1:eFdyEBkTdoAf/9RXBvj4cr1nH7GD8Kzo5HTt47gr72M=
-github.com/go-openapi/swag v0.19.13 h1:233UVgMy1DlmCYYfOiFpta6e2urloh+sEs5id6lyzog=
-github.com/go-openapi/swag v0.19.13/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/swag v0.19.14 h1:gm3vOOXfiuw5i9p5N9xJvfjvuofpyvLA9Wr6QfK5Fng=
-github.com/go-openapi/swag v0.19.14/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
-github.com/go-openapi/validate v0.18.0/go.mod h1:Uh4HdOzKt19xGIGm1qHf/ofbX1YQ4Y+MYsct2VUrAJ4=
-github.com/go-openapi/validate v0.19.2/go.mod h1:1tRCw7m3jtI8eNWEEliiAqUIcBztB2KDnRCRMUi7GTA=
-github.com/go-openapi/validate v0.19.3/go.mod h1:90Vh6jjkTn+OT1Eefm0ZixWNFjhtOH7vS9k0lo6zwJo=
-github.com/go-openapi/validate v0.19.10/go.mod h1:RKEZTUWDkxKQxN2jDT7ZnZi2bhZlbNMAuKvKB+IaGx8=
-github.com/go-openapi/validate v0.19.12/go.mod h1:Rzou8hA/CBw8donlS6WNEUQupNvUZ0waH08tGe6kAQ4=
-github.com/go-openapi/validate v0.19.15/go.mod h1:tbn/fdOwYHgrhPBzidZfJC2MIVvs9GA7monOmWBbeCI=
-github.com/go-openapi/validate v0.20.1/go.mod h1:b60iJT+xNNLfaQJUqLI7946tYiFEOuE9E4k54HpKcJ0=
-github.com/go-sql-driver/mysql v1.5.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
+github.com/go-openapi/swag v0.19.15/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
+github.com/go-openapi/swag v0.21.1 h1:wm0rhTb5z7qpJRHBdPOMuY4QjVUMbF6/kwoYeRAOrKU=
+github.com/go-openapi/swag v0.21.1/go.mod h1:QYRuS/SOXUCsnplDa677K7+DxSOj6IPNl/eQntq43wQ=
github.com/go-stack/stack v1.8.0 h1:5SgMzNM5HxrEjV0ww2lTmX6E2Izsfxas4+YHWRs3Lsk=
github.com/go-stack/stack v1.8.0/go.mod h1:v0f6uXyyMGvRgIKkXu+yp6POWl0qKG85gN/melR3HDY=
github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0=
@@ -155,57 +57,38 @@ github.com/gobuffalo/packr/v2 v2.0.9/go.mod h1:emmyGweYTm6Kdper+iywB6YK5YzuKchGt
github.com/gobuffalo/packr/v2 v2.2.0/go.mod h1:CaAwI0GPIAv+5wKLtv8Afwl+Cm78K/I/VCm/3ptBN+0=
github.com/gobuffalo/syncx v0.0.0-20190224160051-33c29581e754/go.mod h1:HhnNqWY95UYwwW3uSASeV7vtgYkT2t16hJgV3AEPUpw=
github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q=
-github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
-github.com/google/go-cmp v0.3.0 h1:crn/baboCvb5fXaQ0IJ1SGTsTVrWpDsCWC8EGETZijY=
-github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.5.2 h1:X2ev0eStA3AbceY54o37/0PQ/UWqKEiiO2dKL5OPaFM=
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/uuid v1.0.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/google/uuid v1.1.1 h1:Gkbcsh/GbpXz7lPftLA3P6TYMwjCLYm83jiFQZF/3gY=
github.com/google/uuid v1.1.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8=
-github.com/jmespath/go-jmespath v0.4.0/go.mod h1:T8mJZnbsbmF+m6zOOFylbeCJqk5+pHWvzYPziyZiYoo=
-github.com/jmespath/go-jmespath/internal/testify v1.5.1/go.mod h1:L3OGu8Wl2/fWfCI6z80xFu9LTZmf1ZRjMHUOPmWr69U=
github.com/joho/godotenv v1.3.0/go.mod h1:7hK45KPybAkOC6peb+G5yklZfMxEjkZhHbwpqxOKXbg=
github.com/josharian/intern v1.0.0 h1:vlS4z54oSdjm0bgjRigI+G1HpF+tI+9rE5LLzOg8HmY=
github.com/josharian/intern v1.0.0/go.mod h1:5DoeVV0s6jJacbCEi61lwdGj/aVlrQvzHFFd8Hwg//Y=
github.com/karrick/godirwalk v1.8.0/go.mod h1:H5KPZjojv4lE+QYImBI8xVtrBRgYrIVsaRPx4tDPEn4=
github.com/karrick/godirwalk v1.10.3/go.mod h1:RoGL9dQei4vP9ilrpETWE8CLOZ1kiN0LhBygSwrAsHA=
-github.com/kisielk/errcheck v1.2.0/go.mod h1:/BMXB+zMLi60iA8Vv6Ksmxu/1UDYcXs4uQLJ+jE2L00=
-github.com/klauspost/compress v1.9.5/go.mod h1:RyIbtBH6LamlWaDj8nUwkbUhJ87Yi3uG0guNDohfE1A=
+github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk=
github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ=
-github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
-github.com/kr/pty v1.1.5/go.mod h1:9r2w37qlBe7rQ6e1fg1S/9xpWHSnaqNdHD3WcMdbPDA=
-github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
-github.com/mailru/easyjson v0.0.0-20180823135443-60711f1a8329/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.0.0-20190312143242-1de009706dbe/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190614124828-94de47d64c63/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
github.com/mailru/easyjson v0.0.0-20190626092158-b2ccc519800e/go.mod h1:C1wdFJiN94OJF2b5HbByQZoLdCWB1Yqtg26g4irojpc=
-github.com/mailru/easyjson v0.7.1/go.mod h1:KAzv3t3aY1NaHWoQz1+4F1ccyAH66Jk7yos7ldAVICs=
github.com/mailru/easyjson v0.7.6 h1:8yTIVnZgCoiM1TgqoeTl+LfU5Jg6/xL3QhGQnimLYnA=
github.com/mailru/easyjson v0.7.6/go.mod h1:xzfreul335JAWq5oZzymOObrkdz5UnU4kGfJJLY9Nlc=
github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsIW75CHf65OeIOkyKbteujpZVXDpWK6YGZbxE=
github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0=
-github.com/mitchellh/mapstructure v1.1.2 h1:fmNYVwqnSfB9mZU6OS2O6GsXM+wcskZDuKQzvN1EDeE=
-github.com/mitchellh/mapstructure v1.1.2/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y=
-github.com/mitchellh/mapstructure v1.3.2 h1:mRS76wmkOn3KkKAyXDu42V+6ebnXWIztFSYGN7GeoRg=
-github.com/mitchellh/mapstructure v1.3.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.3.3 h1:SzB1nHZ2Xi+17FP0zVQBHIZqvwRN9408fJO8h+eeNA8=
github.com/mitchellh/mapstructure v1.3.3/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
-github.com/mitchellh/mapstructure v1.4.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/mitchellh/mapstructure v1.4.1 h1:CpVNEelQCZBooIPDn+AR3NpivK/TIKU8bDxdASFVQag=
github.com/mitchellh/mapstructure v1.4.1/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
github.com/montanaflynn/stats v0.0.0-20171201202039-1bf9dbcd8cbe/go.mod h1:wL8QJuTMNUDYhXwkmfOly8iTdp5TEcJFWZD2D7SIkUc=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e h1:fD57ERR4JtEqsWbfPhv4DMiApHyliiK5xCTNVSPiaAs=
github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno=
-github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k=
-github.com/pelletier/go-toml v1.4.0/go.mod h1:PN7xzY2wHTK0K9p34ErDQMlFxa51Fk0OUruD3k1mMwo=
+github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4=
+github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U=
github.com/pelletier/go-toml v1.7.0/go.mod h1:vwGMzjaWMwyfHwgIBhI2YUM4fB6nL6lVAvS1LBMMhTE=
github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
@@ -215,7 +98,6 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN
github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.2.2/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
-github.com/sergi/go-diff v1.0.0/go.mod h1:0CfEIISq7TuYL3j771MWULgwwjU+GofnZX9QAmXWZgo=
github.com/sirupsen/logrus v1.4.0/go.mod h1:LxeOpSwHxABJmUn/MG1IvRgCAasNZTLOkJPxbbu5VWo=
github.com/sirupsen/logrus v1.4.1/go.mod h1:ni0Sbl8bgC9z8RoU9G6nDWqqs/fq4eDPysMBDgk/93Q=
github.com/sirupsen/logrus v1.4.2/go.mod h1:tLMulIdttU9McNUspp0xgXVQah82FyeX6MwdIuYE2rE=
@@ -223,111 +105,65 @@ github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3
github.com/spf13/pflag v1.0.3/go.mod h1:DYY7MBk1bdzusC3SYhjObp+wFpr4gzcvqqNjLnInEg4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
github.com/stretchr/objx v0.1.1/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/objx v0.2.0 h1:Hbg2NidpLE8veEBkEZTL3CvlkUIVzuU9jDplZO54c48=
-github.com/stretchr/objx v0.2.0/go.mod h1:qt09Ya8vawLte6SNmTgCsAVtYtaKzEcn8ATUoHMkEqE=
github.com/stretchr/testify v1.2.2/go.mod h1:a8OnRcib4nhh0OaRAV+Yts87kKdq0PP7pXfy6kDkUVs=
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
-github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
-github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
-github.com/stretchr/testify v1.6.1 h1:hDPOHmpOpP40lSULcqw7IrRb/u7w6RpDC9399XyoNd0=
github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
github.com/tidwall/pretty v1.0.0 h1:HsD+QiTn7sK6flMKIvNmpqz1qrpP3Ps6jOKIKMooyg4=
github.com/tidwall/pretty v1.0.0/go.mod h1:XNkn88O1ChpSDQmQeStsy+sBenx6DDtFZJxhVysOjyk=
-github.com/vektah/gqlparser v1.1.2/go.mod h1:1ycwN7Ij5njmMkPPAOaRFY4rET2Enx7IkVv3vaXspKw=
-github.com/xdg/scram v0.0.0-20180814205039-7eeb5667e42c/go.mod h1:lB8K/P019DLNhemzwFU4jHLhdvlE6uDZjXFejJXr49I=
-github.com/xdg/stringprep v0.0.0-20180714160509-73f8eece6fdc/go.mod h1:Jhud4/sHMO4oL310DaZAKk9ZaJ08SJfe+sJh0HrGL1Y=
-go.mongodb.org/mongo-driver v1.0.3/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.1.1/go.mod h1:u7ryQJ+DOzQmeO7zB6MHyr8jkEQvC8vH7qLUO4lqsUM=
-go.mongodb.org/mongo-driver v1.3.0/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.3.4 h1:zs/dKNwX0gYUtzwrN9lLiR15hCO0nDwQj5xXx+vjCdE=
-go.mongodb.org/mongo-driver v1.3.4/go.mod h1:MSWZXKOynuguX+JSvwP8i+58jYCXxbia8HS3gZBapIE=
-go.mongodb.org/mongo-driver v1.4.3 h1:moga+uhicpVshTyaqY9L23E6QqwcHRUv1sqyOsoyOO8=
-go.mongodb.org/mongo-driver v1.4.3/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.4 h1:bsPHfODES+/yx2PCWzUYMH8xj6PVniPI8DQrsJuSXSs=
-go.mongodb.org/mongo-driver v1.4.4/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
-go.mongodb.org/mongo-driver v1.4.6 h1:rh7GdYmDrb8AQSkF8yteAus8qYOgOASWDOv1BWqBXkU=
-go.mongodb.org/mongo-driver v1.4.6/go.mod h1:WcMNYLx/IlOxLe6JRJiv2uXuCz6zBLndR4SoGjYphSc=
+github.com/xdg-go/pbkdf2 v1.0.0/go.mod h1:jrpuAogTd400dnrH08LKmI/xc1MbPOebTwRqcT5RDeI=
+github.com/xdg-go/scram v1.0.2/go.mod h1:1WAq6h33pAW+iRreB34OORO2Nf7qel3VV3fjBj+hCSs=
+github.com/xdg-go/stringprep v1.0.2/go.mod h1:8F9zXuvzgwmyT5DUm4GUfZGDdT3W+LCvS6+da4O5kxM=
+github.com/youmark/pkcs8 v0.0.0-20181117223130-1be2e3e5546d/go.mod h1:rHwXgn7JulP+udvsHwJoVG1YGAP6VLg4y9I5dyZdqmA=
+go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg=
+go.mongodb.org/mongo-driver v1.7.5 h1:ny3p0reEpgsR2cfA5cjgwFZg3Cv/ofFh/8jbhGtz9VI=
+go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng=
golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190320223903-b7391e95e576/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20190422162423-af44ce270edf/go.mod h1:WFFai1msRO1wXaEeE5yQxYXgSfI8pQAWXbQop6sCtWE=
-golang.org/x/crypto v0.0.0-20190530122614-20be4c3c3ed5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190611184440-5c40567a22f8/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20190617133340-57b3e21c3d56/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
-golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
-golang.org/x/net v0.0.0-20181005035420-146acd28ed58/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190320064053-1272bf9dcd53/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
-golang.org/x/net v0.0.0-20190613194153-d28f0bde5980/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297 h1:k7pJ2yAPLPgbskkFdhRCsA77k2fySZ1zf2zCjvQCiIM=
-golang.org/x/net v0.0.0-20190827160401-ba9fcec4b297/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9 h1:pNX+40auqi2JqRfOP1akLGtYcn15TUbkhwuCO3foqqM=
-golang.org/x/net v0.0.0-20200602114024-627f9648deb9/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
-golang.org/x/net v0.0.0-20201110031124-69a78807bb2b/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb h1:eBmm0M9fYhWpKZLjQUUKka/LtIxf46G4fxeEz5KJr9U=
-golang.org/x/net v0.0.0-20201202161906-c7110b5ffcbb/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
-golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777 h1:003p0dJM77cxMSyCPFphvZf/Y5/NXf5fzg6ufd1/Oew=
-golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758 h1:aEpZnXcAmXkd6AvLb2OPt+EN1Zu/8Ne3pCqPjja5PXY=
+golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190412183630-56d357773e84/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190321052220-f7bb7a8bee54/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190403152447-81d4e9dc473e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190419153524-e8e3143a4f4a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190422165155-953cdadca894/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190531175056-4c3a928424d2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20190616124812-15dcb6c0061f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
-golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
-golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
-golang.org/x/text v0.3.5 h1:i6eZZ+zk0SOf0xgBpEpPD18qWcJda6q1sxt3S0kzyUQ=
golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7 h1:olpwvP2KacW1ZWvsR7uQhoyTYvKAupfQrRGBFM352Gk=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20181030221726-6c7e314b6563/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-golang.org/x/tools v0.0.0-20190125232054-d66bd3c5d5a6/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
golang.org/x/tools v0.0.0-20190329151228-23e29df326fe/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190416151739-9c9e1878f421/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190420181800-aa740d480789/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
golang.org/x/tools v0.0.0-20190531172133-b3315ee88b7d/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190614205625-5aca471b1d59/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
-golang.org/x/tools v0.0.0-20190617190820-da514acc4774/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543 h1:E7g+9GITq07hpfrRu66IVDexMakfv52eLZ2CXBWiKr4=
golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f h1:BLraFXnmrev5lT+xlilqcH8XK9/i0At2xKjWk4p6zsU=
gopkg.in/check.v1 v1.0.0-20200227125254-8fa46927fb4f/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
-gopkg.in/yaml.v2 v2.2.1/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.4 h1:/eiJrUcujPVeJ3xlSWaiNi3uSVmDGBK1pDHUHAnao1I=
-gopkg.in/yaml.v2 v2.2.4/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.2.8/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.3.0 h1:clyUAQHOM3G0M3f5vQj7LuJrETvjVot3Z5el9nffUtU=
-gopkg.in/yaml.v2 v2.3.0/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ=
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c h1:grhR+C34yXImVGp7EzNk+DTIk+323eIUWOmEevy6bDo=
gopkg.in/yaml.v3 v3.0.0-20200605160147-a5ece683394c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
-gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776 h1:tQIYjPdBoyREyB9XMu+nnTclpTYkz2zFM+lzLJFO4gQ=
gopkg.in/yaml.v3 v3.0.0-20200615113413-eeeca48fe776/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b h1:h8qDotaEPuJATrMmW04NCwg7v22aHH28wwpauUhK9Oo=
gopkg.in/yaml.v3 v3.0.0-20210107192922-496545a6307b/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
diff --git a/vendor/github.com/go-openapi/validate/schema_props.go b/vendor/github.com/go-openapi/validate/schema_props.go
index 1f6950788..9bac3d29f 100644
--- a/vendor/github.com/go-openapi/validate/schema_props.go
+++ b/vendor/github.com/go-openapi/validate/schema_props.go
@@ -163,7 +163,7 @@ func (s *schemaPropsValidator) Validate(data interface{}) *Result {
}
if validated != 1 {
- additionalMsg := ""
+ var additionalMsg string
if validated == 0 {
additionalMsg = "Found none valid"
} else {
diff --git a/vendor/github.com/go-openapi/validate/type.go b/vendor/github.com/go-openapi/validate/type.go
index dc77bff93..876467588 100644
--- a/vendor/github.com/go-openapi/validate/type.go
+++ b/vendor/github.com/go-openapi/validate/type.go
@@ -19,7 +19,6 @@ import (
"strings"
"github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
"github.com/go-openapi/spec"
"github.com/go-openapi/strfmt"
"github.com/go-openapi/swag"
@@ -48,7 +47,7 @@ func (t *typeValidator) schemaInfoForType(data interface{}) (string, string) {
return stringType, stringFormatDateTime
case strfmt.Duration, *strfmt.Duration:
return stringType, stringFormatDuration
- case runtime.File, *runtime.File:
+ case swag.File, *swag.File:
return fileType, ""
case strfmt.Email, *strfmt.Email:
return stringType, stringFormatEmail
diff --git a/vendor/github.com/go-openapi/validate/values.go b/vendor/github.com/go-openapi/validate/values.go
index 321de6737..c88d35d7f 100644
--- a/vendor/github.com/go-openapi/validate/values.go
+++ b/vendor/github.com/go-openapi/validate/values.go
@@ -394,7 +394,7 @@ func IsValueValidAgainstRange(val interface{}, typeName, format, prefix, path st
kind := reflect.ValueOf(val).Type().Kind()
// What is the string representation of val
- stringRep := ""
+ var stringRep string
switch kind {
case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64:
stringRep = swag.FormatUint64(valueHelp.asUint64(val))
diff --git a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go b/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
deleted file mode 100644
index 63dc05785..000000000
--- a/vendor/github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.pb.go
+++ /dev/null
@@ -1,200 +0,0 @@
-// Code generated by protoc-gen-go. DO NOT EDIT.
-// source: github.com/golang/protobuf/protoc-gen-go/descriptor/descriptor.proto
-
-package descriptor
-
-import (
- protoreflect "google.golang.org/protobuf/reflect/protoreflect"
- protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- descriptorpb "google.golang.org/protobuf/types/descriptorpb"
- reflect "reflect"
-)
-
-// Symbols defined in public import of google/protobuf/descriptor.proto.
-
-type FieldDescriptorProto_Type = descriptorpb.FieldDescriptorProto_Type
-
-const FieldDescriptorProto_TYPE_DOUBLE = descriptorpb.FieldDescriptorProto_TYPE_DOUBLE
-const FieldDescriptorProto_TYPE_FLOAT = descriptorpb.FieldDescriptorProto_TYPE_FLOAT
-const FieldDescriptorProto_TYPE_INT64 = descriptorpb.FieldDescriptorProto_TYPE_INT64
-const FieldDescriptorProto_TYPE_UINT64 = descriptorpb.FieldDescriptorProto_TYPE_UINT64
-const FieldDescriptorProto_TYPE_INT32 = descriptorpb.FieldDescriptorProto_TYPE_INT32
-const FieldDescriptorProto_TYPE_FIXED64 = descriptorpb.FieldDescriptorProto_TYPE_FIXED64
-const FieldDescriptorProto_TYPE_FIXED32 = descriptorpb.FieldDescriptorProto_TYPE_FIXED32
-const FieldDescriptorProto_TYPE_BOOL = descriptorpb.FieldDescriptorProto_TYPE_BOOL
-const FieldDescriptorProto_TYPE_STRING = descriptorpb.FieldDescriptorProto_TYPE_STRING
-const FieldDescriptorProto_TYPE_GROUP = descriptorpb.FieldDescriptorProto_TYPE_GROUP
-const FieldDescriptorProto_TYPE_MESSAGE = descriptorpb.FieldDescriptorProto_TYPE_MESSAGE
-const FieldDescriptorProto_TYPE_BYTES = descriptorpb.FieldDescriptorProto_TYPE_BYTES
-const FieldDescriptorProto_TYPE_UINT32 = descriptorpb.FieldDescriptorProto_TYPE_UINT32
-const FieldDescriptorProto_TYPE_ENUM = descriptorpb.FieldDescriptorProto_TYPE_ENUM
-const FieldDescriptorProto_TYPE_SFIXED32 = descriptorpb.FieldDescriptorProto_TYPE_SFIXED32
-const FieldDescriptorProto_TYPE_SFIXED64 = descriptorpb.FieldDescriptorProto_TYPE_SFIXED64
-const FieldDescriptorProto_TYPE_SINT32 = descriptorpb.FieldDescriptorProto_TYPE_SINT32
-const FieldDescriptorProto_TYPE_SINT64 = descriptorpb.FieldDescriptorProto_TYPE_SINT64
-
-var FieldDescriptorProto_Type_name = descriptorpb.FieldDescriptorProto_Type_name
-var FieldDescriptorProto_Type_value = descriptorpb.FieldDescriptorProto_Type_value
-
-type FieldDescriptorProto_Label = descriptorpb.FieldDescriptorProto_Label
-
-const FieldDescriptorProto_LABEL_OPTIONAL = descriptorpb.FieldDescriptorProto_LABEL_OPTIONAL
-const FieldDescriptorProto_LABEL_REQUIRED = descriptorpb.FieldDescriptorProto_LABEL_REQUIRED
-const FieldDescriptorProto_LABEL_REPEATED = descriptorpb.FieldDescriptorProto_LABEL_REPEATED
-
-var FieldDescriptorProto_Label_name = descriptorpb.FieldDescriptorProto_Label_name
-var FieldDescriptorProto_Label_value = descriptorpb.FieldDescriptorProto_Label_value
-
-type FileOptions_OptimizeMode = descriptorpb.FileOptions_OptimizeMode
-
-const FileOptions_SPEED = descriptorpb.FileOptions_SPEED
-const FileOptions_CODE_SIZE = descriptorpb.FileOptions_CODE_SIZE
-const FileOptions_LITE_RUNTIME = descriptorpb.FileOptions_LITE_RUNTIME
-
-var FileOptions_OptimizeMode_name = descriptorpb.FileOptions_OptimizeMode_name
-var FileOptions_OptimizeMode_value = descriptorpb.FileOptions_OptimizeMode_value
-
-type FieldOptions_CType = descriptorpb.FieldOptions_CType
-
-const FieldOptions_STRING = descriptorpb.FieldOptions_STRING
-const FieldOptions_CORD = descriptorpb.FieldOptions_CORD
-const FieldOptions_STRING_PIECE = descriptorpb.FieldOptions_STRING_PIECE
-
-var FieldOptions_CType_name = descriptorpb.FieldOptions_CType_name
-var FieldOptions_CType_value = descriptorpb.FieldOptions_CType_value
-
-type FieldOptions_JSType = descriptorpb.FieldOptions_JSType
-
-const FieldOptions_JS_NORMAL = descriptorpb.FieldOptions_JS_NORMAL
-const FieldOptions_JS_STRING = descriptorpb.FieldOptions_JS_STRING
-const FieldOptions_JS_NUMBER = descriptorpb.FieldOptions_JS_NUMBER
-
-var FieldOptions_JSType_name = descriptorpb.FieldOptions_JSType_name
-var FieldOptions_JSType_value = descriptorpb.FieldOptions_JSType_value
-
-type MethodOptions_IdempotencyLevel = descriptorpb.MethodOptions_IdempotencyLevel
-
-const MethodOptions_IDEMPOTENCY_UNKNOWN = descriptorpb.MethodOptions_IDEMPOTENCY_UNKNOWN
-const MethodOptions_NO_SIDE_EFFECTS = descriptorpb.MethodOptions_NO_SIDE_EFFECTS
-const MethodOptions_IDEMPOTENT = descriptorpb.MethodOptions_IDEMPOTENT
-
-var MethodOptions_IdempotencyLevel_name = descriptorpb.MethodOptions_IdempotencyLevel_name
-var MethodOptions_IdempotencyLevel_value = descriptorpb.MethodOptions_IdempotencyLevel_value
-
-type FileDescriptorSet = descriptorpb.FileDescriptorSet
-type FileDescriptorProto = descriptorpb.FileDescriptorProto
-type DescriptorProto = descriptorpb.DescriptorProto
-type ExtensionRangeOptions = descriptorpb.ExtensionRangeOptions
-type FieldDescriptorProto = descriptorpb.FieldDescriptorProto
-type OneofDescriptorProto = descriptorpb.OneofDescriptorProto
-type EnumDescriptorProto = descriptorpb.EnumDescriptorProto
-type EnumValueDescriptorProto = descriptorpb.EnumValueDescriptorProto
-type ServiceDescriptorProto = descriptorpb.ServiceDescriptorProto
-type MethodDescriptorProto = descriptorpb.MethodDescriptorProto
-
-const Default_MethodDescriptorProto_ClientStreaming = descriptorpb.Default_MethodDescriptorProto_ClientStreaming
-const Default_MethodDescriptorProto_ServerStreaming = descriptorpb.Default_MethodDescriptorProto_ServerStreaming
-
-type FileOptions = descriptorpb.FileOptions
-
-const Default_FileOptions_JavaMultipleFiles = descriptorpb.Default_FileOptions_JavaMultipleFiles
-const Default_FileOptions_JavaStringCheckUtf8 = descriptorpb.Default_FileOptions_JavaStringCheckUtf8
-const Default_FileOptions_OptimizeFor = descriptorpb.Default_FileOptions_OptimizeFor
-const Default_FileOptions_CcGenericServices = descriptorpb.Default_FileOptions_CcGenericServices
-const Default_FileOptions_JavaGenericServices = descriptorpb.Default_FileOptions_JavaGenericServices
-const Default_FileOptions_PyGenericServices = descriptorpb.Default_FileOptions_PyGenericServices
-const Default_FileOptions_PhpGenericServices = descriptorpb.Default_FileOptions_PhpGenericServices
-const Default_FileOptions_Deprecated = descriptorpb.Default_FileOptions_Deprecated
-const Default_FileOptions_CcEnableArenas = descriptorpb.Default_FileOptions_CcEnableArenas
-
-type MessageOptions = descriptorpb.MessageOptions
-
-const Default_MessageOptions_MessageSetWireFormat = descriptorpb.Default_MessageOptions_MessageSetWireFormat
-const Default_MessageOptions_NoStandardDescriptorAccessor = descriptorpb.Default_MessageOptions_NoStandardDescriptorAccessor
-const Default_MessageOptions_Deprecated = descriptorpb.Default_MessageOptions_Deprecated
-
-type FieldOptions = descriptorpb.FieldOptions
-
-const Default_FieldOptions_Ctype = descriptorpb.Default_FieldOptions_Ctype
-const Default_FieldOptions_Jstype = descriptorpb.Default_FieldOptions_Jstype
-const Default_FieldOptions_Lazy = descriptorpb.Default_FieldOptions_Lazy
-const Default_FieldOptions_Deprecated = descriptorpb.Default_FieldOptions_Deprecated
-const Default_FieldOptions_Weak = descriptorpb.Default_FieldOptions_Weak
-
-type OneofOptions = descriptorpb.OneofOptions
-type EnumOptions = descriptorpb.EnumOptions
-
-const Default_EnumOptions_Deprecated = descriptorpb.Default_EnumOptions_Deprecated
-
-type EnumValueOptions = descriptorpb.EnumValueOptions
-
-const Default_EnumValueOptions_Deprecated = descriptorpb.Default_EnumValueOptions_Deprecated
-
-type ServiceOptions = descriptorpb.ServiceOptions
-
-const Default_ServiceOptions_Deprecated = descriptorpb.Default_ServiceOptions_Deprecated
-
-type MethodOptions = descriptorpb.MethodOptions
-
-const Default_MethodOptions_Deprecated = descriptorpb.Default_MethodOptions_Deprecated
-const Default_MethodOptions_IdempotencyLevel = descriptorpb.Default_MethodOptions_IdempotencyLevel
-
-type UninterpretedOption = descriptorpb.UninterpretedOption
-type SourceCodeInfo = descriptorpb.SourceCodeInfo
-type GeneratedCodeInfo = descriptorpb.GeneratedCodeInfo
-type DescriptorProto_ExtensionRange = descriptorpb.DescriptorProto_ExtensionRange
-type DescriptorProto_ReservedRange = descriptorpb.DescriptorProto_ReservedRange
-type EnumDescriptorProto_EnumReservedRange = descriptorpb.EnumDescriptorProto_EnumReservedRange
-type UninterpretedOption_NamePart = descriptorpb.UninterpretedOption_NamePart
-type SourceCodeInfo_Location = descriptorpb.SourceCodeInfo_Location
-type GeneratedCodeInfo_Annotation = descriptorpb.GeneratedCodeInfo_Annotation
-
-var File_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto protoreflect.FileDescriptor
-
-var file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_rawDesc = []byte{
- 0x0a, 0x44, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c,
- 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72,
- 0x69, 0x70, 0x74, 0x6f, 0x72, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
- 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x42, 0x40, 0x5a, 0x3e, 0x67, 0x69, 0x74, 0x68,
- 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2f, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65,
- 0x6e, 0x2d, 0x67, 0x6f, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x3b,
- 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x6f, 0x72, 0x50, 0x00, 0x62, 0x06, 0x70, 0x72,
- 0x6f, 0x74, 0x6f, 0x32,
-}
-
-var file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_goTypes = []interface{}{}
-var file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_depIdxs = []int32{
- 0, // [0:0] is the sub-list for method output_type
- 0, // [0:0] is the sub-list for method input_type
- 0, // [0:0] is the sub-list for extension type_name
- 0, // [0:0] is the sub-list for extension extendee
- 0, // [0:0] is the sub-list for field type_name
-}
-
-func init() { file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_init() }
-func file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_init() {
- if File_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto != nil {
- return
- }
- type x struct{}
- out := protoimpl.TypeBuilder{
- File: protoimpl.DescBuilder{
- GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
- RawDescriptor: file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_rawDesc,
- NumEnums: 0,
- NumMessages: 0,
- NumExtensions: 0,
- NumServices: 0,
- },
- GoTypes: file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_goTypes,
- DependencyIndexes: file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_depIdxs,
- }.Build()
- File_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto = out.File
- file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_rawDesc = nil
- file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_goTypes = nil
- file_github_com_golang_protobuf_protoc_gen_go_descriptor_descriptor_proto_depIdxs = nil
-}
diff --git a/vendor/github.com/google/go-cmp/cmp/compare.go b/vendor/github.com/google/go-cmp/cmp/compare.go
index 86d0903b8..2a5446762 100644
--- a/vendor/github.com/google/go-cmp/cmp/compare.go
+++ b/vendor/github.com/google/go-cmp/cmp/compare.go
@@ -36,7 +36,6 @@ import (
"strings"
"github.com/google/go-cmp/cmp/internal/diff"
- "github.com/google/go-cmp/cmp/internal/flags"
"github.com/google/go-cmp/cmp/internal/function"
"github.com/google/go-cmp/cmp/internal/value"
)
@@ -319,7 +318,6 @@ func (s *state) tryMethod(t reflect.Type, vx, vy reflect.Value) bool {
}
func (s *state) callTRFunc(f, v reflect.Value, step Transform) reflect.Value {
- v = sanitizeValue(v, f.Type().In(0))
if !s.dynChecker.Next() {
return f.Call([]reflect.Value{v})[0]
}
@@ -343,8 +341,6 @@ func (s *state) callTRFunc(f, v reflect.Value, step Transform) reflect.Value {
}
func (s *state) callTTBFunc(f, x, y reflect.Value) bool {
- x = sanitizeValue(x, f.Type().In(0))
- y = sanitizeValue(y, f.Type().In(1))
if !s.dynChecker.Next() {
return f.Call([]reflect.Value{x, y})[0].Bool()
}
@@ -372,19 +368,6 @@ func detectRaces(c chan<- reflect.Value, f reflect.Value, vs ...reflect.Value) {
ret = f.Call(vs)[0]
}
-// sanitizeValue converts nil interfaces of type T to those of type R,
-// assuming that T is assignable to R.
-// Otherwise, it returns the input value as is.
-func sanitizeValue(v reflect.Value, t reflect.Type) reflect.Value {
- // TODO(≥go1.10): Workaround for reflect bug (https://golang.org/issue/22143).
- if !flags.AtLeastGo110 {
- if v.Kind() == reflect.Interface && v.IsNil() && v.Type() != t {
- return reflect.New(t).Elem()
- }
- }
- return v
-}
-
func (s *state) compareStruct(t reflect.Type, vx, vy reflect.Value) {
var addr bool
var vax, vay reflect.Value // Addressable versions of vx and vy
diff --git a/vendor/github.com/google/go-cmp/cmp/export_panic.go b/vendor/github.com/google/go-cmp/cmp/export_panic.go
index 5ff0b4218..ae851fe53 100644
--- a/vendor/github.com/google/go-cmp/cmp/export_panic.go
+++ b/vendor/github.com/google/go-cmp/cmp/export_panic.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build purego
// +build purego
package cmp
diff --git a/vendor/github.com/google/go-cmp/cmp/export_unsafe.go b/vendor/github.com/google/go-cmp/cmp/export_unsafe.go
index 21eb54858..e2c0f74e8 100644
--- a/vendor/github.com/google/go-cmp/cmp/export_unsafe.go
+++ b/vendor/github.com/google/go-cmp/cmp/export_unsafe.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !purego
// +build !purego
package cmp
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go
index 1daaaacc5..36062a604 100644
--- a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go
+++ b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_disable.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !cmp_debug
// +build !cmp_debug
package diff
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go
index 4b91dbcac..a3b97a1ad 100644
--- a/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go
+++ b/vendor/github.com/google/go-cmp/cmp/internal/diff/debug_enable.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build cmp_debug
// +build cmp_debug
package diff
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go
deleted file mode 100644
index 82d1d7fbf..000000000
--- a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_legacy.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2019, The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build !go1.10
-
-package flags
-
-// AtLeastGo110 reports whether the Go toolchain is at least Go 1.10.
-const AtLeastGo110 = false
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go b/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go
deleted file mode 100644
index 8646f0529..000000000
--- a/vendor/github.com/google/go-cmp/cmp/internal/flags/toolchain_recent.go
+++ /dev/null
@@ -1,10 +0,0 @@
-// Copyright 2019, The Go Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style
-// license that can be found in the LICENSE file.
-
-// +build go1.10
-
-package flags
-
-// AtLeastGo110 reports whether the Go toolchain is at least Go 1.10.
-const AtLeastGo110 = true
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/name.go b/vendor/github.com/google/go-cmp/cmp/internal/value/name.go
index b6c12cefb..7b498bb2c 100644
--- a/vendor/github.com/google/go-cmp/cmp/internal/value/name.go
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/name.go
@@ -9,6 +9,8 @@ import (
"strconv"
)
+var anyType = reflect.TypeOf((*interface{})(nil)).Elem()
+
// TypeString is nearly identical to reflect.Type.String,
// but has an additional option to specify that full type names be used.
func TypeString(t reflect.Type, qualified bool) string {
@@ -20,6 +22,11 @@ func appendTypeName(b []byte, t reflect.Type, qualified, elideFunc bool) []byte
// of the same name and within the same package,
// but declared within the namespace of different functions.
+ // Use the "any" alias instead of "interface{}" for better readability.
+ if t == anyType {
+ return append(b, "any"...)
+ }
+
// Named type.
if t.Name() != "" {
if qualified && t.PkgPath() != "" {
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go
index 44f4a5afd..1a71bfcbd 100644
--- a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_purego.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build purego
// +build purego
package value
diff --git a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go
index a605953d4..16e6860af 100644
--- a/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go
+++ b/vendor/github.com/google/go-cmp/cmp/internal/value/pointer_unsafe.go
@@ -2,6 +2,7 @@
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
+//go:build !purego
// +build !purego
package value
diff --git a/vendor/github.com/google/go-cmp/cmp/path.go b/vendor/github.com/google/go-cmp/cmp/path.go
index f01eff318..c71003463 100644
--- a/vendor/github.com/google/go-cmp/cmp/path.go
+++ b/vendor/github.com/google/go-cmp/cmp/path.go
@@ -178,7 +178,7 @@ type structField struct {
unexported bool
mayForce bool // Forcibly allow visibility
paddr bool // Was parent addressable?
- pvx, pvy reflect.Value // Parent values (always addressible)
+ pvx, pvy reflect.Value // Parent values (always addressable)
field reflect.StructField // Field information
}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_reflect.go b/vendor/github.com/google/go-cmp/cmp/report_reflect.go
index 33f03577f..76c04fdbd 100644
--- a/vendor/github.com/google/go-cmp/cmp/report_reflect.go
+++ b/vendor/github.com/google/go-cmp/cmp/report_reflect.go
@@ -207,9 +207,10 @@ func (opts formatOptions) FormatValue(v reflect.Value, parentKind reflect.Kind,
// Check whether this is a []byte of text data.
if t.Elem() == reflect.TypeOf(byte(0)) {
b := v.Bytes()
- isPrintSpace := func(r rune) bool { return unicode.IsPrint(r) && unicode.IsSpace(r) }
+ isPrintSpace := func(r rune) bool { return unicode.IsPrint(r) || unicode.IsSpace(r) }
if len(b) > 0 && utf8.Valid(b) && len(bytes.TrimFunc(b, isPrintSpace)) == 0 {
out = opts.formatString("", string(b))
+ skipType = true
return opts.WithTypeMode(emitType).FormatType(t, out)
}
}
diff --git a/vendor/github.com/google/go-cmp/cmp/report_slices.go b/vendor/github.com/google/go-cmp/cmp/report_slices.go
index 2ad3bc85b..68b5c1ae1 100644
--- a/vendor/github.com/google/go-cmp/cmp/report_slices.go
+++ b/vendor/github.com/google/go-cmp/cmp/report_slices.go
@@ -80,7 +80,7 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
}
// Use specialized string diffing for longer slices or strings.
- const minLength = 64
+ const minLength = 32
return vx.Len() >= minLength && vy.Len() >= minLength
}
@@ -563,10 +563,10 @@ func cleanupSurroundingIdentical(groups []diffStats, eq func(i, j int) bool) []d
nx := ds.NumIdentical + ds.NumRemoved + ds.NumModified
ny := ds.NumIdentical + ds.NumInserted + ds.NumModified
var numLeadingIdentical, numTrailingIdentical int
- for i := 0; i < nx && i < ny && eq(ix+i, iy+i); i++ {
+ for j := 0; j < nx && j < ny && eq(ix+j, iy+j); j++ {
numLeadingIdentical++
}
- for i := 0; i < nx && i < ny && eq(ix+nx-1-i, iy+ny-1-i); i++ {
+ for j := 0; j < nx && j < ny && eq(ix+nx-1-j, iy+ny-1-j); j++ {
numTrailingIdentical++
}
if numIdentical := numLeadingIdentical + numTrailingIdentical; numIdentical > 0 {
diff --git a/vendor/github.com/hashicorp/go-getter/.gitignore b/vendor/github.com/hashicorp/go-getter/.gitignore
new file mode 100644
index 000000000..511ca2675
--- /dev/null
+++ b/vendor/github.com/hashicorp/go-getter/.gitignore
@@ -0,0 +1 @@
+cmd/go-getter/go-getter
diff --git a/vendor/github.com/hashicorp/go-getter/get_gcs.go b/vendor/github.com/hashicorp/go-getter/get_gcs.go
index 4f2172b24..678f9e685 100644
--- a/vendor/github.com/hashicorp/go-getter/get_gcs.go
+++ b/vendor/github.com/hashicorp/go-getter/get_gcs.go
@@ -3,6 +3,8 @@ package getter
import (
"context"
"fmt"
+ "golang.org/x/oauth2"
+ "google.golang.org/api/option"
"net/url"
"os"
"path/filepath"
@@ -28,7 +30,7 @@ func (g *GCSGetter) ClientMode(u *url.URL) (ClientMode, error) {
return 0, err
}
- client, err := storage.NewClient(ctx)
+ client, err := g.getClient(ctx)
if err != nil {
return 0, err
}
@@ -82,7 +84,7 @@ func (g *GCSGetter) Get(dst string, u *url.URL) error {
return err
}
- client, err := storage.NewClient(ctx)
+ client, err := g.getClient(ctx)
if err != nil {
return err
}
@@ -124,7 +126,7 @@ func (g *GCSGetter) GetFile(dst string, u *url.URL) error {
return err
}
- client, err := storage.NewClient(ctx)
+ client, err := g.getClient(ctx)
if err != nil {
return err
}
@@ -175,3 +177,20 @@ func (g *GCSGetter) parseURL(u *url.URL) (bucket, path, fragment string, err err
}
return
}
+
+func (g *GCSGetter) getClient(ctx context.Context) (client *storage.Client, err error) {
+ var opts []option.ClientOption
+
+ if v, ok := os.LookupEnv("GOOGLE_OAUTH_ACCESS_TOKEN"); ok {
+ tokenSource := oauth2.StaticTokenSource(&oauth2.Token{
+ AccessToken: v,
+ })
+ opts = append(opts, option.WithTokenSource(tokenSource))
+ }
+
+ newClient, err := storage.NewClient(ctx, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return newClient, nil
+}
diff --git a/vendor/github.com/hashicorp/go-getter/get_git.go b/vendor/github.com/hashicorp/go-getter/get_git.go
index 1b9f4be81..119fa6a3b 100644
--- a/vendor/github.com/hashicorp/go-getter/get_git.go
+++ b/vendor/github.com/hashicorp/go-getter/get_git.go
@@ -27,6 +27,7 @@ type GitGetter struct {
}
var defaultBranchRegexp = regexp.MustCompile(`\s->\sorigin/(.*)`)
+var lsRemoteSymRefRegexp = regexp.MustCompile(`ref: refs/heads/([^\s]+).*`)
func (g *GitGetter) ClientMode(_ *url.URL) (ClientMode, error) {
return ClientModeDir, nil
@@ -52,7 +53,7 @@ func (g *GitGetter) Get(dst string, u *url.URL) error {
// Extract some query parameters we use
var ref, sshKey string
- var depth int
+ depth := 0 // 0 means "don't use shallow clone"
q := u.Query()
if len(q) > 0 {
ref = q.Get("ref")
@@ -114,7 +115,7 @@ func (g *GitGetter) Get(dst string, u *url.URL) error {
if err == nil {
err = g.update(ctx, dst, sshKeyFile, ref, depth)
} else {
- err = g.clone(ctx, dst, sshKeyFile, u, depth)
+ err = g.clone(ctx, dst, sshKeyFile, u, ref, depth)
}
if err != nil {
return err
@@ -166,17 +167,53 @@ func (g *GitGetter) checkout(dst string, ref string) error {
return getRunCommand(cmd)
}
-func (g *GitGetter) clone(ctx context.Context, dst, sshKeyFile string, u *url.URL, depth int) error {
+// gitCommitIDRegex is a pattern intended to match strings that seem
+// "likely to be" git commit IDs, rather than named refs. This cannot be
+// an exact decision because it's valid to name a branch or tag after a series
+// of hexadecimal digits too.
+//
+// We require at least 7 digits here because that's the smallest size git
+// itself will typically generate, and so it'll reduce the risk of false
+// positives on short branch names that happen to also be "hex words".
+var gitCommitIDRegex = regexp.MustCompile("^[0-9a-fA-F]{7,40}$")
+
+func (g *GitGetter) clone(ctx context.Context, dst, sshKeyFile string, u *url.URL, ref string, depth int) error {
args := []string{"clone"}
+ originalRef := ref // we handle an unspecified ref differently than explicitly selecting the default branch below
+ if ref == "" {
+ ref = findRemoteDefaultBranch(u)
+ }
if depth > 0 {
args = append(args, "--depth", strconv.Itoa(depth))
+ args = append(args, "--branch", ref)
}
-
args = append(args, u.String(), dst)
+
cmd := exec.CommandContext(ctx, "git", args...)
setupGitEnv(cmd, sshKeyFile)
- return getRunCommand(cmd)
+ err := getRunCommand(cmd)
+ if err != nil {
+ if depth > 0 && originalRef != "" {
+ // If we're creating a shallow clone then the given ref must be
+ // a named ref (branch or tag) rather than a commit directly.
+ // We can't accurately recognize the resulting error here without
+ // hard-coding assumptions about git's human-readable output, but
+ // we can at least try a heuristic.
+ if gitCommitIDRegex.MatchString(originalRef) {
+ return fmt.Errorf("%w (note that setting 'depth' requires 'ref' to be a branch or tag name)", err)
+ }
+ }
+ return err
+ }
+
+ if depth < 1 && originalRef != "" {
+ // If we didn't add --depth and --branch above then we will now be
+ // on the remote repository's default branch, rather than the selected
+ // ref, so we'll need to fix that before we return.
+ return g.checkout(dst, originalRef)
+ }
+ return nil
}
func (g *GitGetter) update(ctx context.Context, dst, sshKeyFile, ref string, depth int) error {
@@ -236,6 +273,20 @@ func findDefaultBranch(dst string) string {
return matches[len(matches)-1]
}
+// findRemoteDefaultBranch checks the remote repo's HEAD symref to return the remote repo's
+// default branch. "master" is returned if no HEAD symref exists.
+func findRemoteDefaultBranch(u *url.URL) string {
+ var stdoutbuf bytes.Buffer
+ cmd := exec.Command("git", "ls-remote", "--symref", u.String(), "HEAD")
+ cmd.Stdout = &stdoutbuf
+ err := cmd.Run()
+ matches := lsRemoteSymRefRegexp.FindStringSubmatch(stdoutbuf.String())
+ if err != nil || matches == nil {
+ return "master"
+ }
+ return matches[len(matches)-1]
+}
+
// setupGitEnv sets up the environment for the given command. This is used to
// pass configuration data to git and ssh and enables advanced cloning methods.
func setupGitEnv(cmd *exec.Cmd, sshKeyFile string) {
diff --git a/vendor/github.com/hashicorp/go-getter/go.mod b/vendor/github.com/hashicorp/go-getter/go.mod
index b89a575b1..5bd971369 100644
--- a/vendor/github.com/hashicorp/go-getter/go.mod
+++ b/vendor/github.com/hashicorp/go-getter/go.mod
@@ -19,6 +19,7 @@ require (
github.com/pmezard/go-difflib v1.0.0 // indirect
github.com/stretchr/testify v1.2.2 // indirect
github.com/ulikunitz/xz v0.5.8
+ golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45
google.golang.org/api v0.9.0
gopkg.in/cheggaaa/pb.v1 v1.0.27 // indirect
)
diff --git a/vendor/github.com/hashicorp/go-getter/go.sum b/vendor/github.com/hashicorp/go-getter/go.sum
index 8aeb2b9c3..992b8b9b0 100644
--- a/vendor/github.com/hashicorp/go-getter/go.sum
+++ b/vendor/github.com/hashicorp/go-getter/go.sum
@@ -25,7 +25,6 @@ github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfU
github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
-github.com/golang/protobuf v1.2.0 h1:P3YflyNX/ehuJFLhxviNdFxQPkGK5cDcApsge1SqnvM=
github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
github.com/golang/protobuf v1.3.2 h1:6nsPYzhq5kReh6QImI3k5qWzO4PEbvbIW2cwSfR/6xs=
@@ -102,7 +101,6 @@ golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4Iltr
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45 h1:SVwTIAaPC2U/AvvLNZ2a7OVsmBpC8L5BlwK1whH3hm0=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
-golang.org/x/sync v0.0.0-20181108010431-42b317875d0f h1:Bl/8QSvNqXvPGPGXa2z5xUTmV7VDcZyvRZ+QQXkXTZQ=
golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
@@ -116,9 +114,7 @@ golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0 h1:HyfiK1WMnHj5FXFXatD+Qs1A/xC2Run6RzeW1SyHxpc=
golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2 h1:z99zHgr7hKfrUcX/KsoJk5FJfjTceCKIp96+biqP4To=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2 h1:tW2bmiBqwgJj/UpqtC8EpXEZVYOwU0yG4iWbprSVAcs=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
diff --git a/vendor/github.com/hashicorp/go-getter/url.go b/vendor/github.com/hashicorp/go-getter/url.go
index 1eaa4ce9f..a9aed7f50 100644
--- a/vendor/github.com/hashicorp/go-getter/url.go
+++ b/vendor/github.com/hashicorp/go-getter/url.go
@@ -3,9 +3,10 @@ package getter
import "net/url"
// RedactURL is a port of url.Redacted from the standard library,
-// which is like url.String but replaces any password with "xxxxx".
+// which is like url.String but replaces any password with "redacted".
// Only the password in u.URL is redacted. This allows the library
// to maintain compatibility with go1.14.
+// This port was also extended to redact SSH key from URL query parameter.
func RedactURL(u *url.URL) string {
if u == nil {
return ""
@@ -13,7 +14,12 @@ func RedactURL(u *url.URL) string {
ru := *u
if _, has := ru.User.Password(); has {
- ru.User = url.UserPassword(ru.User.Username(), "xxxxx")
+ ru.User = url.UserPassword(ru.User.Username(), "redacted")
+ }
+ q := ru.Query()
+ if q.Get("sshkey") != "" {
+ q.Set("sshkey", "redacted")
+ ru.RawQuery = q.Encode()
}
return ru.String()
}
diff --git a/vendor/github.com/hashicorp/go-hclog/README.md b/vendor/github.com/hashicorp/go-hclog/README.md
index 5d56f4b59..a16f5cd57 100644
--- a/vendor/github.com/hashicorp/go-hclog/README.md
+++ b/vendor/github.com/hashicorp/go-hclog/README.md
@@ -17,11 +17,8 @@ JSON output mode for production.
## Stability Note
-While this library is fully open source and HashiCorp will be maintaining it
-(since we are and will be making extensive use of it), the API and output
-format is subject to minor changes as we fully bake and vet it in our projects.
-This notice will be removed once it's fully integrated into our major projects
-and no further changes are anticipated.
+This library has reached 1.0 stability. It's API can be considered solidified
+and promised through future versions.
## Installation and Docs
@@ -102,7 +99,7 @@ into all the callers.
### Using `hclog.Fmt()`
```go
-var int totalBandwidth = 200
+totalBandwidth := 200
appLogger.Info("total bandwidth exceeded", "bandwidth", hclog.Fmt("%d GB/s", totalBandwidth))
```
@@ -146,3 +143,6 @@ log.Printf("[DEBUG] %d", 42)
Notice that if `appLogger` is initialized with the `INFO` log level _and_ you
specify `InferLevels: true`, you will not see any output here. You must change
`appLogger` to `DEBUG` to see output. See the docs for more information.
+
+If the log lines start with a timestamp you can use the
+`InferLevelsWithTimestamp` option to try and ignore them.
diff --git a/vendor/github.com/hashicorp/go-hclog/colorize_unix.go b/vendor/github.com/hashicorp/go-hclog/colorize_unix.go
index 44aa9bf2c..9635c838b 100644
--- a/vendor/github.com/hashicorp/go-hclog/colorize_unix.go
+++ b/vendor/github.com/hashicorp/go-hclog/colorize_unix.go
@@ -1,3 +1,4 @@
+//go:build !windows
// +build !windows
package hclog
@@ -21,6 +22,7 @@ func (l *intLogger) setColorization(opts *LoggerOptions) {
isCygwinTerm := isatty.IsCygwinTerminal(fi.Fd())
isTerm := isUnixTerm || isCygwinTerm
if !isTerm {
+ l.headerColor = ColorOff
l.writer.color = ColorOff
}
}
diff --git a/vendor/github.com/hashicorp/go-hclog/colorize_windows.go b/vendor/github.com/hashicorp/go-hclog/colorize_windows.go
index 23486b6d7..30859168e 100644
--- a/vendor/github.com/hashicorp/go-hclog/colorize_windows.go
+++ b/vendor/github.com/hashicorp/go-hclog/colorize_windows.go
@@ -1,3 +1,4 @@
+//go:build windows
// +build windows
package hclog
@@ -26,8 +27,12 @@ func (l *intLogger) setColorization(opts *LoggerOptions) {
isTerm := isUnixTerm || isCygwinTerm
if !isTerm {
l.writer.color = ColorOff
+ l.headerColor = ColorOff
return
}
- l.writer.w = colorable.NewColorable(fi)
+
+ if l.headerColor == ColorOff {
+ l.writer.w = colorable.NewColorable(fi)
+ }
}
}
diff --git a/vendor/github.com/hashicorp/go-hclog/global.go b/vendor/github.com/hashicorp/go-hclog/global.go
index 22ebc57d8..b9f00217c 100644
--- a/vendor/github.com/hashicorp/go-hclog/global.go
+++ b/vendor/github.com/hashicorp/go-hclog/global.go
@@ -2,6 +2,7 @@ package hclog
import (
"sync"
+ "time"
)
var (
@@ -14,6 +15,7 @@ var (
DefaultOptions = &LoggerOptions{
Level: DefaultLevel,
Output: DefaultOutput,
+ TimeFn: time.Now,
}
)
diff --git a/vendor/github.com/hashicorp/go-hclog/interceptlogger.go b/vendor/github.com/hashicorp/go-hclog/interceptlogger.go
index 631baf2f0..ff42f1bfc 100644
--- a/vendor/github.com/hashicorp/go-hclog/interceptlogger.go
+++ b/vendor/github.com/hashicorp/go-hclog/interceptlogger.go
@@ -180,9 +180,10 @@ func (i *interceptLogger) StandardWriterIntercept(opts *StandardLoggerOptions) i
func (i *interceptLogger) StandardWriter(opts *StandardLoggerOptions) io.Writer {
return &stdlogAdapter{
- log: i,
- inferLevels: opts.InferLevels,
- forceLevel: opts.ForceLevel,
+ log: i,
+ inferLevels: opts.InferLevels,
+ inferLevelsWithTimestamp: opts.InferLevelsWithTimestamp,
+ forceLevel: opts.ForceLevel,
}
}
diff --git a/vendor/github.com/hashicorp/go-hclog/intlogger.go b/vendor/github.com/hashicorp/go-hclog/intlogger.go
index d491ae8f9..83232f7a6 100644
--- a/vendor/github.com/hashicorp/go-hclog/intlogger.go
+++ b/vendor/github.com/hashicorp/go-hclog/intlogger.go
@@ -60,6 +60,7 @@ type intLogger struct {
callerOffset int
name string
timeFormat string
+ timeFn TimeFunction
disableTime bool
// This is an interface so that it's shared by any derived loggers, since
@@ -68,6 +69,8 @@ type intLogger struct {
writer *writer
level *int32
+ headerColor ColorOption
+
implied []interface{}
exclude func(level Level, msg string, args ...interface{}) bool
@@ -112,16 +115,28 @@ func newLogger(opts *LoggerOptions) *intLogger {
mutex = new(sync.Mutex)
}
+ var primaryColor, headerColor ColorOption
+
+ if opts.ColorHeaderOnly {
+ primaryColor = ColorOff
+ headerColor = opts.Color
+ } else {
+ primaryColor = opts.Color
+ headerColor = ColorOff
+ }
+
l := &intLogger{
json: opts.JSONFormat,
name: opts.Name,
timeFormat: TimeFormat,
+ timeFn: time.Now,
disableTime: opts.DisableTime,
mutex: mutex,
- writer: newWriter(output, opts.Color),
+ writer: newWriter(output, primaryColor),
level: new(int32),
exclude: opts.Exclude,
independentLevels: opts.IndependentLevels,
+ headerColor: headerColor,
}
if opts.IncludeLocation {
l.callerOffset = offsetIntLogger + opts.AdditionalLocationOffset
@@ -130,6 +145,9 @@ func newLogger(opts *LoggerOptions) *intLogger {
if l.json {
l.timeFormat = TimeFormatJSON
}
+ if opts.TimeFn != nil {
+ l.timeFn = opts.TimeFn
+ }
if opts.TimeFormat != "" {
l.timeFormat = opts.TimeFormat
}
@@ -152,7 +170,7 @@ func (l *intLogger) log(name string, level Level, msg string, args ...interface{
return
}
- t := time.Now()
+ t := l.timeFn()
l.mutex.Lock()
defer l.mutex.Unlock()
@@ -199,6 +217,24 @@ func trimCallerPath(path string) string {
return path[idx+1:]
}
+// isNormal indicates if the rune is one allowed to exist as an unquoted
+// string value. This is a subset of ASCII, `-` through `~`.
+func isNormal(r rune) bool {
+ return 0x2D <= r && r <= 0x7E // - through ~
+}
+
+// needsQuoting returns false if all the runes in string are normal, according
+// to isNormal
+func needsQuoting(str string) bool {
+ for _, r := range str {
+ if !isNormal(r) {
+ return true
+ }
+ }
+
+ return false
+}
+
// Non-JSON logging format function
func (l *intLogger) logPlain(t time.Time, name string, level Level, msg string, args ...interface{}) {
@@ -209,7 +245,12 @@ func (l *intLogger) logPlain(t time.Time, name string, level Level, msg string,
s, ok := _levelToBracket[level]
if ok {
- l.writer.WriteString(s)
+ if l.headerColor != ColorOff {
+ color := _levelToColor[level]
+ color.Fprint(l.writer, s)
+ } else {
+ l.writer.WriteString(s)
+ }
} else {
l.writer.WriteString("[?????]")
}
@@ -263,6 +304,7 @@ func (l *intLogger) logPlain(t time.Time, name string, level Level, msg string,
val = st
if st == "" {
val = `""`
+ raw = true
}
case int:
val = strconv.FormatInt(int64(st), 10)
@@ -323,13 +365,11 @@ func (l *intLogger) logPlain(t time.Time, name string, level Level, msg string,
l.writer.WriteString("=\n")
writeIndent(l.writer, val, " | ")
l.writer.WriteString(" ")
- } else if !raw && strings.ContainsAny(val, " \t") {
+ } else if !raw && needsQuoting(val) {
l.writer.WriteByte(' ')
l.writer.WriteString(key)
l.writer.WriteByte('=')
- l.writer.WriteByte('"')
- l.writer.WriteString(val)
- l.writer.WriteByte('"')
+ l.writer.WriteString(strconv.Quote(val))
} else {
l.writer.WriteByte(' ')
l.writer.WriteString(key)
@@ -687,9 +727,10 @@ func (l *intLogger) StandardWriter(opts *StandardLoggerOptions) io.Writer {
newLog.callerOffset = l.callerOffset + 4
}
return &stdlogAdapter{
- log: &newLog,
- inferLevels: opts.InferLevels,
- forceLevel: opts.ForceLevel,
+ log: &newLog,
+ inferLevels: opts.InferLevels,
+ inferLevelsWithTimestamp: opts.InferLevelsWithTimestamp,
+ forceLevel: opts.ForceLevel,
}
}
diff --git a/vendor/github.com/hashicorp/go-hclog/logger.go b/vendor/github.com/hashicorp/go-hclog/logger.go
index 6a4665ba9..858143028 100644
--- a/vendor/github.com/hashicorp/go-hclog/logger.go
+++ b/vendor/github.com/hashicorp/go-hclog/logger.go
@@ -5,6 +5,7 @@ import (
"log"
"os"
"strings"
+ "time"
)
var (
@@ -212,6 +213,15 @@ type StandardLoggerOptions struct {
// [DEBUG] and strip it off before reapplying it.
InferLevels bool
+ // Indicate that some minimal parsing should be done on strings to try
+ // and detect their level and re-emit them while ignoring possible
+ // timestamp values in the beginning of the string.
+ // This supports the strings like [ERROR], [ERR] [TRACE], [WARN], [INFO],
+ // [DEBUG] and strip it off before reapplying it.
+ // The timestamp detection may result in false positives and incomplete
+ // string outputs.
+ InferLevelsWithTimestamp bool
+
// ForceLevel is used to force all output from the standard logger to be at
// the specified level. Similar to InferLevels, this will strip any level
// prefix contained in the logged string before applying the forced level.
@@ -219,6 +229,8 @@ type StandardLoggerOptions struct {
ForceLevel Level
}
+type TimeFunction = func() time.Time
+
// LoggerOptions can be used to configure a new logger.
type LoggerOptions struct {
// Name of the subsystem to prefix logs with
@@ -248,6 +260,9 @@ type LoggerOptions struct {
// The time format to use instead of the default
TimeFormat string
+ // A function which is called to get the time object that is formatted using `TimeFormat`
+ TimeFn TimeFunction
+
// Control whether or not to display the time at all. This is required
// because setting TimeFormat to empty assumes the default format.
DisableTime bool
@@ -256,6 +271,9 @@ type LoggerOptions struct {
// are concretely instances of *os.File.
Color ColorOption
+ // Only color the header, not the body. This can help with readability of long messages.
+ ColorHeaderOnly bool
+
// A function which is called with the log information and if it returns true the value
// should not be logged.
// This is useful when interacting with a system that you wish to suppress the log
diff --git a/vendor/github.com/hashicorp/go-hclog/stdlog.go b/vendor/github.com/hashicorp/go-hclog/stdlog.go
index 271d546d5..641f20ccb 100644
--- a/vendor/github.com/hashicorp/go-hclog/stdlog.go
+++ b/vendor/github.com/hashicorp/go-hclog/stdlog.go
@@ -3,16 +3,22 @@ package hclog
import (
"bytes"
"log"
+ "regexp"
"strings"
)
+// Regex to ignore characters commonly found in timestamp formats from the
+// beginning of inputs.
+var logTimestampRegexp = regexp.MustCompile(`^[\d\s\:\/\.\+-TZ]*`)
+
// Provides a io.Writer to shim the data out of *log.Logger
// and back into our Logger. This is basically the only way to
// build upon *log.Logger.
type stdlogAdapter struct {
- log Logger
- inferLevels bool
- forceLevel Level
+ log Logger
+ inferLevels bool
+ inferLevelsWithTimestamp bool
+ forceLevel Level
}
// Take the data, infer the levels if configured, and send it through
@@ -28,6 +34,10 @@ func (s *stdlogAdapter) Write(data []byte) (int, error) {
// Log at the forced level
s.dispatch(str, s.forceLevel)
} else if s.inferLevels {
+ if s.inferLevelsWithTimestamp {
+ str = s.trimTimestamp(str)
+ }
+
level, str := s.pickLevel(str)
s.dispatch(str, level)
} else {
@@ -74,6 +84,11 @@ func (s *stdlogAdapter) pickLevel(str string) (Level, string) {
}
}
+func (s *stdlogAdapter) trimTimestamp(str string) string {
+ idx := logTimestampRegexp.FindStringIndex(str)
+ return str[idx[1]:]
+}
+
type logWriter struct {
l *log.Logger
}
diff --git a/vendor/github.com/hashicorp/go-version/CHANGELOG.md b/vendor/github.com/hashicorp/go-version/CHANGELOG.md
index dbae7f7be..2020c4727 100644
--- a/vendor/github.com/hashicorp/go-version/CHANGELOG.md
+++ b/vendor/github.com/hashicorp/go-version/CHANGELOG.md
@@ -1,3 +1,10 @@
+# 1.4.0 (January 5, 2021)
+
+FEATURES:
+
+ - Introduce `MustConstraints()` ([#87](https://github.com/hashicorp/go-version/pull/87))
+ - `Constraints`: Introduce `Equals()` and `sort.Interface` methods ([#88](https://github.com/hashicorp/go-version/pull/88))
+
# 1.3.0 (March 31, 2021)
Please note that CHANGELOG.md does not exist in the source code prior to this release.
diff --git a/vendor/github.com/hashicorp/go-version/constraint.go b/vendor/github.com/hashicorp/go-version/constraint.go
index d05575961..1d8809028 100644
--- a/vendor/github.com/hashicorp/go-version/constraint.go
+++ b/vendor/github.com/hashicorp/go-version/constraint.go
@@ -4,6 +4,7 @@ import (
"fmt"
"reflect"
"regexp"
+ "sort"
"strings"
)
@@ -11,30 +12,40 @@ import (
// ">= 1.0".
type Constraint struct {
f constraintFunc
+ op operator
check *Version
original string
}
+func (c *Constraint) Equals(con *Constraint) bool {
+ return c.op == con.op && c.check.Equal(con.check)
+}
+
// Constraints is a slice of constraints. We make a custom type so that
// we can add methods to it.
type Constraints []*Constraint
type constraintFunc func(v, c *Version) bool
-var constraintOperators map[string]constraintFunc
+var constraintOperators map[string]constraintOperation
+
+type constraintOperation struct {
+ op operator
+ f constraintFunc
+}
var constraintRegexp *regexp.Regexp
func init() {
- constraintOperators = map[string]constraintFunc{
- "": constraintEqual,
- "=": constraintEqual,
- "!=": constraintNotEqual,
- ">": constraintGreaterThan,
- "<": constraintLessThan,
- ">=": constraintGreaterThanEqual,
- "<=": constraintLessThanEqual,
- "~>": constraintPessimistic,
+ constraintOperators = map[string]constraintOperation{
+ "": {op: equal, f: constraintEqual},
+ "=": {op: equal, f: constraintEqual},
+ "!=": {op: notEqual, f: constraintNotEqual},
+ ">": {op: greaterThan, f: constraintGreaterThan},
+ "<": {op: lessThan, f: constraintLessThan},
+ ">=": {op: greaterThanEqual, f: constraintGreaterThanEqual},
+ "<=": {op: lessThanEqual, f: constraintLessThanEqual},
+ "~>": {op: pessimistic, f: constraintPessimistic},
}
ops := make([]string, 0, len(constraintOperators))
@@ -66,6 +77,16 @@ func NewConstraint(v string) (Constraints, error) {
return Constraints(result), nil
}
+// MustConstraints is a helper that wraps a call to a function
+// returning (Constraints, error) and panics if error is non-nil.
+func MustConstraints(c Constraints, err error) Constraints {
+ if err != nil {
+ panic(err)
+ }
+
+ return c
+}
+
// Check tests if a version satisfies all the constraints.
func (cs Constraints) Check(v *Version) bool {
for _, c := range cs {
@@ -77,6 +98,56 @@ func (cs Constraints) Check(v *Version) bool {
return true
}
+// Equals compares Constraints with other Constraints
+// for equality. This may not represent logical equivalence
+// of compared constraints.
+// e.g. even though '>0.1,>0.2' is logically equivalent
+// to '>0.2' it is *NOT* treated as equal.
+//
+// Missing operator is treated as equal to '=', whitespaces
+// are ignored and constraints are sorted before comaparison.
+func (cs Constraints) Equals(c Constraints) bool {
+ if len(cs) != len(c) {
+ return false
+ }
+
+ // make copies to retain order of the original slices
+ left := make(Constraints, len(cs))
+ copy(left, cs)
+ sort.Stable(left)
+ right := make(Constraints, len(c))
+ copy(right, c)
+ sort.Stable(right)
+
+ // compare sorted slices
+ for i, con := range left {
+ if !con.Equals(right[i]) {
+ return false
+ }
+ }
+
+ return true
+}
+
+func (cs Constraints) Len() int {
+ return len(cs)
+}
+
+func (cs Constraints) Less(i, j int) bool {
+ if cs[i].op < cs[j].op {
+ return true
+ }
+ if cs[i].op > cs[j].op {
+ return false
+ }
+
+ return cs[i].check.LessThan(cs[j].check)
+}
+
+func (cs Constraints) Swap(i, j int) {
+ cs[i], cs[j] = cs[j], cs[i]
+}
+
// Returns the string format of the constraints
func (cs Constraints) String() string {
csStr := make([]string, len(cs))
@@ -107,8 +178,11 @@ func parseSingle(v string) (*Constraint, error) {
return nil, err
}
+ cop := constraintOperators[matches[1]]
+
return &Constraint{
- f: constraintOperators[matches[1]],
+ f: cop.f,
+ op: cop.op,
check: check,
original: v,
}, nil
@@ -138,6 +212,18 @@ func prereleaseCheck(v, c *Version) bool {
// Constraint functions
//-------------------------------------------------------------------
+type operator rune
+
+const (
+ equal operator = '='
+ notEqual operator = '≠'
+ greaterThan operator = '>'
+ lessThan operator = '<'
+ greaterThanEqual operator = '≥'
+ lessThanEqual operator = '≤'
+ pessimistic operator = '~'
+)
+
func constraintEqual(v, c *Version) bool {
return v.Equal(c)
}
diff --git a/vendor/github.com/hashicorp/go-version/version.go b/vendor/github.com/hashicorp/go-version/version.go
index 8068834ec..116a74466 100644
--- a/vendor/github.com/hashicorp/go-version/version.go
+++ b/vendor/github.com/hashicorp/go-version/version.go
@@ -64,7 +64,6 @@ func newVersion(v string, pattern *regexp.Regexp) (*Version, error) {
}
segmentsStr := strings.Split(matches[1], ".")
segments := make([]int64, len(segmentsStr))
- si := 0
for i, str := range segmentsStr {
val, err := strconv.ParseInt(str, 10, 64)
if err != nil {
@@ -72,8 +71,7 @@ func newVersion(v string, pattern *regexp.Regexp) (*Version, error) {
"Error parsing version: %s", err)
}
- segments[i] = int64(val)
- si++
+ segments[i] = val
}
// Even though we could support more than three segments, if we
@@ -92,7 +90,7 @@ func newVersion(v string, pattern *regexp.Regexp) (*Version, error) {
metadata: matches[10],
pre: pre,
segments: segments,
- si: si,
+ si: len(segmentsStr),
original: v,
}, nil
}
diff --git a/vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md b/vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md
index 816f2092e..02b95669b 100644
--- a/vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md
+++ b/vendor/github.com/hashicorp/hcl/v2/CHANGELOG.md
@@ -1,5 +1,22 @@
# HCL Changelog
+## v2.11.1 (Dec 1, 2021)
+
+### Bugs Fixed
+
+* hclsyntax: The type for an upgraded unknown value with a splat expression cannot be known ([#495](https://github.com/hashicorp/hcl/pull/495))
+
+
+## v2.11.0 (Dec 1, 2021)
+
+### Enhancements
+
+* hclsyntax: Various error messages related to unexpectedly reaching end of file while parsing a delimited subtree will now return specialized messages describing the opening tokens as "unclosed", instead of returning a generic diagnostic that just happens to refer to the empty source range at the end of the file. This gives better feedback when error messages are being presented alongside a source code snippet, as is common in HCL-based applications, because it shows which innermost container the parser was working on when it encountered the error. ([#492](https://github.com/hashicorp/hcl/pull/492))
+
+### Bugs Fixed
+
+* hclsyntax: Upgrading an unknown single value to a list using a splat expression must return unknown ([#493](https://github.com/hashicorp/hcl/pull/493))
+
## v2.10.1 (July 21, 2021)
* dynblock: Decode unknown dynamic blocks in order to obtain any diagnostics even though the decoded value is not used ([#476](https://github.com/hashicorp/hcl/pull/476))
diff --git a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go
index df6152817..07464a6b6 100644
--- a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go
+++ b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/expression.go
@@ -1432,9 +1432,22 @@ func (e *SplatExpr) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
return cty.DynamicVal, diags
}
+ upgradedUnknown := false
if autoUpgrade {
+ // If we're upgrading an unknown value to a tuple/list, the result
+ // cannot be known. Otherwise a tuple containing an unknown value will
+ // upgrade to a different number of elements depending on whether
+ // sourceVal becomes null or not.
+ // We record this condition here so we can process any remaining
+ // expression after the * to verify the result of the traversal. For
+ // example, it is valid to use a splat on a single object to retrieve a
+ // list of a single attribute, but we still need to check if that
+ // attribute actually exists.
+ upgradedUnknown = !sourceVal.IsKnown()
+
sourceVal = cty.TupleVal([]cty.Value{sourceVal})
sourceTy = sourceVal.Type()
+
}
// We'll compute our result type lazily if we need it. In the normal case
@@ -1499,6 +1512,10 @@ func (e *SplatExpr) Value(ctx *hcl.EvalContext) (cty.Value, hcl.Diagnostics) {
}
e.Item.clearValue(ctx) // clean up our temporary value
+ if upgradedUnknown {
+ return cty.DynamicVal, diags
+ }
+
if !isKnown {
// We'll ingore the resultTy diagnostics in this case since they
// will just be the same errors we saw while iterating above.
diff --git a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go
index ff72713f0..287e8293c 100644
--- a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go
+++ b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser.go
@@ -76,14 +76,37 @@ Token:
default:
bad := p.Read()
if !p.recovery {
- if bad.Type == TokenOQuote {
+ switch bad.Type {
+ case TokenOQuote:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
Summary: "Invalid argument name",
Detail: "Argument names must not be quoted.",
Subject: &bad.Range,
})
- } else {
+ case TokenEOF:
+ switch end {
+ case TokenCBrace:
+ // If we're looking for a closing brace then we're parsing a block
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unclosed configuration block",
+ Detail: "There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",
+ Subject: &startRange,
+ })
+ default:
+ // The only other "end" should itself be TokenEOF (for
+ // the top-level body) and so we shouldn't get here,
+ // but we'll return a generic error message anyway to
+ // be resilient.
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unclosed configuration body",
+ Detail: "Found end of file before the end of this configuration body.",
+ Subject: &startRange,
+ })
+ }
+ default:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
Summary: "Argument or block definition required",
@@ -388,12 +411,23 @@ Token:
// user intent for this one, we'll skip it if we're already in
// recovery mode.
if !p.recovery {
- diags = append(diags, &hcl.Diagnostic{
- Severity: hcl.DiagError,
- Summary: "Invalid single-argument block definition",
- Detail: "A single-line block definition must end with a closing brace immediately after its single argument definition.",
- Subject: p.Peek().Range.Ptr(),
- })
+ switch p.Peek().Type {
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unclosed configuration block",
+ Detail: "There is no closing brace for this block before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",
+ Subject: oBrace.Range.Ptr(),
+ Context: hcl.RangeBetween(ident.Range, oBrace.Range).Ptr(),
+ })
+ default:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Invalid single-argument block definition",
+ Detail: "A single-line block definition must end with a closing brace immediately after its single argument definition.",
+ Subject: p.Peek().Range.Ptr(),
+ })
+ }
}
p.recover(TokenCBrace)
}
@@ -1059,12 +1093,22 @@ func (p *parser) parseExpressionTerm() (Expression, hcl.Diagnostics) {
default:
var diags hcl.Diagnostics
if !p.recovery {
- diags = append(diags, &hcl.Diagnostic{
- Severity: hcl.DiagError,
- Summary: "Invalid expression",
- Detail: "Expected the start of an expression, but found an invalid expression token.",
- Subject: &start.Range,
- })
+ switch start.Type {
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Missing expression",
+ Detail: "Expected the start of an expression, but found the end of the file.",
+ Subject: &start.Range,
+ })
+ default:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Invalid expression",
+ Detail: "Expected the start of an expression, but found an invalid expression token.",
+ Subject: &start.Range,
+ })
+ }
}
p.setRecovery()
@@ -1163,13 +1207,23 @@ Token:
}
if sep.Type != TokenComma {
- diags = append(diags, &hcl.Diagnostic{
- Severity: hcl.DiagError,
- Summary: "Missing argument separator",
- Detail: "A comma is required to separate each function argument from the next.",
- Subject: &sep.Range,
- Context: hcl.RangeBetween(name.Range, sep.Range).Ptr(),
- })
+ switch sep.Type {
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unterminated function call",
+ Detail: "There is no closing parenthesis for this function call before the end of the file. This may be caused by incorrect parethesis nesting elsewhere in this file.",
+ Subject: hcl.RangeBetween(name.Range, openTok.Range).Ptr(),
+ })
+ default:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Missing argument separator",
+ Detail: "A comma is required to separate each function argument from the next.",
+ Subject: &sep.Range,
+ Context: hcl.RangeBetween(name.Range, sep.Range).Ptr(),
+ })
+ }
closeTok = p.recover(TokenCParen)
break Token
}
@@ -1242,13 +1296,23 @@ func (p *parser) parseTupleCons() (Expression, hcl.Diagnostics) {
if next.Type != TokenComma {
if !p.recovery {
- diags = append(diags, &hcl.Diagnostic{
- Severity: hcl.DiagError,
- Summary: "Missing item separator",
- Detail: "Expected a comma to mark the beginning of the next item.",
- Subject: &next.Range,
- Context: hcl.RangeBetween(open.Range, next.Range).Ptr(),
- })
+ switch next.Type {
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unterminated tuple constructor expression",
+ Detail: "There is no corresponding closing bracket before the end of the file. This may be caused by incorrect bracket nesting elsewhere in this file.",
+ Subject: open.Range.Ptr(),
+ })
+ default:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Missing item separator",
+ Detail: "Expected a comma to mark the beginning of the next item.",
+ Subject: &next.Range,
+ Context: hcl.RangeBetween(open.Range, next.Range).Ptr(),
+ })
+ }
}
close = p.recover(TokenCBrack)
break
@@ -1359,6 +1423,13 @@ func (p *parser) parseObjectCons() (Expression, hcl.Diagnostics) {
Subject: &next.Range,
Context: hcl.RangeBetween(open.Range, next.Range).Ptr(),
})
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unterminated object constructor expression",
+ Detail: "There is no corresponding closing brace before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",
+ Subject: open.Range.Ptr(),
+ })
default:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
@@ -1399,13 +1470,23 @@ func (p *parser) parseObjectCons() (Expression, hcl.Diagnostics) {
if next.Type != TokenComma && next.Type != TokenNewline {
if !p.recovery {
- diags = append(diags, &hcl.Diagnostic{
- Severity: hcl.DiagError,
- Summary: "Missing attribute separator",
- Detail: "Expected a newline or comma to mark the beginning of the next attribute.",
- Subject: &next.Range,
- Context: hcl.RangeBetween(open.Range, next.Range).Ptr(),
- })
+ switch next.Type {
+ case TokenEOF:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unterminated object constructor expression",
+ Detail: "There is no corresponding closing brace before the end of the file. This may be caused by incorrect brace nesting elsewhere in this file.",
+ Subject: open.Range.Ptr(),
+ })
+ default:
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Missing attribute separator",
+ Detail: "Expected a newline or comma to mark the beginning of the next attribute.",
+ Subject: &next.Range,
+ Context: hcl.RangeBetween(open.Range, next.Range).Ptr(),
+ })
+ }
}
close = p.recover(TokenCBrace)
break
diff --git a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser_template.go b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser_template.go
index 02181fc79..ae8805856 100644
--- a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser_template.go
+++ b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/parser_template.go
@@ -414,22 +414,42 @@ Token:
if close.Type != TokenTemplateSeqEnd {
if !p.recovery {
switch close.Type {
- case TokenColon:
+ case TokenEOF:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
- Summary: "Extra characters after interpolation expression",
- Detail: "Template interpolation doesn't expect a colon at this location. Did you intend this to be a literal sequence to be processed as part of another language? If so, you can escape it by starting with \"$${\" instead of just \"${\".",
- Subject: &close.Range,
- Context: hcl.RangeBetween(startRange, close.Range).Ptr(),
+ Summary: "Unclosed template interpolation sequence",
+ Detail: "There is no closing brace for this interpolation sequence before the end of the file. This might be caused by incorrect nesting inside the given expression.",
+ Subject: &startRange,
})
- default:
+ case TokenColon:
diags = append(diags, &hcl.Diagnostic{
Severity: hcl.DiagError,
Summary: "Extra characters after interpolation expression",
- Detail: "Expected a closing brace to end the interpolation expression, but found extra characters.\n\nThis can happen when you include interpolation syntax for another language, such as shell scripting, but forget to escape the interpolation start token. If this is an embedded sequence for another language, escape it by starting with \"$${\" instead of just \"${\".",
+ Detail: "Template interpolation doesn't expect a colon at this location. Did you intend this to be a literal sequence to be processed as part of another language? If so, you can escape it by starting with \"$${\" instead of just \"${\".",
Subject: &close.Range,
Context: hcl.RangeBetween(startRange, close.Range).Ptr(),
})
+ default:
+ if (close.Type == TokenCQuote || close.Type == TokenOQuote) && end == TokenCQuote {
+ // We'll get here if we're processing a _quoted_
+ // template and we find an errant quote inside an
+ // interpolation sequence, which suggests that
+ // the interpolation sequence is missing its terminator.
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Unclosed template interpolation sequence",
+ Detail: "There is no closing brace for this interpolation sequence before the end of the quoted template. This might be caused by incorrect nesting inside the given expression.",
+ Subject: &startRange,
+ })
+ } else {
+ diags = append(diags, &hcl.Diagnostic{
+ Severity: hcl.DiagError,
+ Summary: "Extra characters after interpolation expression",
+ Detail: "Expected a closing brace to end the interpolation expression, but found extra characters.\n\nThis can happen when you include interpolation syntax for another language, such as shell scripting, but forget to escape the interpolation start token. If this is an embedded sequence for another language, escape it by starting with \"$${\" instead of just \"${\".",
+ Subject: &close.Range,
+ Context: hcl.RangeBetween(startRange, close.Range).Ptr(),
+ })
+ }
}
}
p.recover(TokenTemplateSeqEnd)
diff --git a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/spec.md b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/spec.md
index 5543bde36..33c152daa 100644
--- a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/spec.md
+++ b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/spec.md
@@ -491,7 +491,7 @@ that were produced against each distinct key.
- `[for v in ["a", "b"]: v]` returns `["a", "b"]`.
- `[for i, v in ["a", "b"]: i]` returns `[0, 1]`.
- `{for i, v in ["a", "b"]: v => i}` returns `{a = 0, b = 1}`.
-- `{for i, v in ["a", "a", "b"]: k => v}` produces an error, because attribute
+- `{for i, v in ["a", "a", "b"]: v => i}` produces an error, because attribute
`a` is defined twice.
- `{for i, v in ["a", "a", "b"]: v => i...}` returns `{a = [0, 1], b = [2]}`.
@@ -890,7 +890,7 @@ as templates.
- `hello ${true}` produces the string `"hello true"`
- `${""}${true}` produces the string `"true"` because there are two
interpolation sequences, even though one produces an empty result.
-- `%{ for v in [true] }${v}%{ endif }` produces the string `true` because
+- `%{ for v in [true] }${v}%{ endfor }` produces the string `true` because
the presence of the `for` directive circumvents the unwrapping even though
the final result is a single value.
diff --git a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/structure.go b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/structure.go
index 2f7470c77..f42ae918e 100644
--- a/vendor/github.com/hashicorp/hcl/v2/hclsyntax/structure.go
+++ b/vendor/github.com/hashicorp/hcl/v2/hclsyntax/structure.go
@@ -13,17 +13,12 @@ func (b *Block) AsHCLBlock() *hcl.Block {
return nil
}
- lastHeaderRange := b.TypeRange
- if len(b.LabelRanges) > 0 {
- lastHeaderRange = b.LabelRanges[len(b.LabelRanges)-1]
- }
-
return &hcl.Block{
Type: b.Type,
Labels: b.Labels,
Body: b.Body,
- DefRange: hcl.RangeBetween(b.TypeRange, lastHeaderRange),
+ DefRange: b.DefRange(),
TypeRange: b.TypeRange,
LabelRanges: b.LabelRanges,
}
@@ -40,7 +35,7 @@ type Body struct {
hiddenBlocks map[string]struct{}
SrcRange hcl.Range
- EndRange hcl.Range // Final token of the body, for reporting missing items
+ EndRange hcl.Range // Final token of the body (zero-length range)
}
// Assert that *Body implements hcl.Body
@@ -390,5 +385,9 @@ func (b *Block) Range() hcl.Range {
}
func (b *Block) DefRange() hcl.Range {
- return hcl.RangeBetween(b.TypeRange, b.OpenBraceRange)
+ lastHeaderRange := b.TypeRange
+ if len(b.LabelRanges) > 0 {
+ lastHeaderRange = b.LabelRanges[len(b.LabelRanges)-1]
+ }
+ return hcl.RangeBetween(b.TypeRange, lastHeaderRange)
}
diff --git a/vendor/github.com/hashicorp/yamux/session.go b/vendor/github.com/hashicorp/yamux/session.go
index cac83bf9b..046a3d301 100644
--- a/vendor/github.com/hashicorp/yamux/session.go
+++ b/vendor/github.com/hashicorp/yamux/session.go
@@ -80,7 +80,7 @@ type Session struct {
// or to directly send a header
type sendReady struct {
Hdr []byte
- Body io.Reader
+ Body []byte
Err chan error
}
@@ -352,7 +352,7 @@ func (s *Session) keepalive() {
}
// waitForSendErr waits to send a header, checking for a potential shutdown
-func (s *Session) waitForSend(hdr header, body io.Reader) error {
+func (s *Session) waitForSend(hdr header, body []byte) error {
errCh := make(chan error, 1)
return s.waitForSendErr(hdr, body, errCh)
}
@@ -360,7 +360,7 @@ func (s *Session) waitForSend(hdr header, body io.Reader) error {
// waitForSendErr waits to send a header with optional data, checking for a
// potential shutdown. Since there's the expectation that sends can happen
// in a timely manner, we enforce the connection write timeout here.
-func (s *Session) waitForSendErr(hdr header, body io.Reader, errCh chan error) error {
+func (s *Session) waitForSendErr(hdr header, body []byte, errCh chan error) error {
t := timerPool.Get()
timer := t.(*time.Timer)
timer.Reset(s.config.ConnectionWriteTimeout)
@@ -440,7 +440,7 @@ func (s *Session) send() {
// Send data from a body if given
if ready.Body != nil {
- _, err := io.Copy(s.conn, ready.Body)
+ _, err := s.conn.Write(ready.Body)
if err != nil {
s.logger.Printf("[ERR] yamux: Failed to write body: %v", err)
asyncSendErr(ready.Err, err)
diff --git a/vendor/github.com/hashicorp/yamux/stream.go b/vendor/github.com/hashicorp/yamux/stream.go
index 4e2c5e550..f444bdc3c 100644
--- a/vendor/github.com/hashicorp/yamux/stream.go
+++ b/vendor/github.com/hashicorp/yamux/stream.go
@@ -169,7 +169,7 @@ func (s *Stream) Write(b []byte) (n int, err error) {
func (s *Stream) write(b []byte) (n int, err error) {
var flags uint16
var max uint32
- var body io.Reader
+ var body []byte
START:
s.stateLock.Lock()
switch s.state {
@@ -195,7 +195,7 @@ START:
// Send up to our send window
max = min(window, uint32(len(b)))
- body = bytes.NewReader(b[:max])
+ body = b[:max]
// Send the header
s.sendHdr.encode(typeData, flags, s.id, max)
diff --git a/vendor/github.com/klauspost/compress/.goreleaser.yml b/vendor/github.com/klauspost/compress/.goreleaser.yml
index c9014ce1d..0af08e65e 100644
--- a/vendor/github.com/klauspost/compress/.goreleaser.yml
+++ b/vendor/github.com/klauspost/compress/.goreleaser.yml
@@ -3,6 +3,7 @@
before:
hooks:
- ./gen.sh
+ - go install mvdan.cc/garble@latest
builds:
-
@@ -31,6 +32,7 @@ builds:
- mips64le
goarm:
- 7
+ gobinary: garble
-
id: "s2d"
binary: s2d
@@ -57,6 +59,7 @@ builds:
- mips64le
goarm:
- 7
+ gobinary: garble
-
id: "s2sx"
binary: s2sx
@@ -84,6 +87,7 @@ builds:
- mips64le
goarm:
- 7
+ gobinary: garble
archives:
-
diff --git a/vendor/github.com/klauspost/compress/README.md b/vendor/github.com/klauspost/compress/README.md
index 3429879eb..0e2dc116a 100644
--- a/vendor/github.com/klauspost/compress/README.md
+++ b/vendor/github.com/klauspost/compress/README.md
@@ -17,6 +17,49 @@ This package provides various compression algorithms.
# changelog
+* Mar 3, 2022 (v1.15.0)
+ * zstd: Refactor decoder by @klauspost in [#498](https://github.com/klauspost/compress/pull/498)
+ * zstd: Add stream encoding without goroutines by @klauspost in [#505](https://github.com/klauspost/compress/pull/505)
+ * huff0: Prevent single blocks exceeding 16 bits by @klauspost in[#507](https://github.com/klauspost/compress/pull/507)
+ * flate: Inline literal emission by @klauspost in [#509](https://github.com/klauspost/compress/pull/509)
+ * gzhttp: Add zstd to transport by @klauspost in [#400](https://github.com/klauspost/compress/pull/400)
+ * gzhttp: Make content-type optional by @klauspost in [#510](https://github.com/klauspost/compress/pull/510)
+
+
+ See Details
+Both compression and decompression now supports "synchronous" stream operations. This means that whenever "concurrency" is set to 1, they will operate without spawning goroutines.
+
+Stream decompression is now faster on asynchronous, since the goroutine allocation much more effectively splits the workload. On typical streams this will typically use 2 cores fully for decompression. When a stream has finished decoding no goroutines will be left over, so decoders can now safely be pooled and still be garbage collected.
+
+While the release has been extensively tested, it is recommended to testing when upgrading.
+
+
+* Feb 22, 2022 (v1.14.4)
+ * flate: Fix rare huffman only (-2) corruption. [#503](https://github.com/klauspost/compress/pull/503)
+ * zip: Update deprecated CreateHeaderRaw to correctly call CreateRaw by @saracen in [#502](https://github.com/klauspost/compress/pull/502)
+ * zip: don't read data descriptor early by @saracen in [#501](https://github.com/klauspost/compress/pull/501) #501
+ * huff0: Use static decompression buffer up to 30% faster by @klauspost in [#499](https://github.com/klauspost/compress/pull/499) [#500](https://github.com/klauspost/compress/pull/500)
+
+* Feb 17, 2022 (v1.14.3)
+ * flate: Improve fastest levels compression speed ~10% more throughput. [#482](https://github.com/klauspost/compress/pull/482) [#489](https://github.com/klauspost/compress/pull/489) [#490](https://github.com/klauspost/compress/pull/490) [#491](https://github.com/klauspost/compress/pull/491) [#494](https://github.com/klauspost/compress/pull/494) [#478](https://github.com/klauspost/compress/pull/478)
+ * flate: Faster decompression speed, ~5-10%. [#483](https://github.com/klauspost/compress/pull/483)
+ * s2: Faster compression with Go v1.18 and amd64 microarch level 3+. [#484](https://github.com/klauspost/compress/pull/484) [#486](https://github.com/klauspost/compress/pull/486)
+
+* Jan 25, 2022 (v1.14.2)
+ * zstd: improve header decoder by @dsnet [#476](https://github.com/klauspost/compress/pull/476)
+ * zstd: Add bigger default blocks [#469](https://github.com/klauspost/compress/pull/469)
+ * zstd: Remove unused decompression buffer [#470](https://github.com/klauspost/compress/pull/470)
+ * zstd: Fix logically dead code by @ningmingxiao [#472](https://github.com/klauspost/compress/pull/472)
+ * flate: Improve level 7-9 [#471](https://github.com/klauspost/compress/pull/471) [#473](https://github.com/klauspost/compress/pull/473)
+ * zstd: Add noasm tag for xxhash [#475](https://github.com/klauspost/compress/pull/475)
+
+* Jan 11, 2022 (v1.14.1)
+ * s2: Add stream index in [#462](https://github.com/klauspost/compress/pull/462)
+ * flate: Speed and efficiency improvements in [#439](https://github.com/klauspost/compress/pull/439) [#461](https://github.com/klauspost/compress/pull/461) [#455](https://github.com/klauspost/compress/pull/455) [#452](https://github.com/klauspost/compress/pull/452) [#458](https://github.com/klauspost/compress/pull/458)
+ * zstd: Performance improvement in [#420]( https://github.com/klauspost/compress/pull/420) [#456](https://github.com/klauspost/compress/pull/456) [#437](https://github.com/klauspost/compress/pull/437) [#467](https://github.com/klauspost/compress/pull/467) [#468](https://github.com/klauspost/compress/pull/468)
+ * zstd: add arm64 xxhash assembly in [#464](https://github.com/klauspost/compress/pull/464)
+ * Add garbled for binaries for s2 in [#445](https://github.com/klauspost/compress/pull/445)
+
* Aug 30, 2021 (v1.13.5)
* gz/zlib/flate: Alias stdlib errors [#425](https://github.com/klauspost/compress/pull/425)
* s2: Add block support to commandline tools [#413](https://github.com/klauspost/compress/pull/413)
@@ -46,6 +89,9 @@ This package provides various compression algorithms.
* zstd: Detect short invalid signatures [#382](https://github.com/klauspost/compress/pull/382)
* zstd: Spawn decoder goroutine only if needed. [#380](https://github.com/klauspost/compress/pull/380)
+
+ See changes to v1.12.x
+
* May 25, 2021 (v1.12.3)
* deflate: Better/faster Huffman encoding [#374](https://github.com/klauspost/compress/pull/374)
* deflate: Allocate less for history. [#375](https://github.com/klauspost/compress/pull/375)
@@ -67,9 +113,10 @@ This package provides various compression algorithms.
* s2c/s2d/s2sx: Always truncate when writing files [#352](https://github.com/klauspost/compress/pull/352)
* zstd: Reduce memory usage further when using [WithLowerEncoderMem](https://pkg.go.dev/github.com/klauspost/compress/zstd#WithLowerEncoderMem) [#346](https://github.com/klauspost/compress/pull/346)
* s2: Fix potential problem with amd64 assembly and profilers [#349](https://github.com/klauspost/compress/pull/349)
+
- See changes prior to v1.12.1
+ See changes to v1.11.x
* Mar 26, 2021 (v1.11.13)
* zstd: Big speedup on small dictionary encodes [#344](https://github.com/klauspost/compress/pull/344) [#345](https://github.com/klauspost/compress/pull/345)
@@ -128,7 +175,7 @@ This package provides various compression algorithms.
- See changes prior to v1.11.0
+ See changes to v1.10.x
* July 8, 2020 (v1.10.11)
* zstd: Fix extra block when compressing with ReadFrom. [#278](https://github.com/klauspost/compress/pull/278)
@@ -290,11 +337,6 @@ This package provides various compression algorithms.
# deflate usage
-* [High Throughput Benchmark](http://blog.klauspost.com/go-gzipdeflate-benchmarks/).
-* [Small Payload/Webserver Benchmarks](http://blog.klauspost.com/gzip-performance-for-go-webservers/).
-* [Linear Time Compression](http://blog.klauspost.com/constant-time-gzipzip-compression/).
-* [Re-balancing Deflate Compression Levels](https://blog.klauspost.com/rebalancing-deflate-compression-levels/)
-
The packages are drop-in replacements for standard libraries. Simply replace the import path to use them:
| old import | new import | Documentation
@@ -316,6 +358,8 @@ Memory usage is typically 1MB for a Writer. stdlib is in the same range.
If you expect to have a lot of concurrently allocated Writers consider using
the stateless compress described below.
+For compression performance, see: [this spreadsheet](https://docs.google.com/spreadsheets/d/1nuNE2nPfuINCZJRMt6wFWhKpToF95I47XjSsc-1rbPQ/edit?usp=sharing).
+
# Stateless compression
This package offers stateless compression as a special option for gzip/deflate.
@@ -432,6 +476,13 @@ For more information see my blog post on [Fast Linear Time Compression](http://b
This is implemented on Go 1.7 as "Huffman Only" mode, though not exposed for gzip.
+# Other packages
+
+Here are other packages of good quality and pure Go (no cgo wrappers or autoconverted code):
+
+* [github.com/pierrec/lz4](https://github.com/pierrec/lz4) - strong multithreaded LZ4 compression.
+* [github.com/cosnicolaou/pbzip2](https://github.com/cosnicolaou/pbzip2) - multithreaded bzip2 decompression.
+* [github.com/dsnet/compress](https://github.com/dsnet/compress) - brotli decompression, bzip2 writer.
# license
diff --git a/vendor/github.com/klauspost/compress/huff0/autogen.go b/vendor/github.com/klauspost/compress/huff0/autogen.go
new file mode 100644
index 000000000..ff2c69d60
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/autogen.go
@@ -0,0 +1,5 @@
+package huff0
+
+//go:generate go run generate.go
+//go:generate asmfmt -w decompress_amd64.s
+//go:generate asmfmt -w decompress_8b_amd64.s
diff --git a/vendor/github.com/klauspost/compress/huff0/bitreader.go b/vendor/github.com/klauspost/compress/huff0/bitreader.go
index a4979e886..451160edd 100644
--- a/vendor/github.com/klauspost/compress/huff0/bitreader.go
+++ b/vendor/github.com/klauspost/compress/huff0/bitreader.go
@@ -8,115 +8,10 @@ package huff0
import (
"encoding/binary"
"errors"
+ "fmt"
"io"
)
-// bitReader reads a bitstream in reverse.
-// The last set bit indicates the start of the stream and is used
-// for aligning the input.
-type bitReader struct {
- in []byte
- off uint // next byte to read is at in[off - 1]
- value uint64
- bitsRead uint8
-}
-
-// init initializes and resets the bit reader.
-func (b *bitReader) init(in []byte) error {
- if len(in) < 1 {
- return errors.New("corrupt stream: too short")
- }
- b.in = in
- b.off = uint(len(in))
- // The highest bit of the last byte indicates where to start
- v := in[len(in)-1]
- if v == 0 {
- return errors.New("corrupt stream, did not find end of stream")
- }
- b.bitsRead = 64
- b.value = 0
- if len(in) >= 8 {
- b.fillFastStart()
- } else {
- b.fill()
- b.fill()
- }
- b.bitsRead += 8 - uint8(highBit32(uint32(v)))
- return nil
-}
-
-// peekBitsFast requires that at least one bit is requested every time.
-// There are no checks if the buffer is filled.
-func (b *bitReader) peekBitsFast(n uint8) uint16 {
- const regMask = 64 - 1
- v := uint16((b.value << (b.bitsRead & regMask)) >> ((regMask + 1 - n) & regMask))
- return v
-}
-
-// fillFast() will make sure at least 32 bits are available.
-// There must be at least 4 bytes available.
-func (b *bitReader) fillFast() {
- if b.bitsRead < 32 {
- return
- }
-
- // 2 bounds checks.
- v := b.in[b.off-4 : b.off]
- v = v[:4]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
- b.value = (b.value << 32) | uint64(low)
- b.bitsRead -= 32
- b.off -= 4
-}
-
-func (b *bitReader) advance(n uint8) {
- b.bitsRead += n
-}
-
-// fillFastStart() assumes the bitreader is empty and there is at least 8 bytes to read.
-func (b *bitReader) fillFastStart() {
- // Do single re-slice to avoid bounds checks.
- b.value = binary.LittleEndian.Uint64(b.in[b.off-8:])
- b.bitsRead = 0
- b.off -= 8
-}
-
-// fill() will make sure at least 32 bits are available.
-func (b *bitReader) fill() {
- if b.bitsRead < 32 {
- return
- }
- if b.off > 4 {
- v := b.in[b.off-4:]
- v = v[:4]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
- b.value = (b.value << 32) | uint64(low)
- b.bitsRead -= 32
- b.off -= 4
- return
- }
- for b.off > 0 {
- b.value = (b.value << 8) | uint64(b.in[b.off-1])
- b.bitsRead -= 8
- b.off--
- }
-}
-
-// finished returns true if all bits have been read from the bit stream.
-func (b *bitReader) finished() bool {
- return b.off == 0 && b.bitsRead >= 64
-}
-
-// close the bitstream and returns an error if out-of-buffer reads occurred.
-func (b *bitReader) close() error {
- // Release reference.
- b.in = nil
- if b.bitsRead > 64 {
- return io.ErrUnexpectedEOF
- }
- return nil
-}
-
// bitReader reads a bitstream in reverse.
// The last set bit indicates the start of the stream and is used
// for aligning the input.
@@ -213,10 +108,17 @@ func (b *bitReaderBytes) finished() bool {
return b.off == 0 && b.bitsRead >= 64
}
+func (b *bitReaderBytes) remaining() uint {
+ return b.off*8 + uint(64-b.bitsRead)
+}
+
// close the bitstream and returns an error if out-of-buffer reads occurred.
func (b *bitReaderBytes) close() error {
// Release reference.
b.in = nil
+ if b.remaining() > 0 {
+ return fmt.Errorf("corrupt input: %d bits remain on stream", b.remaining())
+ }
if b.bitsRead > 64 {
return io.ErrUnexpectedEOF
}
@@ -263,6 +165,11 @@ func (b *bitReaderShifted) peekBitsFast(n uint8) uint16 {
return uint16(b.value >> ((64 - n) & 63))
}
+// peekTopBits(n) is equvialent to peekBitFast(64 - n)
+func (b *bitReaderShifted) peekTopBits(n uint8) uint16 {
+ return uint16(b.value >> n)
+}
+
func (b *bitReaderShifted) advance(n uint8) {
b.bitsRead += n
b.value <<= n & 63
@@ -318,10 +225,17 @@ func (b *bitReaderShifted) finished() bool {
return b.off == 0 && b.bitsRead >= 64
}
+func (b *bitReaderShifted) remaining() uint {
+ return b.off*8 + uint(64-b.bitsRead)
+}
+
// close the bitstream and returns an error if out-of-buffer reads occurred.
func (b *bitReaderShifted) close() error {
// Release reference.
b.in = nil
+ if b.remaining() > 0 {
+ return fmt.Errorf("corrupt input: %d bits remain on stream", b.remaining())
+ }
if b.bitsRead > 64 {
return io.ErrUnexpectedEOF
}
diff --git a/vendor/github.com/klauspost/compress/huff0/compress.go b/vendor/github.com/klauspost/compress/huff0/compress.go
index 8323dc053..bc95ac623 100644
--- a/vendor/github.com/klauspost/compress/huff0/compress.go
+++ b/vendor/github.com/klauspost/compress/huff0/compress.go
@@ -2,6 +2,7 @@ package huff0
import (
"fmt"
+ "math"
"runtime"
"sync"
)
@@ -289,6 +290,10 @@ func (s *Scratch) compress4X(src []byte) ([]byte, error) {
if err != nil {
return nil, err
}
+ if len(s.Out)-idx > math.MaxUint16 {
+ // We cannot store the size in the jump table
+ return nil, ErrIncompressible
+ }
// Write compressed length as little endian before block.
if i < 3 {
// Last length is not written.
@@ -332,6 +337,10 @@ func (s *Scratch) compress4Xp(src []byte) ([]byte, error) {
return nil, errs[i]
}
o := s.tmpOut[i]
+ if len(o) > math.MaxUint16 {
+ // We cannot store the size in the jump table
+ return nil, ErrIncompressible
+ }
// Write compressed length as little endian before block.
if i < 3 {
// Last length is not written.
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress.go b/vendor/github.com/klauspost/compress/huff0/decompress.go
index 9b7cc8e97..04f652995 100644
--- a/vendor/github.com/klauspost/compress/huff0/decompress.go
+++ b/vendor/github.com/klauspost/compress/huff0/decompress.go
@@ -4,6 +4,7 @@ import (
"errors"
"fmt"
"io"
+ "sync"
"github.com/klauspost/compress/fse"
)
@@ -20,7 +21,7 @@ type dEntrySingle struct {
// double-symbols decoding
type dEntryDouble struct {
- seq uint16
+ seq [4]byte
nBits uint8
len uint8
}
@@ -216,6 +217,7 @@ func (s *Scratch) Decoder() *Decoder {
return &Decoder{
dt: s.dt,
actualTableLog: s.actualTableLog,
+ bufs: &s.decPool,
}
}
@@ -223,6 +225,15 @@ func (s *Scratch) Decoder() *Decoder {
type Decoder struct {
dt dTable
actualTableLog uint8
+ bufs *sync.Pool
+}
+
+func (d *Decoder) buffer() *[4][256]byte {
+ buf, ok := d.bufs.Get().(*[4][256]byte)
+ if ok {
+ return buf
+ }
+ return &[4][256]byte{}
}
// Decompress1X will decompress a 1X encoded stream.
@@ -249,7 +260,8 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) {
dt := d.dt.single[:tlSize]
// Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
+ bufs := d.buffer()
+ buf := &bufs[0]
var off uint8
for br.off >= 8 {
@@ -277,6 +289,7 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) {
if off == 0 {
if len(dst)+256 > maxDecodedSize {
br.close()
+ d.bufs.Put(bufs)
return nil, ErrMaxDecodedSizeExceeded
}
dst = append(dst, buf[:]...)
@@ -284,6 +297,7 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) {
}
if len(dst)+int(off) > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -310,6 +324,7 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) {
}
}
if len(dst) >= maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -319,6 +334,7 @@ func (d *Decoder) Decompress1X(dst, src []byte) ([]byte, error) {
bitsLeft -= nBits
dst = append(dst, uint8(v.entry>>8))
}
+ d.bufs.Put(bufs)
return dst, br.close()
}
@@ -341,7 +357,8 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
dt := d.dt.single[:256]
// Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
+ bufs := d.buffer()
+ buf := &bufs[0]
var off uint8
switch d.actualTableLog {
@@ -369,6 +386,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
if off == 0 {
if len(dst)+256 > maxDecodedSize {
br.close()
+ d.bufs.Put(bufs)
return nil, ErrMaxDecodedSizeExceeded
}
dst = append(dst, buf[:]...)
@@ -398,6 +416,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
if off == 0 {
if len(dst)+256 > maxDecodedSize {
br.close()
+ d.bufs.Put(bufs)
return nil, ErrMaxDecodedSizeExceeded
}
dst = append(dst, buf[:]...)
@@ -426,6 +445,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -455,6 +475,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -484,6 +505,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -513,6 +535,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -542,6 +565,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -571,6 +595,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -578,10 +603,12 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
}
}
default:
+ d.bufs.Put(bufs)
return nil, fmt.Errorf("invalid tablelog: %d", d.actualTableLog)
}
if len(dst)+int(off) > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -601,6 +628,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
}
if len(dst) >= maxDecodedSize {
br.close()
+ d.bufs.Put(bufs)
return nil, ErrMaxDecodedSizeExceeded
}
v := dt[br.peekByteFast()>>shift]
@@ -609,6 +637,7 @@ func (d *Decoder) decompress1X8Bit(dst, src []byte) ([]byte, error) {
bitsLeft -= int8(nBits)
dst = append(dst, uint8(v.entry>>8))
}
+ d.bufs.Put(bufs)
return dst, br.close()
}
@@ -628,7 +657,8 @@ func (d *Decoder) decompress1X8BitExactly(dst, src []byte) ([]byte, error) {
dt := d.dt.single[:256]
// Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
+ bufs := d.buffer()
+ buf := &bufs[0]
var off uint8
const shift = 56
@@ -655,6 +685,7 @@ func (d *Decoder) decompress1X8BitExactly(dst, src []byte) ([]byte, error) {
off += 4
if off == 0 {
if len(dst)+256 > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -663,6 +694,7 @@ func (d *Decoder) decompress1X8BitExactly(dst, src []byte) ([]byte, error) {
}
if len(dst)+int(off) > maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -679,6 +711,7 @@ func (d *Decoder) decompress1X8BitExactly(dst, src []byte) ([]byte, error) {
}
}
if len(dst) >= maxDecodedSize {
+ d.bufs.Put(bufs)
br.close()
return nil, ErrMaxDecodedSizeExceeded
}
@@ -688,199 +721,10 @@ func (d *Decoder) decompress1X8BitExactly(dst, src []byte) ([]byte, error) {
bitsLeft -= int8(nBits)
dst = append(dst, uint8(v.entry>>8))
}
+ d.bufs.Put(bufs)
return dst, br.close()
}
-// Decompress4X will decompress a 4X encoded stream.
-// The length of the supplied input must match the end of a block exactly.
-// The *capacity* of the dst slice must match the destination size of
-// the uncompressed data exactly.
-func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) {
- if len(d.dt.single) == 0 {
- return nil, errors.New("no table loaded")
- }
- if len(src) < 6+(4*1) {
- return nil, errors.New("input too small")
- }
- if use8BitTables && d.actualTableLog <= 8 {
- return d.decompress4X8bit(dst, src)
- }
-
- var br [4]bitReaderShifted
- start := 6
- for i := 0; i < 3; i++ {
- length := int(src[i*2]) | (int(src[i*2+1]) << 8)
- if start+length >= len(src) {
- return nil, errors.New("truncated input (or invalid offset)")
- }
- err := br[i].init(src[start : start+length])
- if err != nil {
- return nil, err
- }
- start += length
- }
- err := br[3].init(src[start:])
- if err != nil {
- return nil, err
- }
-
- // destination, offset to match first output
- dstSize := cap(dst)
- dst = dst[:dstSize]
- out := dst
- dstEvery := (dstSize + 3) / 4
-
- const tlSize = 1 << tableLogMax
- const tlMask = tlSize - 1
- single := d.dt.single[:tlSize]
-
- // Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
- var off uint8
- var decoded int
-
- // Decode 2 values from each decoder/loop.
- const bufoff = 256 / 4
- for {
- if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 {
- break
- }
-
- {
- const stream = 0
- const stream2 = 1
- br[stream].fillFast()
- br[stream2].fillFast()
-
- val := br[stream].peekBitsFast(d.actualTableLog)
- v := single[val&tlMask]
- br[stream].advance(uint8(v.entry))
- buf[off+bufoff*stream] = uint8(v.entry >> 8)
-
- val2 := br[stream2].peekBitsFast(d.actualTableLog)
- v2 := single[val2&tlMask]
- br[stream2].advance(uint8(v2.entry))
- buf[off+bufoff*stream2] = uint8(v2.entry >> 8)
-
- val = br[stream].peekBitsFast(d.actualTableLog)
- v = single[val&tlMask]
- br[stream].advance(uint8(v.entry))
- buf[off+bufoff*stream+1] = uint8(v.entry >> 8)
-
- val2 = br[stream2].peekBitsFast(d.actualTableLog)
- v2 = single[val2&tlMask]
- br[stream2].advance(uint8(v2.entry))
- buf[off+bufoff*stream2+1] = uint8(v2.entry >> 8)
- }
-
- {
- const stream = 2
- const stream2 = 3
- br[stream].fillFast()
- br[stream2].fillFast()
-
- val := br[stream].peekBitsFast(d.actualTableLog)
- v := single[val&tlMask]
- br[stream].advance(uint8(v.entry))
- buf[off+bufoff*stream] = uint8(v.entry >> 8)
-
- val2 := br[stream2].peekBitsFast(d.actualTableLog)
- v2 := single[val2&tlMask]
- br[stream2].advance(uint8(v2.entry))
- buf[off+bufoff*stream2] = uint8(v2.entry >> 8)
-
- val = br[stream].peekBitsFast(d.actualTableLog)
- v = single[val&tlMask]
- br[stream].advance(uint8(v.entry))
- buf[off+bufoff*stream+1] = uint8(v.entry >> 8)
-
- val2 = br[stream2].peekBitsFast(d.actualTableLog)
- v2 = single[val2&tlMask]
- br[stream2].advance(uint8(v2.entry))
- buf[off+bufoff*stream2+1] = uint8(v2.entry >> 8)
- }
-
- off += 2
-
- if off == bufoff {
- if bufoff > dstEvery {
- return nil, errors.New("corruption detected: stream overrun 1")
- }
- copy(out, buf[:bufoff])
- copy(out[dstEvery:], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:], buf[bufoff*3:bufoff*4])
- off = 0
- out = out[bufoff:]
- decoded += 256
- // There must at least be 3 buffers left.
- if len(out) < dstEvery*3 {
- return nil, errors.New("corruption detected: stream overrun 2")
- }
- }
- }
- if off > 0 {
- ioff := int(off)
- if len(out) < dstEvery*3+ioff {
- return nil, errors.New("corruption detected: stream overrun 3")
- }
- copy(out, buf[:off])
- copy(out[dstEvery:dstEvery+ioff], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:dstEvery*2+ioff], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:dstEvery*3+ioff], buf[bufoff*3:bufoff*4])
- decoded += int(off) * 4
- out = out[off:]
- }
-
- // Decode remaining.
- for i := range br {
- offset := dstEvery * i
- br := &br[i]
- bitsLeft := br.off*8 + uint(64-br.bitsRead)
- for bitsLeft > 0 {
- br.fill()
- if false && br.bitsRead >= 32 {
- if br.off >= 4 {
- v := br.in[br.off-4:]
- v = v[:4]
- low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
- br.value = (br.value << 32) | uint64(low)
- br.bitsRead -= 32
- br.off -= 4
- } else {
- for br.off > 0 {
- br.value = (br.value << 8) | uint64(br.in[br.off-1])
- br.bitsRead -= 8
- br.off--
- }
- }
- }
- // end inline...
- if offset >= len(out) {
- return nil, errors.New("corruption detected: stream overrun 4")
- }
-
- // Read value and increment offset.
- val := br.peekBitsFast(d.actualTableLog)
- v := single[val&tlMask].entry
- nBits := uint8(v)
- br.advance(nBits)
- bitsLeft -= uint(nBits)
- out[offset] = uint8(v >> 8)
- offset++
- }
- decoded += offset - dstEvery*i
- err = br.close()
- if err != nil {
- return nil, err
- }
- }
- if dstSize != decoded {
- return nil, errors.New("corruption detected: short output block")
- }
- return dst, nil
-}
-
// Decompress4X will decompress a 4X encoded stream.
// The length of the supplied input must match the end of a block exactly.
// The *capacity* of the dst slice must match the destination size of
@@ -914,18 +758,18 @@ func (d *Decoder) decompress4X8bit(dst, src []byte) ([]byte, error) {
out := dst
dstEvery := (dstSize + 3) / 4
- shift := (8 - d.actualTableLog) & 7
+ shift := (56 + (8 - d.actualTableLog)) & 63
const tlSize = 1 << 8
single := d.dt.single[:tlSize]
// Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
+ buf := d.buffer()
var off uint8
var decoded int
// Decode 4 values from each decoder/loop.
- const bufoff = 256 / 4
+ const bufoff = 256
for {
if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 {
break
@@ -935,96 +779,109 @@ func (d *Decoder) decompress4X8bit(dst, src []byte) ([]byte, error) {
// Interleave 2 decodes.
const stream = 0
const stream2 = 1
- br[stream].fillFast()
- br[stream2].fillFast()
-
- v := single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 := single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+1] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+1] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+2] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+3] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+3] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
+ br1 := &br[stream]
+ br2 := &br[stream2]
+ br1.fillFast()
+ br2.fillFast()
+
+ v := single[uint8(br1.value>>shift)].entry
+ v2 := single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off] = uint8(v >> 8)
+ buf[stream2][off] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+1] = uint8(v >> 8)
+ buf[stream2][off+1] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+2] = uint8(v >> 8)
+ buf[stream2][off+2] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+3] = uint8(v >> 8)
+ buf[stream2][off+3] = uint8(v2 >> 8)
}
{
const stream = 2
const stream2 = 3
- br[stream].fillFast()
- br[stream2].fillFast()
-
- v := single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 := single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+1] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+1] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+2] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+3] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+3] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
+ br1 := &br[stream]
+ br2 := &br[stream2]
+ br1.fillFast()
+ br2.fillFast()
+
+ v := single[uint8(br1.value>>shift)].entry
+ v2 := single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off] = uint8(v >> 8)
+ buf[stream2][off] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+1] = uint8(v >> 8)
+ buf[stream2][off+1] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+2] = uint8(v >> 8)
+ buf[stream2][off+2] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+3] = uint8(v >> 8)
+ buf[stream2][off+3] = uint8(v2 >> 8)
}
off += 4
- if off == bufoff {
+ if off == 0 {
if bufoff > dstEvery {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 1")
}
- copy(out, buf[:bufoff])
- copy(out[dstEvery:], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:], buf[bufoff*3:bufoff*4])
- off = 0
+ copy(out, buf[0][:])
+ copy(out[dstEvery:], buf[1][:])
+ copy(out[dstEvery*2:], buf[2][:])
+ copy(out[dstEvery*3:], buf[3][:])
out = out[bufoff:]
- decoded += 256
+ decoded += bufoff * 4
// There must at least be 3 buffers left.
if len(out) < dstEvery*3 {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 2")
}
}
@@ -1032,23 +889,31 @@ func (d *Decoder) decompress4X8bit(dst, src []byte) ([]byte, error) {
if off > 0 {
ioff := int(off)
if len(out) < dstEvery*3+ioff {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 3")
}
- copy(out, buf[:off])
- copy(out[dstEvery:dstEvery+ioff], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:dstEvery*2+ioff], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:dstEvery*3+ioff], buf[bufoff*3:bufoff*4])
+ copy(out, buf[0][:off])
+ copy(out[dstEvery:], buf[1][:off])
+ copy(out[dstEvery*2:], buf[2][:off])
+ copy(out[dstEvery*3:], buf[3][:off])
decoded += int(off) * 4
out = out[off:]
}
// Decode remaining.
+ // Decode remaining.
+ remainBytes := dstEvery - (decoded / 4)
for i := range br {
offset := dstEvery * i
+ endsAt := offset + remainBytes
+ if endsAt > len(out) {
+ endsAt = len(out)
+ }
br := &br[i]
- bitsLeft := int(br.off*8) + int(64-br.bitsRead)
+ bitsLeft := br.remaining()
for bitsLeft > 0 {
if br.finished() {
+ d.bufs.Put(buf)
return nil, io.ErrUnexpectedEOF
}
if br.bitsRead >= 56 {
@@ -1068,24 +933,31 @@ func (d *Decoder) decompress4X8bit(dst, src []byte) ([]byte, error) {
}
}
// end inline...
- if offset >= len(out) {
+ if offset >= endsAt {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 4")
}
// Read value and increment offset.
- v := single[br.peekByteFast()>>shift].entry
+ v := single[uint8(br.value>>shift)].entry
nBits := uint8(v)
br.advance(nBits)
- bitsLeft -= int(nBits)
+ bitsLeft -= uint(nBits)
out[offset] = uint8(v >> 8)
offset++
}
+ if offset != endsAt {
+ d.bufs.Put(buf)
+ return nil, fmt.Errorf("corruption detected: short output block %d, end %d != %d", i, offset, endsAt)
+ }
decoded += offset - dstEvery*i
err = br.close()
if err != nil {
+ d.bufs.Put(buf)
return nil, err
}
}
+ d.bufs.Put(buf)
if dstSize != decoded {
return nil, errors.New("corruption detected: short output block")
}
@@ -1121,18 +993,18 @@ func (d *Decoder) decompress4X8bitExactly(dst, src []byte) ([]byte, error) {
out := dst
dstEvery := (dstSize + 3) / 4
- const shift = 0
+ const shift = 56
const tlSize = 1 << 8
const tlMask = tlSize - 1
single := d.dt.single[:tlSize]
// Use temp table to avoid bound checks/append penalty.
- var buf [256]byte
+ buf := d.buffer()
var off uint8
var decoded int
// Decode 4 values from each decoder/loop.
- const bufoff = 256 / 4
+ const bufoff = 256
for {
if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 {
break
@@ -1142,96 +1014,109 @@ func (d *Decoder) decompress4X8bitExactly(dst, src []byte) ([]byte, error) {
// Interleave 2 decodes.
const stream = 0
const stream2 = 1
- br[stream].fillFast()
- br[stream2].fillFast()
-
- v := single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 := single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+1] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+1] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+2] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+3] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+3] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
+ br1 := &br[stream]
+ br2 := &br[stream2]
+ br1.fillFast()
+ br2.fillFast()
+
+ v := single[uint8(br1.value>>shift)].entry
+ v2 := single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off] = uint8(v >> 8)
+ buf[stream2][off] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+1] = uint8(v >> 8)
+ buf[stream2][off+1] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+2] = uint8(v >> 8)
+ buf[stream2][off+2] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+3] = uint8(v >> 8)
+ buf[stream2][off+3] = uint8(v2 >> 8)
}
{
const stream = 2
const stream2 = 3
- br[stream].fillFast()
- br[stream2].fillFast()
-
- v := single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 := single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+1] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+1] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+2] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+2] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
-
- v = single[br[stream].peekByteFast()>>shift].entry
- buf[off+bufoff*stream+3] = uint8(v >> 8)
- br[stream].advance(uint8(v))
-
- v2 = single[br[stream2].peekByteFast()>>shift].entry
- buf[off+bufoff*stream2+3] = uint8(v2 >> 8)
- br[stream2].advance(uint8(v2))
+ br1 := &br[stream]
+ br2 := &br[stream2]
+ br1.fillFast()
+ br2.fillFast()
+
+ v := single[uint8(br1.value>>shift)].entry
+ v2 := single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off] = uint8(v >> 8)
+ buf[stream2][off] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+1] = uint8(v >> 8)
+ buf[stream2][off+1] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+2] = uint8(v >> 8)
+ buf[stream2][off+2] = uint8(v2 >> 8)
+
+ v = single[uint8(br1.value>>shift)].entry
+ v2 = single[uint8(br2.value>>shift)].entry
+ br1.bitsRead += uint8(v)
+ br1.value <<= v & 63
+ br2.bitsRead += uint8(v2)
+ br2.value <<= v2 & 63
+ buf[stream][off+3] = uint8(v >> 8)
+ buf[stream2][off+3] = uint8(v2 >> 8)
}
off += 4
- if off == bufoff {
+ if off == 0 {
if bufoff > dstEvery {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 1")
}
- copy(out, buf[:bufoff])
- copy(out[dstEvery:], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:], buf[bufoff*3:bufoff*4])
- off = 0
+ copy(out, buf[0][:])
+ copy(out[dstEvery:], buf[1][:])
+ copy(out[dstEvery*2:], buf[2][:])
+ copy(out[dstEvery*3:], buf[3][:])
out = out[bufoff:]
- decoded += 256
+ decoded += bufoff * 4
// There must at least be 3 buffers left.
if len(out) < dstEvery*3 {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 2")
}
}
@@ -1241,21 +1126,27 @@ func (d *Decoder) decompress4X8bitExactly(dst, src []byte) ([]byte, error) {
if len(out) < dstEvery*3+ioff {
return nil, errors.New("corruption detected: stream overrun 3")
}
- copy(out, buf[:off])
- copy(out[dstEvery:dstEvery+ioff], buf[bufoff:bufoff*2])
- copy(out[dstEvery*2:dstEvery*2+ioff], buf[bufoff*2:bufoff*3])
- copy(out[dstEvery*3:dstEvery*3+ioff], buf[bufoff*3:bufoff*4])
+ copy(out, buf[0][:off])
+ copy(out[dstEvery:], buf[1][:off])
+ copy(out[dstEvery*2:], buf[2][:off])
+ copy(out[dstEvery*3:], buf[3][:off])
decoded += int(off) * 4
out = out[off:]
}
// Decode remaining.
+ remainBytes := dstEvery - (decoded / 4)
for i := range br {
offset := dstEvery * i
+ endsAt := offset + remainBytes
+ if endsAt > len(out) {
+ endsAt = len(out)
+ }
br := &br[i]
- bitsLeft := int(br.off*8) + int(64-br.bitsRead)
+ bitsLeft := br.remaining()
for bitsLeft > 0 {
if br.finished() {
+ d.bufs.Put(buf)
return nil, io.ErrUnexpectedEOF
}
if br.bitsRead >= 56 {
@@ -1275,24 +1166,32 @@ func (d *Decoder) decompress4X8bitExactly(dst, src []byte) ([]byte, error) {
}
}
// end inline...
- if offset >= len(out) {
+ if offset >= endsAt {
+ d.bufs.Put(buf)
return nil, errors.New("corruption detected: stream overrun 4")
}
// Read value and increment offset.
- v := single[br.peekByteFast()>>shift].entry
+ v := single[br.peekByteFast()].entry
nBits := uint8(v)
br.advance(nBits)
- bitsLeft -= int(nBits)
+ bitsLeft -= uint(nBits)
out[offset] = uint8(v >> 8)
offset++
}
+ if offset != endsAt {
+ d.bufs.Put(buf)
+ return nil, fmt.Errorf("corruption detected: short output block %d, end %d != %d", i, offset, endsAt)
+ }
+
decoded += offset - dstEvery*i
err = br.close()
if err != nil {
+ d.bufs.Put(buf)
return nil, err
}
}
+ d.bufs.Put(buf)
if dstSize != decoded {
return nil, errors.New("corruption detected: short output block")
}
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s
new file mode 100644
index 000000000..0d6cb1a96
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s
@@ -0,0 +1,488 @@
+// +build !appengine
+// +build gc
+// +build !noasm
+
+#include "textflag.h"
+#include "funcdata.h"
+#include "go_asm.h"
+
+#define bufoff 256 // see decompress.go, we're using [4][256]byte table
+
+// func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool)
+TEXT ·decompress4x_8b_loop_x86(SB), NOSPLIT, $8
+#define off R8
+#define buffer DI
+#define table SI
+
+#define br_bits_read R9
+#define br_value R10
+#define br_offset R11
+#define peek_bits R12
+#define exhausted DX
+
+#define br0 R13
+#define br1 R14
+#define br2 R15
+#define br3 BP
+
+ MOVQ BP, 0(SP)
+
+ XORQ exhausted, exhausted // exhausted = false
+ XORQ off, off // off = 0
+
+ MOVBQZX peekBits+32(FP), peek_bits
+ MOVQ buf+40(FP), buffer
+ MOVQ tbl+48(FP), table
+
+ MOVQ pbr0+0(FP), br0
+ MOVQ pbr1+8(FP), br1
+ MOVQ pbr2+16(FP), br2
+ MOVQ pbr3+24(FP), br3
+
+main_loop:
+
+ // const stream = 0
+ // br0.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br0), br_bits_read
+ MOVQ bitReaderShifted_value(br0), br_value
+ MOVQ bitReaderShifted_off(br0), br_offset
+
+ // if b.bitsRead >= 32 {
+ CMPQ br_bits_read, $32
+ JB skip_fill0
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br0), AX
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br0.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill0:
+
+ // val0 := br0.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br0.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val1 := br0.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br0.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 0(buffer)(off*1)
+
+ // SECOND PART:
+ // val2 := br0.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v2 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br0.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val3 := br0.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v3 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br0.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off+2] = uint8(v2.entry >> 8)
+ // buf[stream][off+3] = uint8(v3.entry >> 8)
+ MOVW BX, 0+2(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br0)
+ MOVQ br_value, bitReaderShifted_value(br0)
+ MOVQ br_offset, bitReaderShifted_off(br0)
+
+ // const stream = 1
+ // br1.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br1), br_bits_read
+ MOVQ bitReaderShifted_value(br1), br_value
+ MOVQ bitReaderShifted_off(br1), br_offset
+
+ // if b.bitsRead >= 32 {
+ CMPQ br_bits_read, $32
+ JB skip_fill1
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br1), AX
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br1.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill1:
+
+ // val0 := br1.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br1.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val1 := br1.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br1.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 256(buffer)(off*1)
+
+ // SECOND PART:
+ // val2 := br1.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v2 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br1.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val3 := br1.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v3 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br1.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off+2] = uint8(v2.entry >> 8)
+ // buf[stream][off+3] = uint8(v3.entry >> 8)
+ MOVW BX, 256+2(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br1)
+ MOVQ br_value, bitReaderShifted_value(br1)
+ MOVQ br_offset, bitReaderShifted_off(br1)
+
+ // const stream = 2
+ // br2.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br2), br_bits_read
+ MOVQ bitReaderShifted_value(br2), br_value
+ MOVQ bitReaderShifted_off(br2), br_offset
+
+ // if b.bitsRead >= 32 {
+ CMPQ br_bits_read, $32
+ JB skip_fill2
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br2), AX
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br2.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill2:
+
+ // val0 := br2.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br2.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val1 := br2.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br2.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 512(buffer)(off*1)
+
+ // SECOND PART:
+ // val2 := br2.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v2 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br2.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val3 := br2.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v3 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br2.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off+2] = uint8(v2.entry >> 8)
+ // buf[stream][off+3] = uint8(v3.entry >> 8)
+ MOVW BX, 512+2(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br2)
+ MOVQ br_value, bitReaderShifted_value(br2)
+ MOVQ br_offset, bitReaderShifted_off(br2)
+
+ // const stream = 3
+ // br3.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br3), br_bits_read
+ MOVQ bitReaderShifted_value(br3), br_value
+ MOVQ bitReaderShifted_off(br3), br_offset
+
+ // if b.bitsRead >= 32 {
+ CMPQ br_bits_read, $32
+ JB skip_fill3
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br3), AX
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br3.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill3:
+
+ // val0 := br3.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br3.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val1 := br3.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br3.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 768(buffer)(off*1)
+
+ // SECOND PART:
+ // val2 := br3.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v2 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br3.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val3 := br3.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v3 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br3.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off+2] = uint8(v2.entry >> 8)
+ // buf[stream][off+3] = uint8(v3.entry >> 8)
+ MOVW BX, 768+2(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br3)
+ MOVQ br_value, bitReaderShifted_value(br3)
+ MOVQ br_offset, bitReaderShifted_off(br3)
+
+ ADDQ $4, off // off += 2
+
+ TESTB DH, DH // any br[i].ofs < 4?
+ JNZ end
+
+ CMPQ off, $bufoff
+ JL main_loop
+
+end:
+ MOVQ 0(SP), BP
+
+ MOVB off, ret+56(FP)
+ RET
+
+#undef off
+#undef buffer
+#undef table
+
+#undef br_bits_read
+#undef br_value
+#undef br_offset
+#undef peek_bits
+#undef exhausted
+
+#undef br0
+#undef br1
+#undef br2
+#undef br3
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in
new file mode 100644
index 000000000..6d477a2c1
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_8b_amd64.s.in
@@ -0,0 +1,197 @@
+// +build !appengine
+// +build gc
+// +build !noasm
+
+#include "textflag.h"
+#include "funcdata.h"
+#include "go_asm.h"
+
+
+#define bufoff 256 // see decompress.go, we're using [4][256]byte table
+
+//func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool)
+TEXT ·decompress4x_8b_loop_x86(SB), NOSPLIT, $8
+#define off R8
+#define buffer DI
+#define table SI
+
+#define br_bits_read R9
+#define br_value R10
+#define br_offset R11
+#define peek_bits R12
+#define exhausted DX
+
+#define br0 R13
+#define br1 R14
+#define br2 R15
+#define br3 BP
+
+ MOVQ BP, 0(SP)
+
+ XORQ exhausted, exhausted // exhausted = false
+ XORQ off, off // off = 0
+
+ MOVBQZX peekBits+32(FP), peek_bits
+ MOVQ buf+40(FP), buffer
+ MOVQ tbl+48(FP), table
+
+ MOVQ pbr0+0(FP), br0
+ MOVQ pbr1+8(FP), br1
+ MOVQ pbr2+16(FP), br2
+ MOVQ pbr3+24(FP), br3
+
+main_loop:
+{{ define "decode_2_values_x86" }}
+ // const stream = {{ var "id" }}
+ // br{{ var "id"}}.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br{{ var "id" }}), br_bits_read
+ MOVQ bitReaderShifted_value(br{{ var "id" }}), br_value
+ MOVQ bitReaderShifted_off(br{{ var "id" }}), br_offset
+
+ // if b.bitsRead >= 32 {
+ CMPQ br_bits_read, $32
+ JB skip_fill{{ var "id" }}
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br{{ var "id" }}), AX
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br{{ var "id"}}.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+ // }
+skip_fill{{ var "id" }}:
+
+ // val0 := br{{ var "id"}}.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br{{ var "id"}}.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val1 := br{{ var "id"}}.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br{{ var "id"}}.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, {{ var "bufofs" }}(buffer)(off*1)
+
+ // SECOND PART:
+ // val2 := br{{ var "id"}}.peekTopBits(peekBits)
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v2 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br{{ var "id"}}.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // val3 := br{{ var "id"}}.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+ // v3 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br{{ var "id"}}.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+ MOVBQZX AL, CX
+ SHLQ CX, br_value // value <<= n
+ ADDQ CX, br_bits_read // bits_read += n
+
+
+ // these two writes get coalesced
+ // buf[stream][off+2] = uint8(v2.entry >> 8)
+ // buf[stream][off+3] = uint8(v3.entry >> 8)
+ MOVW BX, {{ var "bufofs" }}+2(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br{{ var "id" }})
+ MOVQ br_value, bitReaderShifted_value(br{{ var "id" }})
+ MOVQ br_offset, bitReaderShifted_off(br{{ var "id" }})
+{{ end }}
+
+ {{ set "id" "0" }}
+ {{ set "ofs" "0" }}
+ {{ set "bufofs" "0" }} {{/* id * bufoff */}}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "1" }}
+ {{ set "ofs" "8" }}
+ {{ set "bufofs" "256" }}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "2" }}
+ {{ set "ofs" "16" }}
+ {{ set "bufofs" "512" }}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "3" }}
+ {{ set "ofs" "24" }}
+ {{ set "bufofs" "768" }}
+ {{ template "decode_2_values_x86" . }}
+
+ ADDQ $4, off // off += 2
+
+ TESTB DH, DH // any br[i].ofs < 4?
+ JNZ end
+
+ CMPQ off, $bufoff
+ JL main_loop
+end:
+ MOVQ 0(SP), BP
+
+ MOVB off, ret+56(FP)
+ RET
+#undef off
+#undef buffer
+#undef table
+
+#undef br_bits_read
+#undef br_value
+#undef br_offset
+#undef peek_bits
+#undef exhausted
+
+#undef br0
+#undef br1
+#undef br2
+#undef br3
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go
new file mode 100644
index 000000000..d47f6644f
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.go
@@ -0,0 +1,181 @@
+//go:build amd64 && !appengine && !noasm && gc
+// +build amd64,!appengine,!noasm,gc
+
+// This file contains the specialisation of Decoder.Decompress4X
+// that uses an asm implementation of its main loop.
+package huff0
+
+import (
+ "errors"
+ "fmt"
+)
+
+// decompress4x_main_loop_x86 is an x86 assembler implementation
+// of Decompress4X when tablelog > 8.
+// go:noescape
+func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+ peekBits uint8, buf *byte, tbl *dEntrySingle) uint8
+
+// decompress4x_8b_loop_x86 is an x86 assembler implementation
+// of Decompress4X when tablelog <= 8 which decodes 4 entries
+// per loop.
+// go:noescape
+func decompress4x_8b_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+ peekBits uint8, buf *byte, tbl *dEntrySingle) uint8
+
+// fallback8BitSize is the size where using Go version is faster.
+const fallback8BitSize = 800
+
+// Decompress4X will decompress a 4X encoded stream.
+// The length of the supplied input must match the end of a block exactly.
+// The *capacity* of the dst slice must match the destination size of
+// the uncompressed data exactly.
+func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) {
+ if len(d.dt.single) == 0 {
+ return nil, errors.New("no table loaded")
+ }
+ if len(src) < 6+(4*1) {
+ return nil, errors.New("input too small")
+ }
+
+ use8BitTables := d.actualTableLog <= 8
+ if cap(dst) < fallback8BitSize && use8BitTables {
+ return d.decompress4X8bit(dst, src)
+ }
+ var br [4]bitReaderShifted
+ // Decode "jump table"
+ start := 6
+ for i := 0; i < 3; i++ {
+ length := int(src[i*2]) | (int(src[i*2+1]) << 8)
+ if start+length >= len(src) {
+ return nil, errors.New("truncated input (or invalid offset)")
+ }
+ err := br[i].init(src[start : start+length])
+ if err != nil {
+ return nil, err
+ }
+ start += length
+ }
+ err := br[3].init(src[start:])
+ if err != nil {
+ return nil, err
+ }
+
+ // destination, offset to match first output
+ dstSize := cap(dst)
+ dst = dst[:dstSize]
+ out := dst
+ dstEvery := (dstSize + 3) / 4
+
+ const tlSize = 1 << tableLogMax
+ const tlMask = tlSize - 1
+ single := d.dt.single[:tlSize]
+
+ // Use temp table to avoid bound checks/append penalty.
+ buf := d.buffer()
+ var off uint8
+ var decoded int
+
+ const debug = false
+
+ // see: bitReaderShifted.peekBitsFast()
+ peekBits := uint8((64 - d.actualTableLog) & 63)
+
+ // Decode 2 values from each decoder/loop.
+ const bufoff = 256
+ for {
+ if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 {
+ break
+ }
+
+ if use8BitTables {
+ off = decompress4x_8b_loop_x86(&br[0], &br[1], &br[2], &br[3], peekBits, &buf[0][0], &single[0])
+ } else {
+ off = decompress4x_main_loop_x86(&br[0], &br[1], &br[2], &br[3], peekBits, &buf[0][0], &single[0])
+ }
+ if debug {
+ fmt.Print("DEBUG: ")
+ fmt.Printf("off=%d,", off)
+ for i := 0; i < 4; i++ {
+ fmt.Printf(" br[%d]={bitsRead=%d, value=%x, off=%d}",
+ i, br[i].bitsRead, br[i].value, br[i].off)
+ }
+ fmt.Println("")
+ }
+
+ if off != 0 {
+ break
+ }
+
+ if bufoff > dstEvery {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 1")
+ }
+ copy(out, buf[0][:])
+ copy(out[dstEvery:], buf[1][:])
+ copy(out[dstEvery*2:], buf[2][:])
+ copy(out[dstEvery*3:], buf[3][:])
+ out = out[bufoff:]
+ decoded += bufoff * 4
+ // There must at least be 3 buffers left.
+ if len(out) < dstEvery*3 {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 2")
+ }
+ }
+ if off > 0 {
+ ioff := int(off)
+ if len(out) < dstEvery*3+ioff {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 3")
+ }
+ copy(out, buf[0][:off])
+ copy(out[dstEvery:], buf[1][:off])
+ copy(out[dstEvery*2:], buf[2][:off])
+ copy(out[dstEvery*3:], buf[3][:off])
+ decoded += int(off) * 4
+ out = out[off:]
+ }
+
+ // Decode remaining.
+ remainBytes := dstEvery - (decoded / 4)
+ for i := range br {
+ offset := dstEvery * i
+ endsAt := offset + remainBytes
+ if endsAt > len(out) {
+ endsAt = len(out)
+ }
+ br := &br[i]
+ bitsLeft := br.remaining()
+ for bitsLeft > 0 {
+ br.fill()
+ if offset >= endsAt {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 4")
+ }
+
+ // Read value and increment offset.
+ val := br.peekBitsFast(d.actualTableLog)
+ v := single[val&tlMask].entry
+ nBits := uint8(v)
+ br.advance(nBits)
+ bitsLeft -= uint(nBits)
+ out[offset] = uint8(v >> 8)
+ offset++
+ }
+ if offset != endsAt {
+ d.bufs.Put(buf)
+ return nil, fmt.Errorf("corruption detected: short output block %d, end %d != %d", i, offset, endsAt)
+ }
+ decoded += offset - dstEvery*i
+ err = br.close()
+ if err != nil {
+ return nil, err
+ }
+ }
+ d.bufs.Put(buf)
+ if dstSize != decoded {
+ return nil, errors.New("corruption detected: short output block")
+ }
+ return dst, nil
+}
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
new file mode 100644
index 000000000..2edad3ea5
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s
@@ -0,0 +1,506 @@
+// +build !appengine
+// +build gc
+// +build !noasm
+
+#include "textflag.h"
+#include "funcdata.h"
+#include "go_asm.h"
+
+#ifdef GOAMD64_v4
+#ifndef GOAMD64_v3
+#define GOAMD64_v3
+#endif
+#endif
+
+#define bufoff 256 // see decompress.go, we're using [4][256]byte table
+
+// func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool)
+TEXT ·decompress4x_main_loop_x86(SB), NOSPLIT, $8
+#define off R8
+#define buffer DI
+#define table SI
+
+#define br_bits_read R9
+#define br_value R10
+#define br_offset R11
+#define peek_bits R12
+#define exhausted DX
+
+#define br0 R13
+#define br1 R14
+#define br2 R15
+#define br3 BP
+
+ MOVQ BP, 0(SP)
+
+ XORQ exhausted, exhausted // exhausted = false
+ XORQ off, off // off = 0
+
+ MOVBQZX peekBits+32(FP), peek_bits
+ MOVQ buf+40(FP), buffer
+ MOVQ tbl+48(FP), table
+
+ MOVQ pbr0+0(FP), br0
+ MOVQ pbr1+8(FP), br1
+ MOVQ pbr2+16(FP), br2
+ MOVQ pbr3+24(FP), br3
+
+main_loop:
+
+ // const stream = 0
+ // br0.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br0), br_bits_read
+ MOVQ bitReaderShifted_value(br0), br_value
+ MOVQ bitReaderShifted_off(br0), br_offset
+
+ // We must have at least 2 * max tablelog left
+ CMPQ br_bits_read, $64-22
+ JBE skip_fill0
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br0), AX
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+#ifdef GOAMD64_v3
+ SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63)
+
+#else
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+
+#endif
+
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br0.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill0:
+
+ // val0 := br0.peekTopBits(peekBits)
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br0.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ // val1 := br0.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br0.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 0(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br0)
+ MOVQ br_value, bitReaderShifted_value(br0)
+ MOVQ br_offset, bitReaderShifted_off(br0)
+
+ // const stream = 1
+ // br1.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br1), br_bits_read
+ MOVQ bitReaderShifted_value(br1), br_value
+ MOVQ bitReaderShifted_off(br1), br_offset
+
+ // We must have at least 2 * max tablelog left
+ CMPQ br_bits_read, $64-22
+ JBE skip_fill1
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br1), AX
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+#ifdef GOAMD64_v3
+ SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63)
+
+#else
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+
+#endif
+
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br1.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill1:
+
+ // val0 := br1.peekTopBits(peekBits)
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br1.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ // val1 := br1.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br1.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 256(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br1)
+ MOVQ br_value, bitReaderShifted_value(br1)
+ MOVQ br_offset, bitReaderShifted_off(br1)
+
+ // const stream = 2
+ // br2.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br2), br_bits_read
+ MOVQ bitReaderShifted_value(br2), br_value
+ MOVQ bitReaderShifted_off(br2), br_offset
+
+ // We must have at least 2 * max tablelog left
+ CMPQ br_bits_read, $64-22
+ JBE skip_fill2
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br2), AX
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+#ifdef GOAMD64_v3
+ SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63)
+
+#else
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+
+#endif
+
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br2.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill2:
+
+ // val0 := br2.peekTopBits(peekBits)
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br2.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ // val1 := br2.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br2.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 512(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br2)
+ MOVQ br_value, bitReaderShifted_value(br2)
+ MOVQ br_offset, bitReaderShifted_off(br2)
+
+ // const stream = 3
+ // br3.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br3), br_bits_read
+ MOVQ bitReaderShifted_value(br3), br_value
+ MOVQ bitReaderShifted_off(br3), br_offset
+
+ // We must have at least 2 * max tablelog left
+ CMPQ br_bits_read, $64-22
+ JBE skip_fill3
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br3), AX
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+#ifdef GOAMD64_v3
+ SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63)
+
+#else
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+
+#endif
+
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br3.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+
+ // }
+skip_fill3:
+
+ // val0 := br3.peekTopBits(peekBits)
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br3.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+
+#else
+ // val1 := br3.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+
+#endif
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br3.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, 768(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br3)
+ MOVQ br_value, bitReaderShifted_value(br3)
+ MOVQ br_offset, bitReaderShifted_off(br3)
+
+ ADDQ $2, off // off += 2
+
+ TESTB DH, DH // any br[i].ofs < 4?
+ JNZ end
+
+ CMPQ off, $bufoff
+ JL main_loop
+
+end:
+ MOVQ 0(SP), BP
+
+ MOVB off, ret+56(FP)
+ RET
+
+#undef off
+#undef buffer
+#undef table
+
+#undef br_bits_read
+#undef br_value
+#undef br_offset
+#undef peek_bits
+#undef exhausted
+
+#undef br0
+#undef br1
+#undef br2
+#undef br3
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in
new file mode 100644
index 000000000..330d86ae1
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_amd64.s.in
@@ -0,0 +1,195 @@
+// +build !appengine
+// +build gc
+// +build !noasm
+
+#include "textflag.h"
+#include "funcdata.h"
+#include "go_asm.h"
+
+#ifdef GOAMD64_v4
+#ifndef GOAMD64_v3
+#define GOAMD64_v3
+#endif
+#endif
+
+#define bufoff 256 // see decompress.go, we're using [4][256]byte table
+
+//func decompress4x_main_loop_x86(pbr0, pbr1, pbr2, pbr3 *bitReaderShifted,
+// peekBits uint8, buf *byte, tbl *dEntrySingle) (int, bool)
+TEXT ·decompress4x_main_loop_x86(SB), NOSPLIT, $8
+#define off R8
+#define buffer DI
+#define table SI
+
+#define br_bits_read R9
+#define br_value R10
+#define br_offset R11
+#define peek_bits R12
+#define exhausted DX
+
+#define br0 R13
+#define br1 R14
+#define br2 R15
+#define br3 BP
+
+ MOVQ BP, 0(SP)
+
+ XORQ exhausted, exhausted // exhausted = false
+ XORQ off, off // off = 0
+
+ MOVBQZX peekBits+32(FP), peek_bits
+ MOVQ buf+40(FP), buffer
+ MOVQ tbl+48(FP), table
+
+ MOVQ pbr0+0(FP), br0
+ MOVQ pbr1+8(FP), br1
+ MOVQ pbr2+16(FP), br2
+ MOVQ pbr3+24(FP), br3
+
+main_loop:
+{{ define "decode_2_values_x86" }}
+ // const stream = {{ var "id" }}
+ // br{{ var "id"}}.fillFast()
+ MOVBQZX bitReaderShifted_bitsRead(br{{ var "id" }}), br_bits_read
+ MOVQ bitReaderShifted_value(br{{ var "id" }}), br_value
+ MOVQ bitReaderShifted_off(br{{ var "id" }}), br_offset
+
+ // We must have at least 2 * max tablelog left
+ CMPQ br_bits_read, $64-22
+ JBE skip_fill{{ var "id" }}
+
+ SUBQ $32, br_bits_read // b.bitsRead -= 32
+ SUBQ $4, br_offset // b.off -= 4
+
+ // v := b.in[b.off-4 : b.off]
+ // v = v[:4]
+ // low := (uint32(v[0])) | (uint32(v[1]) << 8) | (uint32(v[2]) << 16) | (uint32(v[3]) << 24)
+ MOVQ bitReaderShifted_in(br{{ var "id" }}), AX
+
+ // b.value |= uint64(low) << (b.bitsRead & 63)
+#ifdef GOAMD64_v3
+ SHLXQ br_bits_read, 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4]) << (b.bitsRead & 63)
+#else
+ MOVL 0(br_offset)(AX*1), AX // AX = uint32(b.in[b.off:b.off+4])
+ MOVQ br_bits_read, CX
+ SHLQ CL, AX
+#endif
+
+ ORQ AX, br_value
+
+ // exhausted = exhausted || (br{{ var "id"}}.off < 4)
+ CMPQ br_offset, $4
+ SETLT DL
+ ORB DL, DH
+ // }
+skip_fill{{ var "id" }}:
+
+ // val0 := br{{ var "id"}}.peekTopBits(peekBits)
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+#else
+ MOVQ br_value, AX
+ MOVQ peek_bits, CX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+#endif
+
+ // v0 := table[val0&mask]
+ MOVW 0(table)(AX*2), AX // AX - v0
+
+ // br{{ var "id"}}.advance(uint8(v0.entry))
+ MOVB AH, BL // BL = uint8(v0.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+
+#ifdef GOAMD64_v3
+ SHRXQ peek_bits, br_value, AX // AX = (value >> peek_bits) & mask
+#else
+ // val1 := br{{ var "id"}}.peekTopBits(peekBits)
+ MOVQ peek_bits, CX
+ MOVQ br_value, AX
+ SHRQ CL, AX // AX = (value >> peek_bits) & mask
+#endif
+
+ // v1 := table[val1&mask]
+ MOVW 0(table)(AX*2), AX // AX - v1
+
+ // br{{ var "id"}}.advance(uint8(v1.entry))
+ MOVB AH, BH // BH = uint8(v1.entry >> 8)
+
+#ifdef GOAMD64_v3
+ MOVBQZX AL, CX
+ SHLXQ AX, br_value, br_value // value <<= n
+#else
+ MOVBQZX AL, CX
+ SHLQ CL, br_value // value <<= n
+#endif
+
+ ADDQ CX, br_bits_read // bits_read += n
+
+
+ // these two writes get coalesced
+ // buf[stream][off] = uint8(v0.entry >> 8)
+ // buf[stream][off+1] = uint8(v1.entry >> 8)
+ MOVW BX, {{ var "bufofs" }}(buffer)(off*1)
+
+ // update the bitrader reader structure
+ MOVB br_bits_read, bitReaderShifted_bitsRead(br{{ var "id" }})
+ MOVQ br_value, bitReaderShifted_value(br{{ var "id" }})
+ MOVQ br_offset, bitReaderShifted_off(br{{ var "id" }})
+{{ end }}
+
+ {{ set "id" "0" }}
+ {{ set "ofs" "0" }}
+ {{ set "bufofs" "0" }} {{/* id * bufoff */}}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "1" }}
+ {{ set "ofs" "8" }}
+ {{ set "bufofs" "256" }}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "2" }}
+ {{ set "ofs" "16" }}
+ {{ set "bufofs" "512" }}
+ {{ template "decode_2_values_x86" . }}
+
+ {{ set "id" "3" }}
+ {{ set "ofs" "24" }}
+ {{ set "bufofs" "768" }}
+ {{ template "decode_2_values_x86" . }}
+
+ ADDQ $2, off // off += 2
+
+ TESTB DH, DH // any br[i].ofs < 4?
+ JNZ end
+
+ CMPQ off, $bufoff
+ JL main_loop
+end:
+ MOVQ 0(SP), BP
+
+ MOVB off, ret+56(FP)
+ RET
+#undef off
+#undef buffer
+#undef table
+
+#undef br_bits_read
+#undef br_value
+#undef br_offset
+#undef peek_bits
+#undef exhausted
+
+#undef br0
+#undef br1
+#undef br2
+#undef br3
diff --git a/vendor/github.com/klauspost/compress/huff0/decompress_generic.go b/vendor/github.com/klauspost/compress/huff0/decompress_generic.go
new file mode 100644
index 000000000..126b4d68a
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/huff0/decompress_generic.go
@@ -0,0 +1,193 @@
+//go:build !amd64 || appengine || !gc || noasm
+// +build !amd64 appengine !gc noasm
+
+// This file contains a generic implementation of Decoder.Decompress4X.
+package huff0
+
+import (
+ "errors"
+ "fmt"
+)
+
+// Decompress4X will decompress a 4X encoded stream.
+// The length of the supplied input must match the end of a block exactly.
+// The *capacity* of the dst slice must match the destination size of
+// the uncompressed data exactly.
+func (d *Decoder) Decompress4X(dst, src []byte) ([]byte, error) {
+ if len(d.dt.single) == 0 {
+ return nil, errors.New("no table loaded")
+ }
+ if len(src) < 6+(4*1) {
+ return nil, errors.New("input too small")
+ }
+ if use8BitTables && d.actualTableLog <= 8 {
+ return d.decompress4X8bit(dst, src)
+ }
+
+ var br [4]bitReaderShifted
+ // Decode "jump table"
+ start := 6
+ for i := 0; i < 3; i++ {
+ length := int(src[i*2]) | (int(src[i*2+1]) << 8)
+ if start+length >= len(src) {
+ return nil, errors.New("truncated input (or invalid offset)")
+ }
+ err := br[i].init(src[start : start+length])
+ if err != nil {
+ return nil, err
+ }
+ start += length
+ }
+ err := br[3].init(src[start:])
+ if err != nil {
+ return nil, err
+ }
+
+ // destination, offset to match first output
+ dstSize := cap(dst)
+ dst = dst[:dstSize]
+ out := dst
+ dstEvery := (dstSize + 3) / 4
+
+ const tlSize = 1 << tableLogMax
+ const tlMask = tlSize - 1
+ single := d.dt.single[:tlSize]
+
+ // Use temp table to avoid bound checks/append penalty.
+ buf := d.buffer()
+ var off uint8
+ var decoded int
+
+ // Decode 2 values from each decoder/loop.
+ const bufoff = 256
+ for {
+ if br[0].off < 4 || br[1].off < 4 || br[2].off < 4 || br[3].off < 4 {
+ break
+ }
+
+ {
+ const stream = 0
+ const stream2 = 1
+ br[stream].fillFast()
+ br[stream2].fillFast()
+
+ val := br[stream].peekBitsFast(d.actualTableLog)
+ val2 := br[stream2].peekBitsFast(d.actualTableLog)
+ v := single[val&tlMask]
+ v2 := single[val2&tlMask]
+ br[stream].advance(uint8(v.entry))
+ br[stream2].advance(uint8(v2.entry))
+ buf[stream][off] = uint8(v.entry >> 8)
+ buf[stream2][off] = uint8(v2.entry >> 8)
+
+ val = br[stream].peekBitsFast(d.actualTableLog)
+ val2 = br[stream2].peekBitsFast(d.actualTableLog)
+ v = single[val&tlMask]
+ v2 = single[val2&tlMask]
+ br[stream].advance(uint8(v.entry))
+ br[stream2].advance(uint8(v2.entry))
+ buf[stream][off+1] = uint8(v.entry >> 8)
+ buf[stream2][off+1] = uint8(v2.entry >> 8)
+ }
+
+ {
+ const stream = 2
+ const stream2 = 3
+ br[stream].fillFast()
+ br[stream2].fillFast()
+
+ val := br[stream].peekBitsFast(d.actualTableLog)
+ val2 := br[stream2].peekBitsFast(d.actualTableLog)
+ v := single[val&tlMask]
+ v2 := single[val2&tlMask]
+ br[stream].advance(uint8(v.entry))
+ br[stream2].advance(uint8(v2.entry))
+ buf[stream][off] = uint8(v.entry >> 8)
+ buf[stream2][off] = uint8(v2.entry >> 8)
+
+ val = br[stream].peekBitsFast(d.actualTableLog)
+ val2 = br[stream2].peekBitsFast(d.actualTableLog)
+ v = single[val&tlMask]
+ v2 = single[val2&tlMask]
+ br[stream].advance(uint8(v.entry))
+ br[stream2].advance(uint8(v2.entry))
+ buf[stream][off+1] = uint8(v.entry >> 8)
+ buf[stream2][off+1] = uint8(v2.entry >> 8)
+ }
+
+ off += 2
+
+ if off == 0 {
+ if bufoff > dstEvery {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 1")
+ }
+ copy(out, buf[0][:])
+ copy(out[dstEvery:], buf[1][:])
+ copy(out[dstEvery*2:], buf[2][:])
+ copy(out[dstEvery*3:], buf[3][:])
+ out = out[bufoff:]
+ decoded += bufoff * 4
+ // There must at least be 3 buffers left.
+ if len(out) < dstEvery*3 {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 2")
+ }
+ }
+ }
+ if off > 0 {
+ ioff := int(off)
+ if len(out) < dstEvery*3+ioff {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 3")
+ }
+ copy(out, buf[0][:off])
+ copy(out[dstEvery:], buf[1][:off])
+ copy(out[dstEvery*2:], buf[2][:off])
+ copy(out[dstEvery*3:], buf[3][:off])
+ decoded += int(off) * 4
+ out = out[off:]
+ }
+
+ // Decode remaining.
+ remainBytes := dstEvery - (decoded / 4)
+ for i := range br {
+ offset := dstEvery * i
+ endsAt := offset + remainBytes
+ if endsAt > len(out) {
+ endsAt = len(out)
+ }
+ br := &br[i]
+ bitsLeft := br.remaining()
+ for bitsLeft > 0 {
+ br.fill()
+ if offset >= endsAt {
+ d.bufs.Put(buf)
+ return nil, errors.New("corruption detected: stream overrun 4")
+ }
+
+ // Read value and increment offset.
+ val := br.peekBitsFast(d.actualTableLog)
+ v := single[val&tlMask].entry
+ nBits := uint8(v)
+ br.advance(nBits)
+ bitsLeft -= uint(nBits)
+ out[offset] = uint8(v >> 8)
+ offset++
+ }
+ if offset != endsAt {
+ d.bufs.Put(buf)
+ return nil, fmt.Errorf("corruption detected: short output block %d, end %d != %d", i, offset, endsAt)
+ }
+ decoded += offset - dstEvery*i
+ err = br.close()
+ if err != nil {
+ return nil, err
+ }
+ }
+ d.bufs.Put(buf)
+ if dstSize != decoded {
+ return nil, errors.New("corruption detected: short output block")
+ }
+ return dst, nil
+}
diff --git a/vendor/github.com/klauspost/compress/huff0/huff0.go b/vendor/github.com/klauspost/compress/huff0/huff0.go
index 3ee00ecb4..e8ad17ad0 100644
--- a/vendor/github.com/klauspost/compress/huff0/huff0.go
+++ b/vendor/github.com/klauspost/compress/huff0/huff0.go
@@ -8,6 +8,7 @@ import (
"fmt"
"math"
"math/bits"
+ "sync"
"github.com/klauspost/compress/fse"
)
@@ -116,6 +117,7 @@ type Scratch struct {
nodes []nodeElt
tmpOut [4][]byte
fse *fse.Scratch
+ decPool sync.Pool // *[4][256]byte buffers.
huffWeight [maxSymbolValue + 1]byte
}
diff --git a/vendor/github.com/klauspost/compress/zstd/README.md b/vendor/github.com/klauspost/compress/zstd/README.md
index c8f0f16fc..e3445ac19 100644
--- a/vendor/github.com/klauspost/compress/zstd/README.md
+++ b/vendor/github.com/klauspost/compress/zstd/README.md
@@ -78,6 +78,9 @@ of a stream. This is independent of the `WithEncoderConcurrency(n)`, but that is
in the future. So if you want to limit concurrency for future updates, specify the concurrency
you would like.
+If you would like stream encoding to be done without spawning async goroutines, use `WithEncoderConcurrency(1)`
+which will compress input as each block is completed, blocking on writes until each has completed.
+
You can specify your desired compression level using `WithEncoderLevel()` option. Currently only pre-defined
compression settings can be specified.
@@ -104,7 +107,8 @@ and seems to ignore concatenated streams, even though [it is part of the spec](h
For compressing small blocks, the returned encoder has a function called `EncodeAll(src, dst []byte) []byte`.
`EncodeAll` will encode all input in src and append it to dst.
-This function can be called concurrently, but each call will only run on a single goroutine.
+This function can be called concurrently.
+Each call will only run on a same goroutine as the caller.
Encoded blocks can be concatenated and the result will be the combined input stream.
Data compressed with EncodeAll can be decoded with the Decoder, using either a stream or `DecodeAll`.
@@ -149,10 +153,10 @@ http://sun.aei.polsl.pl/~sdeor/corpus/silesia.zip
This package:
file out level insize outsize millis mb/s
-silesia.tar zskp 1 211947520 73101992 643 313.87
-silesia.tar zskp 2 211947520 67504318 969 208.38
-silesia.tar zskp 3 211947520 64595893 2007 100.68
-silesia.tar zskp 4 211947520 60995370 8825 22.90
+silesia.tar zskp 1 211947520 73821326 634 318.47
+silesia.tar zskp 2 211947520 67655404 1508 133.96
+silesia.tar zskp 3 211947520 64746933 3000 67.37
+silesia.tar zskp 4 211947520 60073508 16926 11.94
cgo zstd:
silesia.tar zstd 1 211947520 73605392 543 371.56
@@ -161,94 +165,94 @@ silesia.tar zstd 6 211947520 62916450 1913 105.66
silesia.tar zstd 9 211947520 60212393 5063 39.92
gzip, stdlib/this package:
-silesia.tar gzstd 1 211947520 80007735 1654 122.21
-silesia.tar gzkp 1 211947520 80136201 1152 175.45
+silesia.tar gzstd 1 211947520 80007735 1498 134.87
+silesia.tar gzkp 1 211947520 80088272 1009 200.31
GOB stream of binary data. Highly compressible.
https://files.klauspost.com/compress/gob-stream.7z
file out level insize outsize millis mb/s
-gob-stream zskp 1 1911399616 235022249 3088 590.30
-gob-stream zskp 2 1911399616 205669791 3786 481.34
-gob-stream zskp 3 1911399616 175034659 9636 189.17
-gob-stream zskp 4 1911399616 165609838 50369 36.19
+gob-stream zskp 1 1911399616 233948096 3230 564.34
+gob-stream zskp 2 1911399616 203997694 4997 364.73
+gob-stream zskp 3 1911399616 173526523 13435 135.68
+gob-stream zskp 4 1911399616 162195235 47559 38.33
gob-stream zstd 1 1911399616 249810424 2637 691.26
gob-stream zstd 3 1911399616 208192146 3490 522.31
gob-stream zstd 6 1911399616 193632038 6687 272.56
gob-stream zstd 9 1911399616 177620386 16175 112.70
-gob-stream gzstd 1 1911399616 357382641 10251 177.82
-gob-stream gzkp 1 1911399616 359753026 5438 335.20
+gob-stream gzstd 1 1911399616 357382013 9046 201.49
+gob-stream gzkp 1 1911399616 359136669 4885 373.08
The test data for the Large Text Compression Benchmark is the first
10^9 bytes of the English Wikipedia dump on Mar. 3, 2006.
http://mattmahoney.net/dc/textdata.html
file out level insize outsize millis mb/s
-enwik9 zskp 1 1000000000 343848582 3609 264.18
-enwik9 zskp 2 1000000000 317276632 5746 165.97
-enwik9 zskp 3 1000000000 292243069 12162 78.41
-enwik9 zskp 4 1000000000 262183768 82837 11.51
+enwik9 zskp 1 1000000000 343833605 3687 258.64
+enwik9 zskp 2 1000000000 317001237 7672 124.29
+enwik9 zskp 3 1000000000 291915823 15923 59.89
+enwik9 zskp 4 1000000000 261710291 77697 12.27
enwik9 zstd 1 1000000000 358072021 3110 306.65
enwik9 zstd 3 1000000000 313734672 4784 199.35
enwik9 zstd 6 1000000000 295138875 10290 92.68
enwik9 zstd 9 1000000000 278348700 28549 33.40
-enwik9 gzstd 1 1000000000 382578136 9604 99.30
-enwik9 gzkp 1 1000000000 383825945 6544 145.73
+enwik9 gzstd 1 1000000000 382578136 8608 110.78
+enwik9 gzkp 1 1000000000 382781160 5628 169.45
Highly compressible JSON file.
https://files.klauspost.com/compress/github-june-2days-2019.json.zst
file out level insize outsize millis mb/s
-github-june-2days-2019.json zskp 1 6273951764 699045015 10620 563.40
-github-june-2days-2019.json zskp 2 6273951764 617881763 11687 511.96
-github-june-2days-2019.json zskp 3 6273951764 524340691 34043 175.75
-github-june-2days-2019.json zskp 4 6273951764 470320075 170190 35.16
+github-june-2days-2019.json zskp 1 6273951764 697439532 9789 611.17
+github-june-2days-2019.json zskp 2 6273951764 610876538 18553 322.49
+github-june-2days-2019.json zskp 3 6273951764 517662858 44186 135.41
+github-june-2days-2019.json zskp 4 6273951764 464617114 165373 36.18
github-june-2days-2019.json zstd 1 6273951764 766284037 8450 708.00
github-june-2days-2019.json zstd 3 6273951764 661889476 10927 547.57
github-june-2days-2019.json zstd 6 6273951764 642756859 22996 260.18
github-june-2days-2019.json zstd 9 6273951764 601974523 52413 114.16
-github-june-2days-2019.json gzstd 1 6273951764 1164400847 29948 199.79
-github-june-2days-2019.json gzkp 1 6273951764 1125417694 21788 274.61
+github-june-2days-2019.json gzstd 1 6273951764 1164397768 26793 223.32
+github-june-2days-2019.json gzkp 1 6273951764 1120631856 17693 338.16
VM Image, Linux mint with a few installed applications:
https://files.klauspost.com/compress/rawstudio-mint14.7z
file out level insize outsize millis mb/s
-rawstudio-mint14.tar zskp 1 8558382592 3667489370 20210 403.84
-rawstudio-mint14.tar zskp 2 8558382592 3364592300 31873 256.07
-rawstudio-mint14.tar zskp 3 8558382592 3158085214 77675 105.08
-rawstudio-mint14.tar zskp 4 8558382592 2965110639 857750 9.52
+rawstudio-mint14.tar zskp 1 8558382592 3718400221 18206 448.29
+rawstudio-mint14.tar zskp 2 8558382592 3326118337 37074 220.15
+rawstudio-mint14.tar zskp 3 8558382592 3163842361 87306 93.49
+rawstudio-mint14.tar zskp 4 8558382592 2970480650 783862 10.41
rawstudio-mint14.tar zstd 1 8558382592 3609250104 17136 476.27
rawstudio-mint14.tar zstd 3 8558382592 3341679997 29262 278.92
rawstudio-mint14.tar zstd 6 8558382592 3235846406 77904 104.77
rawstudio-mint14.tar zstd 9 8558382592 3160778861 140946 57.91
-rawstudio-mint14.tar gzstd 1 8558382592 3926257486 57722 141.40
-rawstudio-mint14.tar gzkp 1 8558382592 3962605659 45113 180.92
+rawstudio-mint14.tar gzstd 1 8558382592 3926234992 51345 158.96
+rawstudio-mint14.tar gzkp 1 8558382592 3960117298 36722 222.26
CSV data:
https://files.klauspost.com/compress/nyc-taxi-data-10M.csv.zst
file out level insize outsize millis mb/s
-nyc-taxi-data-10M.csv zskp 1 3325605752 641339945 8925 355.35
-nyc-taxi-data-10M.csv zskp 2 3325605752 591748091 11268 281.44
-nyc-taxi-data-10M.csv zskp 3 3325605752 530289687 25239 125.66
-nyc-taxi-data-10M.csv zskp 4 3325605752 476268884 135958 23.33
+nyc-taxi-data-10M.csv zskp 1 3325605752 641319332 9462 335.17
+nyc-taxi-data-10M.csv zskp 2 3325605752 588976126 17570 180.50
+nyc-taxi-data-10M.csv zskp 3 3325605752 529329260 32432 97.79
+nyc-taxi-data-10M.csv zskp 4 3325605752 474949772 138025 22.98
nyc-taxi-data-10M.csv zstd 1 3325605752 687399637 8233 385.18
nyc-taxi-data-10M.csv zstd 3 3325605752 598514411 10065 315.07
nyc-taxi-data-10M.csv zstd 6 3325605752 570522953 20038 158.27
nyc-taxi-data-10M.csv zstd 9 3325605752 517554797 64565 49.12
-nyc-taxi-data-10M.csv gzstd 1 3325605752 928656485 23876 132.83
-nyc-taxi-data-10M.csv gzkp 1 3325605752 922257165 16780 189.00
+nyc-taxi-data-10M.csv gzstd 1 3325605752 928654908 21270 149.11
+nyc-taxi-data-10M.csv gzkp 1 3325605752 922273214 13929 227.68
```
## Decompressor
@@ -283,8 +287,13 @@ func Decompress(in io.Reader, out io.Writer) error {
}
```
-It is important to use the "Close" function when you no longer need the Reader to stop running goroutines.
-See "Allocation-less operation" below.
+It is important to use the "Close" function when you no longer need the Reader to stop running goroutines,
+when running with default settings.
+Goroutines will exit once an error has been returned, including `io.EOF` at the end of a stream.
+
+Streams are decoded concurrently in 4 asynchronous stages to give the best possible throughput.
+However, if you prefer synchronous decompression, use `WithDecoderConcurrency(1)` which will decompress data
+as it is being requested only.
For decoding buffers, it could look something like this:
@@ -293,7 +302,7 @@ import "github.com/klauspost/compress/zstd"
// Create a reader that caches decompressors.
// For this operation type we supply a nil Reader.
-var decoder, _ = zstd.NewReader(nil)
+var decoder, _ = zstd.NewReader(nil, WithDecoderConcurrency(0))
// Decompress a buffer. We don't supply a destination buffer,
// so it will be allocated by the decoder.
@@ -303,9 +312,12 @@ func Decompress(src []byte) ([]byte, error) {
```
Both of these cases should provide the functionality needed.
-The decoder can be used for *concurrent* decompression of multiple buffers.
+The decoder can be used for *concurrent* decompression of multiple buffers.
+By default 4 decompressors will be created.
+
It will only allow a certain number of concurrent operations to run.
-To tweak that yourself use the `WithDecoderConcurrency(n)` option when creating the decoder.
+To tweak that yourself use the `WithDecoderConcurrency(n)` option when creating the decoder.
+It is possible to use `WithDecoderConcurrency(0)` to create GOMAXPROCS decoders.
### Dictionaries
@@ -357,19 +369,21 @@ In this case no unneeded allocations should be made.
The buffer decoder does everything on the same goroutine and does nothing concurrently.
It can however decode several buffers concurrently. Use `WithDecoderConcurrency(n)` to limit that.
-The stream decoder operates on
+The stream decoder will create goroutines that:
-* One goroutine reads input and splits the input to several block decoders.
-* A number of decoders will decode blocks.
-* A goroutine coordinates these blocks and sends history from one to the next.
+1) Reads input and splits the input into blocks.
+2) Decompression of literals.
+3) Decompression of sequences.
+4) Reconstruction of output stream.
So effectively this also means the decoder will "read ahead" and prepare data to always be available for output.
+The concurrency level will, for streams, determine how many blocks ahead the compression will start.
+
Since "blocks" are quite dependent on the output of the previous block stream decoding will only have limited concurrency.
-In practice this means that concurrency is often limited to utilizing about 2 cores effectively.
-
-
+In practice this means that concurrency is often limited to utilizing about 3 cores effectively.
+
### Benchmarks
These are some examples of performance compared to [datadog cgo library](https://github.com/DataDog/zstd).
diff --git a/vendor/github.com/klauspost/compress/zstd/bitreader.go b/vendor/github.com/klauspost/compress/zstd/bitreader.go
index 854458537..d7cd15ba2 100644
--- a/vendor/github.com/klauspost/compress/zstd/bitreader.go
+++ b/vendor/github.com/klauspost/compress/zstd/bitreader.go
@@ -7,6 +7,7 @@ package zstd
import (
"encoding/binary"
"errors"
+ "fmt"
"io"
"math/bits"
)
@@ -50,16 +51,23 @@ func (b *bitReader) getBits(n uint8) int {
if n == 0 /*|| b.bitsRead >= 64 */ {
return 0
}
- return b.getBitsFast(n)
+ return int(b.get32BitsFast(n))
}
-// getBitsFast requires that at least one bit is requested every time.
+// get32BitsFast requires that at least one bit is requested every time.
// There are no checks if the buffer is filled.
-func (b *bitReader) getBitsFast(n uint8) int {
+func (b *bitReader) get32BitsFast(n uint8) uint32 {
const regMask = 64 - 1
v := uint32((b.value << (b.bitsRead & regMask)) >> ((regMask + 1 - n) & regMask))
b.bitsRead += n
- return int(v)
+ return v
+}
+
+func (b *bitReader) get16BitsFast(n uint8) uint16 {
+ const regMask = 64 - 1
+ v := uint16((b.value << (b.bitsRead & regMask)) >> ((regMask + 1 - n) & regMask))
+ b.bitsRead += n
+ return v
}
// fillFast() will make sure at least 32 bits are available.
@@ -125,6 +133,9 @@ func (b *bitReader) remain() uint {
func (b *bitReader) close() error {
// Release reference.
b.in = nil
+ if !b.finished() {
+ return fmt.Errorf("%d extra bits on block, should be 0", b.remain())
+ }
if b.bitsRead > 64 {
return io.ErrUnexpectedEOF
}
diff --git a/vendor/github.com/klauspost/compress/zstd/bitwriter.go b/vendor/github.com/klauspost/compress/zstd/bitwriter.go
index 303ae90f9..b36618285 100644
--- a/vendor/github.com/klauspost/compress/zstd/bitwriter.go
+++ b/vendor/github.com/klauspost/compress/zstd/bitwriter.go
@@ -38,7 +38,7 @@ func (b *bitWriter) addBits16NC(value uint16, bits uint8) {
b.nBits += bits
}
-// addBits32NC will add up to 32 bits.
+// addBits32NC will add up to 31 bits.
// It will not check if there is space for them,
// so the caller must ensure that it has flushed recently.
func (b *bitWriter) addBits32NC(value uint32, bits uint8) {
@@ -46,6 +46,26 @@ func (b *bitWriter) addBits32NC(value uint32, bits uint8) {
b.nBits += bits
}
+// addBits64NC will add up to 64 bits.
+// There must be space for 32 bits.
+func (b *bitWriter) addBits64NC(value uint64, bits uint8) {
+ if bits <= 31 {
+ b.addBits32Clean(uint32(value), bits)
+ return
+ }
+ b.addBits32Clean(uint32(value), 32)
+ b.flush32()
+ b.addBits32Clean(uint32(value>>32), bits-32)
+}
+
+// addBits32Clean will add up to 32 bits.
+// It will not check if there is space for them.
+// The input must not contain more bits than specified.
+func (b *bitWriter) addBits32Clean(value uint32, bits uint8) {
+ b.bitContainer |= uint64(value) << (b.nBits & 63)
+ b.nBits += bits
+}
+
// addBits16Clean will add up to 16 bits. value may not contain more set bits than indicated.
// It will not check if there is space for them, so the caller must ensure that it has flushed recently.
func (b *bitWriter) addBits16Clean(value uint16, bits uint8) {
diff --git a/vendor/github.com/klauspost/compress/zstd/blockdec.go b/vendor/github.com/klauspost/compress/zstd/blockdec.go
index 8a98c4562..7d567a54a 100644
--- a/vendor/github.com/klauspost/compress/zstd/blockdec.go
+++ b/vendor/github.com/klauspost/compress/zstd/blockdec.go
@@ -76,17 +76,25 @@ type blockDec struct {
// Window size of the block.
WindowSize uint64
- history chan *history
- input chan struct{}
- result chan decodeOutput
- sequenceBuf []seq
- err error
- decWG sync.WaitGroup
+ err error
+
+ // Check against this crc
+ checkCRC []byte
// Frame to use for singlethreaded decoding.
// Should not be used by the decoder itself since parent may be another frame.
localFrame *frameDec
+ sequence []seqVals
+
+ async struct {
+ newHist *history
+ literals []byte
+ seqData []byte
+ seqSize int // Size of uncompressed sequences
+ fcs uint64
+ }
+
// Block is RLE, this is the size.
RLESize uint32
tmp [4]byte
@@ -109,13 +117,8 @@ func (b *blockDec) String() string {
func newBlockDec(lowMem bool) *blockDec {
b := blockDec{
- lowMem: lowMem,
- result: make(chan decodeOutput, 1),
- input: make(chan struct{}, 1),
- history: make(chan *history, 1),
+ lowMem: lowMem,
}
- b.decWG.Add(1)
- go b.startDecoder()
return &b
}
@@ -138,6 +141,12 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error {
case blockTypeReserved:
return ErrReservedBlockType
case blockTypeRLE:
+ if cSize > maxCompressedBlockSize || cSize > int(b.WindowSize) {
+ if debugDecoder {
+ printf("rle block too big: csize:%d block: %+v\n", uint64(cSize), b)
+ }
+ return ErrWindowSizeExceeded
+ }
b.RLESize = uint32(cSize)
if b.lowMem {
maxSize = cSize
@@ -158,7 +167,19 @@ func (b *blockDec) reset(br byteBuffer, windowSize uint64) error {
}
return ErrCompressedSizeTooBig
}
+ // Empty compressed blocks must at least be 2 bytes
+ // for Literals_Block_Type and one for Sequences_Section_Header.
+ if cSize < 2 {
+ return ErrBlockTooSmall
+ }
case blockTypeRaw:
+ if cSize > maxCompressedBlockSize || cSize > int(b.WindowSize) {
+ if debugDecoder {
+ printf("rle block too big: csize:%d block: %+v\n", uint64(cSize), b)
+ }
+ return ErrWindowSizeExceeded
+ }
+
b.RLESize = 0
// We do not need a destination for raw blocks.
maxSize = -1
@@ -193,85 +214,14 @@ func (b *blockDec) sendErr(err error) {
b.Last = true
b.Type = blockTypeReserved
b.err = err
- b.input <- struct{}{}
}
// Close will release resources.
// Closed blockDec cannot be reset.
func (b *blockDec) Close() {
- close(b.input)
- close(b.history)
- close(b.result)
- b.decWG.Wait()
}
-// decodeAsync will prepare decoding the block when it receives input.
-// This will separate output and history.
-func (b *blockDec) startDecoder() {
- defer b.decWG.Done()
- for range b.input {
- //println("blockDec: Got block input")
- switch b.Type {
- case blockTypeRLE:
- if cap(b.dst) < int(b.RLESize) {
- if b.lowMem {
- b.dst = make([]byte, b.RLESize)
- } else {
- b.dst = make([]byte, maxBlockSize)
- }
- }
- o := decodeOutput{
- d: b,
- b: b.dst[:b.RLESize],
- err: nil,
- }
- v := b.data[0]
- for i := range o.b {
- o.b[i] = v
- }
- hist := <-b.history
- hist.append(o.b)
- b.result <- o
- case blockTypeRaw:
- o := decodeOutput{
- d: b,
- b: b.data,
- err: nil,
- }
- hist := <-b.history
- hist.append(o.b)
- b.result <- o
- case blockTypeCompressed:
- b.dst = b.dst[:0]
- err := b.decodeCompressed(nil)
- o := decodeOutput{
- d: b,
- b: b.dst,
- err: err,
- }
- if debugDecoder {
- println("Decompressed to", len(b.dst), "bytes, error:", err)
- }
- b.result <- o
- case blockTypeReserved:
- // Used for returning errors.
- <-b.history
- b.result <- decodeOutput{
- d: b,
- b: nil,
- err: b.err,
- }
- default:
- panic("Invalid block type")
- }
- if debugDecoder {
- println("blockDec: Finished block")
- }
- }
-}
-
-// decodeAsync will prepare decoding the block when it receives the history.
-// If history is provided, it will not fetch it from the channel.
+// decodeBuf
func (b *blockDec) decodeBuf(hist *history) error {
switch b.Type {
case blockTypeRLE:
@@ -294,14 +244,23 @@ func (b *blockDec) decodeBuf(hist *history) error {
return nil
case blockTypeCompressed:
saved := b.dst
- b.dst = hist.b
- hist.b = nil
+ // Append directly to history
+ if hist.ignoreBuffer == 0 {
+ b.dst = hist.b
+ hist.b = nil
+ } else {
+ b.dst = b.dst[:0]
+ }
err := b.decodeCompressed(hist)
if debugDecoder {
println("Decompressed to total", len(b.dst), "bytes, hash:", xxhash.Sum64(b.dst), "error:", err)
}
- hist.b = b.dst
- b.dst = saved
+ if hist.ignoreBuffer == 0 {
+ hist.b = b.dst
+ b.dst = saved
+ } else {
+ hist.appendKeep(b.dst)
+ }
return err
case blockTypeReserved:
// Used for returning errors.
@@ -311,30 +270,18 @@ func (b *blockDec) decodeBuf(hist *history) error {
}
}
-// decodeCompressed will start decompressing a block.
-// If no history is supplied the decoder will decodeAsync as much as possible
-// before fetching from blockDec.history
-func (b *blockDec) decodeCompressed(hist *history) error {
- in := b.data
- delayedHistory := hist == nil
-
- if delayedHistory {
- // We must always grab history.
- defer func() {
- if hist == nil {
- <-b.history
- }
- }()
- }
+func (b *blockDec) decodeLiterals(in []byte, hist *history) (remain []byte, err error) {
// There must be at least one byte for Literals_Block_Type and one for Sequences_Section_Header
if len(in) < 2 {
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
+
litType := literalsBlockType(in[0] & 3)
var litRegenSize int
var litCompSize int
sizeFormat := (in[0] >> 2) & 3
var fourStreams bool
+ var literals []byte
switch litType {
case literalsBlockRaw, literalsBlockRLE:
switch sizeFormat {
@@ -350,7 +297,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
// Regenerated_Size uses 20 bits (0-1048575). Literals_Section_Header uses 3 bytes.
if len(in) < 3 {
println("too small: litType:", litType, " sizeFormat", sizeFormat, len(in))
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
litRegenSize = int(in[0]>>4) + (int(in[1]) << 4) + (int(in[2]) << 12)
in = in[3:]
@@ -361,7 +308,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
// Both Regenerated_Size and Compressed_Size use 10 bits (0-1023).
if len(in) < 3 {
println("too small: litType:", litType, " sizeFormat", sizeFormat, len(in))
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
n := uint64(in[0]>>4) + (uint64(in[1]) << 4) + (uint64(in[2]) << 12)
litRegenSize = int(n & 1023)
@@ -372,7 +319,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
fourStreams = true
if len(in) < 4 {
println("too small: litType:", litType, " sizeFormat", sizeFormat, len(in))
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
n := uint64(in[0]>>4) + (uint64(in[1]) << 4) + (uint64(in[2]) << 12) + (uint64(in[3]) << 20)
litRegenSize = int(n & 16383)
@@ -382,7 +329,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
fourStreams = true
if len(in) < 5 {
println("too small: litType:", litType, " sizeFormat", sizeFormat, len(in))
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
n := uint64(in[0]>>4) + (uint64(in[1]) << 4) + (uint64(in[2]) << 12) + (uint64(in[3]) << 20) + (uint64(in[4]) << 28)
litRegenSize = int(n & 262143)
@@ -393,13 +340,15 @@ func (b *blockDec) decodeCompressed(hist *history) error {
if debugDecoder {
println("literals type:", litType, "litRegenSize:", litRegenSize, "litCompSize:", litCompSize, "sizeFormat:", sizeFormat, "4X:", fourStreams)
}
- var literals []byte
- var huff *huff0.Scratch
+ if litRegenSize > int(b.WindowSize) || litRegenSize > maxCompressedBlockSize {
+ return in, ErrWindowSizeExceeded
+ }
+
switch litType {
case literalsBlockRaw:
if len(in) < litRegenSize {
println("too small: litType:", litType, " sizeFormat", sizeFormat, "remain:", len(in), "want:", litRegenSize)
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
literals = in[:litRegenSize]
in = in[litRegenSize:]
@@ -407,7 +356,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
case literalsBlockRLE:
if len(in) < 1 {
println("too small: litType:", litType, " sizeFormat", sizeFormat, "remain:", len(in), "want:", 1)
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
if cap(b.literalBuf) < litRegenSize {
if b.lowMem {
@@ -418,7 +367,6 @@ func (b *blockDec) decodeCompressed(hist *history) error {
b.literalBuf = make([]byte, litRegenSize)
} else {
b.literalBuf = make([]byte, litRegenSize, maxCompressedLiteralSize)
-
}
}
}
@@ -434,7 +382,7 @@ func (b *blockDec) decodeCompressed(hist *history) error {
case literalsBlockTreeless:
if len(in) < litCompSize {
println("too small: litType:", litType, " sizeFormat", sizeFormat, "remain:", len(in), "want:", litCompSize)
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
// Store compressed literals, so we defer decoding until we get history.
literals = in[:litCompSize]
@@ -442,31 +390,65 @@ func (b *blockDec) decodeCompressed(hist *history) error {
if debugDecoder {
printf("Found %d compressed literals\n", litCompSize)
}
+ huff := hist.huffTree
+ if huff == nil {
+ return in, errors.New("literal block was treeless, but no history was defined")
+ }
+ // Ensure we have space to store it.
+ if cap(b.literalBuf) < litRegenSize {
+ if b.lowMem {
+ b.literalBuf = make([]byte, 0, litRegenSize)
+ } else {
+ b.literalBuf = make([]byte, 0, maxCompressedLiteralSize)
+ }
+ }
+ var err error
+ // Use our out buffer.
+ huff.MaxDecodedSize = maxCompressedBlockSize
+ if fourStreams {
+ literals, err = huff.Decoder().Decompress4X(b.literalBuf[:0:litRegenSize], literals)
+ } else {
+ literals, err = huff.Decoder().Decompress1X(b.literalBuf[:0:litRegenSize], literals)
+ }
+ // Make sure we don't leak our literals buffer
+ if err != nil {
+ println("decompressing literals:", err)
+ return in, err
+ }
+ if len(literals) != litRegenSize {
+ return in, fmt.Errorf("literal output size mismatch want %d, got %d", litRegenSize, len(literals))
+ }
+
case literalsBlockCompressed:
if len(in) < litCompSize {
println("too small: litType:", litType, " sizeFormat", sizeFormat, "remain:", len(in), "want:", litCompSize)
- return ErrBlockTooSmall
+ return in, ErrBlockTooSmall
}
literals = in[:litCompSize]
in = in[litCompSize:]
- huff = huffDecoderPool.Get().(*huff0.Scratch)
- var err error
// Ensure we have space to store it.
if cap(b.literalBuf) < litRegenSize {
if b.lowMem {
b.literalBuf = make([]byte, 0, litRegenSize)
} else {
- b.literalBuf = make([]byte, 0, maxCompressedLiteralSize)
+ b.literalBuf = make([]byte, 0, maxCompressedBlockSize)
}
}
- if huff == nil {
- huff = &huff0.Scratch{}
+ huff := hist.huffTree
+ if huff == nil || (hist.dict != nil && huff == hist.dict.litEnc) {
+ huff = huffDecoderPool.Get().(*huff0.Scratch)
+ if huff == nil {
+ huff = &huff0.Scratch{}
+ }
}
+ var err error
huff, literals, err = huff0.ReadTable(literals, huff)
if err != nil {
println("reading huffman table:", err)
- return err
+ return in, err
}
+ hist.huffTree = huff
+ huff.MaxDecodedSize = maxCompressedBlockSize
// Use our out buffer.
if fourStreams {
literals, err = huff.Decoder().Decompress4X(b.literalBuf[:0:litRegenSize], literals)
@@ -475,27 +457,56 @@ func (b *blockDec) decodeCompressed(hist *history) error {
}
if err != nil {
println("decoding compressed literals:", err)
- return err
+ return in, err
}
// Make sure we don't leak our literals buffer
if len(literals) != litRegenSize {
- return fmt.Errorf("literal output size mismatch want %d, got %d", litRegenSize, len(literals))
+ return in, fmt.Errorf("literal output size mismatch want %d, got %d", litRegenSize, len(literals))
}
if debugDecoder {
printf("Decompressed %d literals into %d bytes\n", litCompSize, litRegenSize)
}
}
+ hist.decoders.literals = literals
+ return in, nil
+}
+
+// decodeCompressed will start decompressing a block.
+func (b *blockDec) decodeCompressed(hist *history) error {
+ in := b.data
+ in, err := b.decodeLiterals(in, hist)
+ if err != nil {
+ return err
+ }
+ err = b.prepareSequences(in, hist)
+ if err != nil {
+ return err
+ }
+ if hist.decoders.nSeqs == 0 {
+ b.dst = append(b.dst, hist.decoders.literals...)
+ return nil
+ }
+ err = hist.decoders.decodeSync(hist)
+ if err != nil {
+ return err
+ }
+ b.dst = hist.decoders.out
+ hist.recentOffsets = hist.decoders.prevOffset
+ return nil
+}
+func (b *blockDec) prepareSequences(in []byte, hist *history) (err error) {
+ if debugDecoder {
+ printf("prepareSequences: %d byte(s) input\n", len(in))
+ }
// Decode Sequences
// https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#sequences-section
if len(in) < 1 {
return ErrBlockTooSmall
}
+ var nSeqs int
seqHeader := in[0]
- nSeqs := 0
switch {
- case seqHeader == 0:
- in = in[1:]
case seqHeader < 128:
nSeqs = int(seqHeader)
in = in[1:]
@@ -512,19 +523,16 @@ func (b *blockDec) decodeCompressed(hist *history) error {
nSeqs = 0x7f00 + int(in[1]) + (int(in[2]) << 8)
in = in[3:]
}
- // Allocate sequences
- if cap(b.sequenceBuf) < nSeqs {
- if b.lowMem {
- b.sequenceBuf = make([]seq, nSeqs)
- } else {
- // Allocate max
- b.sequenceBuf = make([]seq, nSeqs, maxSequences)
+ if nSeqs == 0 && len(in) != 0 {
+ // When no sequences, there should not be any more data...
+ if debugDecoder {
+ printf("prepareSequences: 0 sequences, but %d byte(s) left on stream\n", len(in))
}
- } else {
- // Reuse buffer
- b.sequenceBuf = b.sequenceBuf[:nSeqs]
+ return ErrUnexpectedBlockSize
}
- var seqs = &sequenceDecs{}
+
+ var seqs = &hist.decoders
+ seqs.nSeqs = nSeqs
if nSeqs > 0 {
if len(in) < 1 {
return ErrBlockTooSmall
@@ -553,6 +561,9 @@ func (b *blockDec) decodeCompressed(hist *history) error {
}
switch mode {
case compModePredefined:
+ if seq.fse != nil && !seq.fse.preDefined {
+ fseDecoderPool.Put(seq.fse)
+ }
seq.fse = &fsePredef[i]
case compModeRLE:
if br.remain() < 1 {
@@ -560,34 +571,36 @@ func (b *blockDec) decodeCompressed(hist *history) error {
}
v := br.Uint8()
br.advance(1)
- dec := fseDecoderPool.Get().(*fseDecoder)
+ if seq.fse == nil || seq.fse.preDefined {
+ seq.fse = fseDecoderPool.Get().(*fseDecoder)
+ }
symb, err := decSymbolValue(v, symbolTableX[i])
if err != nil {
printf("RLE Transform table (%v) error: %v", tableIndex(i), err)
return err
}
- dec.setRLE(symb)
- seq.fse = dec
+ seq.fse.setRLE(symb)
if debugDecoder {
printf("RLE set to %+v, code: %v", symb, v)
}
case compModeFSE:
println("Reading table for", tableIndex(i))
- dec := fseDecoderPool.Get().(*fseDecoder)
- err := dec.readNCount(&br, uint16(maxTableSymbol[i]))
+ if seq.fse == nil || seq.fse.preDefined {
+ seq.fse = fseDecoderPool.Get().(*fseDecoder)
+ }
+ err := seq.fse.readNCount(&br, uint16(maxTableSymbol[i]))
if err != nil {
println("Read table error:", err)
return err
}
- err = dec.transform(symbolTableX[i])
+ err = seq.fse.transform(symbolTableX[i])
if err != nil {
println("Transform table error:", err)
return err
}
if debugDecoder {
- println("Read table ok", "symbolLen:", dec.symbolLen)
+ println("Read table ok", "symbolLen:", seq.fse.symbolLen)
}
- seq.fse = dec
case compModeRepeat:
seq.repeat = true
}
@@ -597,140 +610,89 @@ func (b *blockDec) decodeCompressed(hist *history) error {
}
in = br.unread()
}
-
- // Wait for history.
- // All time spent after this is critical since it is strictly sequential.
- if hist == nil {
- hist = <-b.history
- if hist.error {
- return ErrDecoderClosed
- }
- }
-
- // Decode treeless literal block.
- if litType == literalsBlockTreeless {
- // TODO: We could send the history early WITHOUT the stream history.
- // This would allow decoding treeless literals before the byte history is available.
- // Silencia stats: Treeless 4393, with: 32775, total: 37168, 11% treeless.
- // So not much obvious gain here.
-
- if hist.huffTree == nil {
- return errors.New("literal block was treeless, but no history was defined")
- }
- // Ensure we have space to store it.
- if cap(b.literalBuf) < litRegenSize {
- if b.lowMem {
- b.literalBuf = make([]byte, 0, litRegenSize)
- } else {
- b.literalBuf = make([]byte, 0, maxCompressedLiteralSize)
- }
- }
- var err error
- // Use our out buffer.
- huff = hist.huffTree
- if fourStreams {
- literals, err = huff.Decoder().Decompress4X(b.literalBuf[:0:litRegenSize], literals)
- } else {
- literals, err = huff.Decoder().Decompress1X(b.literalBuf[:0:litRegenSize], literals)
- }
- // Make sure we don't leak our literals buffer
- if err != nil {
- println("decompressing literals:", err)
- return err
- }
- if len(literals) != litRegenSize {
- return fmt.Errorf("literal output size mismatch want %d, got %d", litRegenSize, len(literals))
- }
- } else {
- if hist.huffTree != nil && huff != nil {
- if hist.dict == nil || hist.dict.litEnc != hist.huffTree {
- huffDecoderPool.Put(hist.huffTree)
- }
- hist.huffTree = nil
- }
- }
- if huff != nil {
- hist.huffTree = huff
- }
if debugDecoder {
- println("Final literals:", len(literals), "hash:", xxhash.Sum64(literals), "and", nSeqs, "sequences.")
+ println("Literals:", len(seqs.literals), "hash:", xxhash.Sum64(seqs.literals), "and", seqs.nSeqs, "sequences.")
}
if nSeqs == 0 {
- // Decompressed content is defined entirely as Literals Section content.
- b.dst = append(b.dst, literals...)
- if delayedHistory {
- hist.append(literals)
+ if len(b.sequence) > 0 {
+ b.sequence = b.sequence[:0]
}
return nil
}
-
- seqs, err := seqs.mergeHistory(&hist.decoders)
- if err != nil {
- return err
- }
- if debugDecoder {
- println("History merged ok")
+ br := seqs.br
+ if br == nil {
+ br = &bitReader{}
}
- br := &bitReader{}
if err := br.init(in); err != nil {
return err
}
- // TODO: Investigate if sending history without decoders are faster.
- // This would allow the sequences to be decoded async and only have to construct stream history.
- // If only recent offsets were not transferred, this would be an obvious win.
- // Also, if first 3 sequences don't reference recent offsets, all sequences can be decoded.
+ if err := seqs.initialize(br, hist, b.dst); err != nil {
+ println("initializing sequences:", err)
+ return err
+ }
+ return nil
+}
+
+func (b *blockDec) decodeSequences(hist *history) error {
+ if cap(b.sequence) < hist.decoders.nSeqs {
+ if b.lowMem {
+ b.sequence = make([]seqVals, 0, hist.decoders.nSeqs)
+ } else {
+ b.sequence = make([]seqVals, 0, 0x7F00+0xffff)
+ }
+ }
+ b.sequence = b.sequence[:hist.decoders.nSeqs]
+ if hist.decoders.nSeqs == 0 {
+ hist.decoders.seqSize = len(hist.decoders.literals)
+ return nil
+ }
+ hist.decoders.windowSize = hist.windowSize
+ hist.decoders.prevOffset = hist.recentOffsets
+ err := hist.decoders.decode(b.sequence)
+ hist.recentOffsets = hist.decoders.prevOffset
+ return err
+}
+func (b *blockDec) executeSequences(hist *history) error {
hbytes := hist.b
if len(hbytes) > hist.windowSize {
hbytes = hbytes[len(hbytes)-hist.windowSize:]
- // We do not need history any more.
+ // We do not need history anymore.
if hist.dict != nil {
hist.dict.content = nil
}
}
-
- if err := seqs.initialize(br, hist, literals, b.dst); err != nil {
- println("initializing sequences:", err)
- return err
- }
-
- err = seqs.decode(nSeqs, br, hbytes)
+ hist.decoders.windowSize = hist.windowSize
+ hist.decoders.out = b.dst[:0]
+ err := hist.decoders.execute(b.sequence, hbytes)
if err != nil {
return err
}
- if !br.finished() {
- return fmt.Errorf("%d extra bits on block, should be 0", br.remain())
- }
+ return b.updateHistory(hist)
+}
- err = br.close()
- if err != nil {
- printf("Closing sequences: %v, %+v\n", err, *br)
- }
+func (b *blockDec) updateHistory(hist *history) error {
if len(b.data) > maxCompressedBlockSize {
return fmt.Errorf("compressed block size too large (%d)", len(b.data))
}
// Set output and release references.
- b.dst = seqs.out
- seqs.out, seqs.literals, seqs.hist = nil, nil, nil
+ b.dst = hist.decoders.out
+ hist.recentOffsets = hist.decoders.prevOffset
- if !delayedHistory {
- // If we don't have delayed history, no need to update.
- hist.recentOffsets = seqs.prevOffset
- return nil
- }
if b.Last {
// if last block we don't care about history.
println("Last block, no history returned")
hist.b = hist.b[:0]
return nil
+ } else {
+ hist.append(b.dst)
+ if debugDecoder {
+ println("Finished block with ", len(b.sequence), "sequences. Added", len(b.dst), "to history, now length", len(hist.b))
+ }
}
- hist.append(b.dst)
- hist.recentOffsets = seqs.prevOffset
- if debugDecoder {
- println("Finished block with literals:", len(literals), "and", nSeqs, "sequences.")
- }
+ hist.decoders.out, hist.decoders.literals = nil, nil
return nil
}
diff --git a/vendor/github.com/klauspost/compress/zstd/blockenc.go b/vendor/github.com/klauspost/compress/zstd/blockenc.go
index 3df185ee4..12e8f6f0b 100644
--- a/vendor/github.com/klauspost/compress/zstd/blockenc.go
+++ b/vendor/github.com/klauspost/compress/zstd/blockenc.go
@@ -51,7 +51,7 @@ func (b *blockEnc) init() {
if cap(b.literals) < maxCompressedBlockSize {
b.literals = make([]byte, 0, maxCompressedBlockSize)
}
- const defSeqs = 200
+ const defSeqs = 2000
if cap(b.sequences) < defSeqs {
b.sequences = make([]seq, 0, defSeqs)
}
@@ -426,7 +426,7 @@ func fuzzFseEncoder(data []byte) int {
return 0
}
enc := fseEncoder{}
- hist := enc.Histogram()[:256]
+ hist := enc.Histogram()
maxSym := uint8(0)
for i, v := range data {
v = v & 63
@@ -722,52 +722,53 @@ func (b *blockEnc) encode(org []byte, raw, rawAllLits bool) error {
println("Encoded seq", seq, s, "codes:", s.llCode, s.mlCode, s.ofCode, "states:", ll.state, ml.state, of.state, "bits:", llB, mlB, ofB)
}
seq--
- if llEnc.maxBits+mlEnc.maxBits+ofEnc.maxBits <= 32 {
- // No need to flush (common)
- for seq >= 0 {
- s = b.sequences[seq]
- wr.flush32()
- llB, ofB, mlB := llTT[s.llCode], ofTT[s.ofCode], mlTT[s.mlCode]
- // tabelog max is 8 for all.
- of.encode(ofB)
- ml.encode(mlB)
- ll.encode(llB)
- wr.flush32()
-
- // We checked that all can stay within 32 bits
- wr.addBits32NC(s.litLen, llB.outBits)
- wr.addBits32NC(s.matchLen, mlB.outBits)
- wr.addBits32NC(s.offset, ofB.outBits)
-
- if debugSequences {
- println("Encoded seq", seq, s)
- }
-
- seq--
- }
- } else {
- for seq >= 0 {
- s = b.sequences[seq]
- wr.flush32()
- llB, ofB, mlB := llTT[s.llCode], ofTT[s.ofCode], mlTT[s.mlCode]
- // tabelog max is below 8 for each.
- of.encode(ofB)
- ml.encode(mlB)
- ll.encode(llB)
- wr.flush32()
-
- // ml+ll = max 32 bits total
- wr.addBits32NC(s.litLen, llB.outBits)
- wr.addBits32NC(s.matchLen, mlB.outBits)
- wr.flush32()
- wr.addBits32NC(s.offset, ofB.outBits)
-
- if debugSequences {
- println("Encoded seq", seq, s)
- }
-
- seq--
- }
+ // Store sequences in reverse...
+ for seq >= 0 {
+ s = b.sequences[seq]
+
+ ofB := ofTT[s.ofCode]
+ wr.flush32() // tablelog max is below 8 for each, so it will fill max 24 bits.
+ //of.encode(ofB)
+ nbBitsOut := (uint32(of.state) + ofB.deltaNbBits) >> 16
+ dstState := int32(of.state>>(nbBitsOut&15)) + int32(ofB.deltaFindState)
+ wr.addBits16NC(of.state, uint8(nbBitsOut))
+ of.state = of.stateTable[dstState]
+
+ // Accumulate extra bits.
+ outBits := ofB.outBits & 31
+ extraBits := uint64(s.offset & bitMask32[outBits])
+ extraBitsN := outBits
+
+ mlB := mlTT[s.mlCode]
+ //ml.encode(mlB)
+ nbBitsOut = (uint32(ml.state) + mlB.deltaNbBits) >> 16
+ dstState = int32(ml.state>>(nbBitsOut&15)) + int32(mlB.deltaFindState)
+ wr.addBits16NC(ml.state, uint8(nbBitsOut))
+ ml.state = ml.stateTable[dstState]
+
+ outBits = mlB.outBits & 31
+ extraBits = extraBits<> 16
+ dstState = int32(ll.state>>(nbBitsOut&15)) + int32(llB.deltaFindState)
+ wr.addBits16NC(ll.state, uint8(nbBitsOut))
+ ll.state = ll.stateTable[dstState]
+
+ outBits = llB.outBits & 31
+ extraBits = extraBits< math.MaxUint16 {
panic("can only encode up to 64K sequences")
}
// No bounds checks after here:
- llH := b.coders.llEnc.Histogram()[:256]
- ofH := b.coders.ofEnc.Histogram()[:256]
- mlH := b.coders.mlEnc.Histogram()[:256]
+ llH := b.coders.llEnc.Histogram()
+ ofH := b.coders.ofEnc.Histogram()
+ mlH := b.coders.mlEnc.Histogram()
for i := range llH {
llH[i] = 0
}
@@ -820,7 +820,8 @@ func (b *blockEnc) genCodes() {
}
var llMax, ofMax, mlMax uint8
- for i, seq := range b.sequences {
+ for i := range b.sequences {
+ seq := &b.sequences[i]
v := llCode(seq.litLen)
seq.llCode = v
llH[v]++
@@ -844,7 +845,6 @@ func (b *blockEnc) genCodes() {
panic(fmt.Errorf("mlMax > maxMatchLengthSymbol (%d), matchlen: %d", mlMax, seq.matchLen))
}
}
- b.sequences[i] = seq
}
maxCount := func(a []uint32) int {
var max uint32
diff --git a/vendor/github.com/klauspost/compress/zstd/bytebuf.go b/vendor/github.com/klauspost/compress/zstd/bytebuf.go
index aab71c6cf..b80191e4b 100644
--- a/vendor/github.com/klauspost/compress/zstd/bytebuf.go
+++ b/vendor/github.com/klauspost/compress/zstd/bytebuf.go
@@ -113,6 +113,9 @@ func (r *readerWrapper) readBig(n int, dst []byte) ([]byte, error) {
func (r *readerWrapper) readByte() (byte, error) {
n2, err := r.r.Read(r.tmp[:1])
if err != nil {
+ if err == io.EOF {
+ err = io.ErrUnexpectedEOF
+ }
return 0, err
}
if n2 != 1 {
diff --git a/vendor/github.com/klauspost/compress/zstd/decodeheader.go b/vendor/github.com/klauspost/compress/zstd/decodeheader.go
index 69736e8d4..5022e71c8 100644
--- a/vendor/github.com/klauspost/compress/zstd/decodeheader.go
+++ b/vendor/github.com/klauspost/compress/zstd/decodeheader.go
@@ -5,6 +5,7 @@ package zstd
import (
"bytes"
+ "encoding/binary"
"errors"
"io"
)
@@ -15,18 +16,50 @@ const HeaderMaxSize = 14 + 3
// Header contains information about the first frame and block within that.
type Header struct {
- // Window Size the window of data to keep while decoding.
- // Will only be set if HasFCS is false.
- WindowSize uint64
+ // SingleSegment specifies whether the data is to be decompressed into a
+ // single contiguous memory segment.
+ // It implies that WindowSize is invalid and that FrameContentSize is valid.
+ SingleSegment bool
- // Frame content size.
- // Expected size of the entire frame.
- FrameContentSize uint64
+ // WindowSize is the window of data to keep while decoding.
+ // Will only be set if SingleSegment is false.
+ WindowSize uint64
// Dictionary ID.
// If 0, no dictionary.
DictionaryID uint32
+ // HasFCS specifies whether FrameContentSize has a valid value.
+ HasFCS bool
+
+ // FrameContentSize is the expected uncompressed size of the entire frame.
+ FrameContentSize uint64
+
+ // Skippable will be true if the frame is meant to be skipped.
+ // This implies that FirstBlock.OK is false.
+ Skippable bool
+
+ // SkippableID is the user-specific ID for the skippable frame.
+ // Valid values are between 0 to 15, inclusive.
+ SkippableID int
+
+ // SkippableSize is the length of the user data to skip following
+ // the header.
+ SkippableSize uint32
+
+ // HeaderSize is the raw size of the frame header.
+ //
+ // For normal frames, it includes the size of the magic number and
+ // the size of the header (per section 3.1.1.1).
+ // It does not include the size for any data blocks (section 3.1.1.2) nor
+ // the size for the trailing content checksum.
+ //
+ // For skippable frames, this counts the size of the magic number
+ // along with the size of the size field of the payload.
+ // It does not include the size of the skippable payload itself.
+ // The total frame size is the HeaderSize plus the SkippableSize.
+ HeaderSize int
+
// First block information.
FirstBlock struct {
// OK will be set if first block could be decoded.
@@ -51,17 +84,9 @@ type Header struct {
CompressedSize int
}
- // Skippable will be true if the frame is meant to be skipped.
- // No other information will be populated.
- Skippable bool
-
// If set there is a checksum present for the block content.
+ // The checksum field at the end is always 4 bytes long.
HasCheckSum bool
-
- // If this is true FrameContentSize will have a valid value
- HasFCS bool
-
- SingleSegment bool
}
// Decode the header from the beginning of the stream.
@@ -71,39 +96,46 @@ type Header struct {
// If there isn't enough input, io.ErrUnexpectedEOF is returned.
// The FirstBlock.OK will indicate if enough information was available to decode the first block header.
func (h *Header) Decode(in []byte) error {
+ *h = Header{}
if len(in) < 4 {
return io.ErrUnexpectedEOF
}
+ h.HeaderSize += 4
b, in := in[:4], in[4:]
if !bytes.Equal(b, frameMagic) {
if !bytes.Equal(b[1:4], skippableFrameMagic) || b[0]&0xf0 != 0x50 {
return ErrMagicMismatch
}
- *h = Header{Skippable: true}
+ if len(in) < 4 {
+ return io.ErrUnexpectedEOF
+ }
+ h.HeaderSize += 4
+ h.Skippable = true
+ h.SkippableID = int(b[0] & 0xf)
+ h.SkippableSize = binary.LittleEndian.Uint32(in)
return nil
}
+
+ // Read Window_Descriptor
+ // https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#window_descriptor
if len(in) < 1 {
return io.ErrUnexpectedEOF
}
-
- // Clear output
- *h = Header{}
fhd, in := in[0], in[1:]
+ h.HeaderSize++
h.SingleSegment = fhd&(1<<5) != 0
h.HasCheckSum = fhd&(1<<2) != 0
-
if fhd&(1<<3) != 0 {
return errors.New("reserved bit set on frame header")
}
- // Read Window_Descriptor
- // https://github.com/facebook/zstd/blob/dev/doc/zstd_compression_format.md#window_descriptor
if !h.SingleSegment {
if len(in) < 1 {
return io.ErrUnexpectedEOF
}
var wd byte
wd, in = in[0], in[1:]
+ h.HeaderSize++
windowLog := 10 + (wd >> 3)
windowBase := uint64(1) << windowLog
windowAdd := (windowBase / 8) * uint64(wd&0x7)
@@ -120,9 +152,7 @@ func (h *Header) Decode(in []byte) error {
return io.ErrUnexpectedEOF
}
b, in = in[:size], in[size:]
- if b == nil {
- return io.ErrUnexpectedEOF
- }
+ h.HeaderSize += int(size)
switch size {
case 1:
h.DictionaryID = uint32(b[0])
@@ -152,9 +182,7 @@ func (h *Header) Decode(in []byte) error {
return io.ErrUnexpectedEOF
}
b, in = in[:fcsSize], in[fcsSize:]
- if b == nil {
- return io.ErrUnexpectedEOF
- }
+ h.HeaderSize += int(fcsSize)
switch fcsSize {
case 1:
h.FrameContentSize = uint64(b[0])
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder.go b/vendor/github.com/klauspost/compress/zstd/decoder.go
index f430f58b5..9fcdaac1d 100644
--- a/vendor/github.com/klauspost/compress/zstd/decoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/decoder.go
@@ -5,9 +5,13 @@
package zstd
import (
- "errors"
+ "bytes"
+ "context"
+ "encoding/binary"
"io"
"sync"
+
+ "github.com/klauspost/compress/zstd/internal/xxhash"
)
// Decoder provides decoding of zstandard streams.
@@ -22,12 +26,19 @@ type Decoder struct {
// Unreferenced decoders, ready for use.
decoders chan *blockDec
- // Streams ready to be decoded.
- stream chan decodeStream
-
// Current read position used for Reader functionality.
current decoderState
+ // sync stream decoding
+ syncStream struct {
+ decodedFrame uint64
+ br readerWrapper
+ enabled bool
+ inFrame bool
+ }
+
+ frame *frameDec
+
// Custom dictionaries.
// Always uses copies.
dicts map[uint32]dict
@@ -46,7 +57,10 @@ type decoderState struct {
output chan decodeOutput
// cancel remaining output.
- cancel chan struct{}
+ cancel context.CancelFunc
+
+ // crc of current frame
+ crc *xxhash.Digest
flushed bool
}
@@ -81,7 +95,7 @@ func NewReader(r io.Reader, opts ...DOption) (*Decoder, error) {
return nil, err
}
}
- d.current.output = make(chan decodeOutput, d.o.concurrent)
+ d.current.crc = xxhash.New()
d.current.flushed = true
if r == nil {
@@ -130,7 +144,7 @@ func (d *Decoder) Read(p []byte) (int, error) {
break
}
if !d.nextBlock(n == 0) {
- return n, nil
+ return n, d.current.err
}
}
}
@@ -162,6 +176,7 @@ func (d *Decoder) Reset(r io.Reader) error {
d.drainOutput()
+ d.syncStream.br.r = nil
if r == nil {
d.current.err = ErrDecoderNilInput
if len(d.current.b) > 0 {
@@ -195,33 +210,39 @@ func (d *Decoder) Reset(r io.Reader) error {
}
return nil
}
-
- if d.stream == nil {
- d.stream = make(chan decodeStream, 1)
- d.streamWg.Add(1)
- go d.startStreamDecoder(d.stream)
- }
-
// Remove current block.
+ d.stashDecoder()
d.current.decodeOutput = decodeOutput{}
d.current.err = nil
- d.current.cancel = make(chan struct{})
d.current.flushed = false
d.current.d = nil
- d.stream <- decodeStream{
- r: r,
- output: d.current.output,
- cancel: d.current.cancel,
+ // Ensure no-one else is still running...
+ d.streamWg.Wait()
+ if d.frame == nil {
+ d.frame = newFrameDec(d.o)
+ }
+
+ if d.o.concurrent == 1 {
+ return d.startSyncDecoder(r)
}
+
+ d.current.output = make(chan decodeOutput, d.o.concurrent)
+ ctx, cancel := context.WithCancel(context.Background())
+ d.current.cancel = cancel
+ d.streamWg.Add(1)
+ go d.startStreamDecoder(ctx, r, d.current.output)
+
return nil
}
// drainOutput will drain the output until errEndOfStream is sent.
func (d *Decoder) drainOutput() {
if d.current.cancel != nil {
- println("cancelling current")
- close(d.current.cancel)
+ if debugDecoder {
+ println("cancelling current")
+ }
+ d.current.cancel()
d.current.cancel = nil
}
if d.current.d != nil {
@@ -243,12 +264,9 @@ func (d *Decoder) drainOutput() {
}
d.decoders <- v.d
}
- if v.err == errEndOfStream {
- println("current flushed")
- d.current.flushed = true
- return
- }
}
+ d.current.output = nil
+ d.current.flushed = true
}
// WriteTo writes data to w until there's no more data to write or when an error occurs.
@@ -287,7 +305,7 @@ func (d *Decoder) WriteTo(w io.Writer) (int64, error) {
// DecodeAll can be used concurrently.
// The Decoder concurrency limits will be respected.
func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
- if d.current.err == ErrDecoderClosed {
+ if d.decoders == nil {
return dst, ErrDecoderClosed
}
@@ -300,6 +318,9 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
}
frame.rawInput = nil
frame.bBuf = nil
+ if frame.history.decoders.br != nil {
+ frame.history.decoders.br.in = nil
+ }
d.decoders <- block
}()
frame.bBuf = input
@@ -307,27 +328,31 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
for {
frame.history.reset()
err := frame.reset(&frame.bBuf)
- if err == io.EOF {
- if debugDecoder {
- println("frame reset return EOF")
+ if err != nil {
+ if err == io.EOF {
+ if debugDecoder {
+ println("frame reset return EOF")
+ }
+ return dst, nil
}
- return dst, nil
+ return dst, err
}
if frame.DictionaryID != nil {
dict, ok := d.dicts[*frame.DictionaryID]
if !ok {
return nil, ErrUnknownDictionary
}
+ if debugDecoder {
+ println("setting dict", frame.DictionaryID)
+ }
frame.history.setDict(&dict)
}
- if err != nil {
- return dst, err
- }
- if frame.FrameContentSize > d.o.maxDecodedSize-uint64(len(dst)) {
+
+ if frame.FrameContentSize != fcsUnknown && frame.FrameContentSize > d.o.maxDecodedSize-uint64(len(dst)) {
return dst, ErrDecoderSizeExceeded
}
- if frame.FrameContentSize > 0 && frame.FrameContentSize < 1<<30 {
- // Never preallocate moe than 1 GB up front.
+ if frame.FrameContentSize < 1<<30 {
+ // Never preallocate more than 1 GB up front.
if cap(dst)-len(dst) < int(frame.FrameContentSize) {
dst2 := make([]byte, len(dst), len(dst)+int(frame.FrameContentSize))
copy(dst2, dst)
@@ -368,33 +393,170 @@ func (d *Decoder) DecodeAll(input, dst []byte) ([]byte, error) {
// If non-blocking mode is used the returned boolean will be false
// if no data was available without blocking.
func (d *Decoder) nextBlock(blocking bool) (ok bool) {
- if d.current.d != nil {
- if debugDecoder {
- printf("re-adding current decoder %p", d.current.d)
- }
- d.decoders <- d.current.d
- d.current.d = nil
- }
if d.current.err != nil {
// Keep error state.
- return blocking
+ return false
}
+ d.current.b = d.current.b[:0]
+ // SYNC:
+ if d.syncStream.enabled {
+ if !blocking {
+ return false
+ }
+ ok = d.nextBlockSync()
+ if !ok {
+ d.stashDecoder()
+ }
+ return ok
+ }
+
+ //ASYNC:
+ d.stashDecoder()
if blocking {
- d.current.decodeOutput = <-d.current.output
+ d.current.decodeOutput, ok = <-d.current.output
} else {
select {
- case d.current.decodeOutput = <-d.current.output:
+ case d.current.decodeOutput, ok = <-d.current.output:
default:
return false
}
}
+ if !ok {
+ // This should not happen, so signal error state...
+ d.current.err = io.ErrUnexpectedEOF
+ return false
+ }
+ next := d.current.decodeOutput
+ if next.d != nil && next.d.async.newHist != nil {
+ d.current.crc.Reset()
+ }
if debugDecoder {
- println("got", len(d.current.b), "bytes, error:", d.current.err)
+ var tmp [4]byte
+ binary.LittleEndian.PutUint32(tmp[:], uint32(xxhash.Sum64(next.b)))
+ println("got", len(d.current.b), "bytes, error:", d.current.err, "data crc:", tmp)
+ }
+
+ if len(next.b) > 0 {
+ n, err := d.current.crc.Write(next.b)
+ if err == nil {
+ if n != len(next.b) {
+ d.current.err = io.ErrShortWrite
+ }
+ }
+ }
+ if next.err == nil && next.d != nil && len(next.d.checkCRC) != 0 {
+ got := d.current.crc.Sum64()
+ var tmp [4]byte
+ binary.LittleEndian.PutUint32(tmp[:], uint32(got))
+ if !bytes.Equal(tmp[:], next.d.checkCRC) && !ignoreCRC {
+ if debugDecoder {
+ println("CRC Check Failed:", tmp[:], " (got) !=", next.d.checkCRC, "(on stream)")
+ }
+ d.current.err = ErrCRCMismatch
+ } else {
+ if debugDecoder {
+ println("CRC ok", tmp[:])
+ }
+ }
+ }
+
+ return true
+}
+
+func (d *Decoder) nextBlockSync() (ok bool) {
+ if d.current.d == nil {
+ d.current.d = <-d.decoders
+ }
+ for len(d.current.b) == 0 {
+ if !d.syncStream.inFrame {
+ d.frame.history.reset()
+ d.current.err = d.frame.reset(&d.syncStream.br)
+ if d.current.err != nil {
+ return false
+ }
+ if d.frame.DictionaryID != nil {
+ dict, ok := d.dicts[*d.frame.DictionaryID]
+ if !ok {
+ d.current.err = ErrUnknownDictionary
+ return false
+ } else {
+ d.frame.history.setDict(&dict)
+ }
+ }
+ if d.frame.WindowSize > d.o.maxDecodedSize || d.frame.WindowSize > d.o.maxWindowSize {
+ d.current.err = ErrDecoderSizeExceeded
+ return false
+ }
+
+ d.syncStream.decodedFrame = 0
+ d.syncStream.inFrame = true
+ }
+ d.current.err = d.frame.next(d.current.d)
+ if d.current.err != nil {
+ return false
+ }
+ d.frame.history.ensureBlock()
+ if debugDecoder {
+ println("History trimmed:", len(d.frame.history.b), "decoded already:", d.syncStream.decodedFrame)
+ }
+ histBefore := len(d.frame.history.b)
+ d.current.err = d.current.d.decodeBuf(&d.frame.history)
+
+ if d.current.err != nil {
+ println("error after:", d.current.err)
+ return false
+ }
+ d.current.b = d.frame.history.b[histBefore:]
+ if debugDecoder {
+ println("history after:", len(d.frame.history.b))
+ }
+
+ // Check frame size (before CRC)
+ d.syncStream.decodedFrame += uint64(len(d.current.b))
+ if d.syncStream.decodedFrame > d.frame.FrameContentSize {
+ if debugDecoder {
+ printf("DecodedFrame (%d) > FrameContentSize (%d)\n", d.syncStream.decodedFrame, d.frame.FrameContentSize)
+ }
+ d.current.err = ErrFrameSizeExceeded
+ return false
+ }
+
+ // Check FCS
+ if d.current.d.Last && d.frame.FrameContentSize != fcsUnknown && d.syncStream.decodedFrame != d.frame.FrameContentSize {
+ if debugDecoder {
+ printf("DecodedFrame (%d) != FrameContentSize (%d)\n", d.syncStream.decodedFrame, d.frame.FrameContentSize)
+ }
+ d.current.err = ErrFrameSizeMismatch
+ return false
+ }
+
+ // Update/Check CRC
+ if d.frame.HasCheckSum {
+ d.frame.crc.Write(d.current.b)
+ if d.current.d.Last {
+ d.current.err = d.frame.checkCRC()
+ if d.current.err != nil {
+ println("CRC error:", d.current.err)
+ return false
+ }
+ }
+ }
+ d.syncStream.inFrame = !d.current.d.Last
}
return true
}
+func (d *Decoder) stashDecoder() {
+ if d.current.d != nil {
+ if debugDecoder {
+ printf("re-adding current decoder %p", d.current.d)
+ }
+ d.decoders <- d.current.d
+ d.current.d = nil
+ }
+}
+
// Close will release all resources.
// It is NOT possible to reuse the decoder after this.
func (d *Decoder) Close() {
@@ -402,10 +564,10 @@ func (d *Decoder) Close() {
return
}
d.drainOutput()
- if d.stream != nil {
- close(d.stream)
+ if d.current.cancel != nil {
+ d.current.cancel()
d.streamWg.Wait()
- d.stream = nil
+ d.current.cancel = nil
}
if d.decoders != nil {
close(d.decoders)
@@ -456,100 +618,307 @@ type decodeOutput struct {
err error
}
-type decodeStream struct {
- r io.Reader
-
- // Blocks ready to be written to output.
- output chan decodeOutput
-
- // cancel reading from the input
- cancel chan struct{}
+func (d *Decoder) startSyncDecoder(r io.Reader) error {
+ d.frame.history.reset()
+ d.syncStream.br = readerWrapper{r: r}
+ d.syncStream.inFrame = false
+ d.syncStream.enabled = true
+ d.syncStream.decodedFrame = 0
+ return nil
}
-// errEndOfStream indicates that everything from the stream was read.
-var errEndOfStream = errors.New("end-of-stream")
-
// Create Decoder:
-// Spawn n block decoders. These accept tasks to decode a block.
-// Create goroutine that handles stream processing, this will send history to decoders as they are available.
-// Decoders update the history as they decode.
-// When a block is returned:
-// a) history is sent to the next decoder,
-// b) content written to CRC.
-// c) return data to WRITER.
-// d) wait for next block to return data.
-// Once WRITTEN, the decoders reused by the writer frame decoder for re-use.
-func (d *Decoder) startStreamDecoder(inStream chan decodeStream) {
+// ASYNC:
+// Spawn 4 go routines.
+// 0: Read frames and decode blocks.
+// 1: Decode block and literals. Receives hufftree and seqdecs, returns seqdecs and huff tree.
+// 2: Wait for recentOffsets if needed. Decode sequences, send recentOffsets.
+// 3: Wait for stream history, execute sequences, send stream history.
+func (d *Decoder) startStreamDecoder(ctx context.Context, r io.Reader, output chan decodeOutput) {
defer d.streamWg.Done()
- frame := newFrameDec(d.o)
- for stream := range inStream {
- if debugDecoder {
- println("got new stream")
+ br := readerWrapper{r: r}
+
+ var seqPrepare = make(chan *blockDec, d.o.concurrent)
+ var seqDecode = make(chan *blockDec, d.o.concurrent)
+ var seqExecute = make(chan *blockDec, d.o.concurrent)
+
+ // Async 1: Prepare blocks...
+ go func() {
+ var hist history
+ var hasErr bool
+ for block := range seqPrepare {
+ if hasErr {
+ if block != nil {
+ seqDecode <- block
+ }
+ continue
+ }
+ if block.async.newHist != nil {
+ if debugDecoder {
+ println("Async 1: new history")
+ }
+ hist.reset()
+ if block.async.newHist.dict != nil {
+ hist.setDict(block.async.newHist.dict)
+ }
+ }
+ if block.err != nil || block.Type != blockTypeCompressed {
+ hasErr = block.err != nil
+ seqDecode <- block
+ continue
+ }
+
+ remain, err := block.decodeLiterals(block.data, &hist)
+ block.err = err
+ hasErr = block.err != nil
+ if err == nil {
+ block.async.literals = hist.decoders.literals
+ block.async.seqData = remain
+ } else if debugDecoder {
+ println("decodeLiterals error:", err)
+ }
+ seqDecode <- block
}
- br := readerWrapper{r: stream.r}
- decodeStream:
- for {
- frame.history.reset()
- err := frame.reset(&br)
- if debugDecoder && err != nil {
- println("Frame decoder returned", err)
+ close(seqDecode)
+ }()
+
+ // Async 2: Decode sequences...
+ go func() {
+ var hist history
+ var hasErr bool
+
+ for block := range seqDecode {
+ if hasErr {
+ if block != nil {
+ seqExecute <- block
+ }
+ continue
}
- if err == nil && frame.DictionaryID != nil {
- dict, ok := d.dicts[*frame.DictionaryID]
- if !ok {
- err = ErrUnknownDictionary
- } else {
- frame.history.setDict(&dict)
+ if block.async.newHist != nil {
+ if debugDecoder {
+ println("Async 2: new history, recent:", block.async.newHist.recentOffsets)
+ }
+ hist.decoders = block.async.newHist.decoders
+ hist.recentOffsets = block.async.newHist.recentOffsets
+ hist.windowSize = block.async.newHist.windowSize
+ if block.async.newHist.dict != nil {
+ hist.setDict(block.async.newHist.dict)
}
}
- if err != nil {
- stream.output <- decodeOutput{
- err: err,
+ if block.err != nil || block.Type != blockTypeCompressed {
+ hasErr = block.err != nil
+ seqExecute <- block
+ continue
+ }
+
+ hist.decoders.literals = block.async.literals
+ block.err = block.prepareSequences(block.async.seqData, &hist)
+ if debugDecoder && block.err != nil {
+ println("prepareSequences returned:", block.err)
+ }
+ hasErr = block.err != nil
+ if block.err == nil {
+ block.err = block.decodeSequences(&hist)
+ if debugDecoder && block.err != nil {
+ println("decodeSequences returned:", block.err)
}
- break
+ hasErr = block.err != nil
+ // block.async.sequence = hist.decoders.seq[:hist.decoders.nSeqs]
+ block.async.seqSize = hist.decoders.seqSize
}
- if debugDecoder {
- println("starting frame decoder")
- }
-
- // This goroutine will forward history between frames.
- frame.frameDone.Add(1)
- frame.initAsync()
-
- go frame.startDecoder(stream.output)
- decodeFrame:
- // Go through all blocks of the frame.
- for {
- dec := <-d.decoders
- select {
- case <-stream.cancel:
- if !frame.sendErr(dec, io.EOF) {
- // To not let the decoder dangle, send it back.
- stream.output <- decodeOutput{d: dec}
+ seqExecute <- block
+ }
+ close(seqExecute)
+ }()
+
+ var wg sync.WaitGroup
+ wg.Add(1)
+
+ // Async 3: Execute sequences...
+ frameHistCache := d.frame.history.b
+ go func() {
+ var hist history
+ var decodedFrame uint64
+ var fcs uint64
+ var hasErr bool
+ for block := range seqExecute {
+ out := decodeOutput{err: block.err, d: block}
+ if block.err != nil || hasErr {
+ hasErr = true
+ output <- out
+ continue
+ }
+ if block.async.newHist != nil {
+ if debugDecoder {
+ println("Async 3: new history")
+ }
+ hist.windowSize = block.async.newHist.windowSize
+ hist.allocFrameBuffer = block.async.newHist.allocFrameBuffer
+ if block.async.newHist.dict != nil {
+ hist.setDict(block.async.newHist.dict)
+ }
+
+ if cap(hist.b) < hist.allocFrameBuffer {
+ if cap(frameHistCache) >= hist.allocFrameBuffer {
+ hist.b = frameHistCache
+ } else {
+ hist.b = make([]byte, 0, hist.allocFrameBuffer)
+ println("Alloc history sized", hist.allocFrameBuffer)
+ }
+ }
+ hist.b = hist.b[:0]
+ fcs = block.async.fcs
+ decodedFrame = 0
+ }
+ do := decodeOutput{err: block.err, d: block}
+ switch block.Type {
+ case blockTypeRLE:
+ if debugDecoder {
+ println("add rle block length:", block.RLESize)
+ }
+
+ if cap(block.dst) < int(block.RLESize) {
+ if block.lowMem {
+ block.dst = make([]byte, block.RLESize)
+ } else {
+ block.dst = make([]byte, maxBlockSize)
}
- break decodeStream
- default:
}
- err := frame.next(dec)
- switch err {
- case io.EOF:
- // End of current frame, no error
- println("EOF on next block")
- break decodeFrame
- case nil:
- continue
- default:
- println("block decoder returned", err)
- break decodeStream
+ block.dst = block.dst[:block.RLESize]
+ v := block.data[0]
+ for i := range block.dst {
+ block.dst[i] = v
+ }
+ hist.append(block.dst)
+ do.b = block.dst
+ case blockTypeRaw:
+ if debugDecoder {
+ println("add raw block length:", len(block.data))
+ }
+ hist.append(block.data)
+ do.b = block.data
+ case blockTypeCompressed:
+ if debugDecoder {
+ println("execute with history length:", len(hist.b), "window:", hist.windowSize)
+ }
+ hist.decoders.seqSize = block.async.seqSize
+ hist.decoders.literals = block.async.literals
+ do.err = block.executeSequences(&hist)
+ hasErr = do.err != nil
+ if debugDecoder && hasErr {
+ println("executeSequences returned:", do.err)
+ }
+ do.b = block.dst
+ }
+ if !hasErr {
+ decodedFrame += uint64(len(do.b))
+ if decodedFrame > fcs {
+ println("fcs exceeded", block.Last, fcs, decodedFrame)
+ do.err = ErrFrameSizeExceeded
+ hasErr = true
+ } else if block.Last && fcs != fcsUnknown && decodedFrame != fcs {
+ do.err = ErrFrameSizeMismatch
+ hasErr = true
+ } else {
+ if debugDecoder {
+ println("fcs ok", block.Last, fcs, decodedFrame)
+ }
}
}
- // All blocks have started decoding, check if there are more frames.
- println("waiting for done")
- frame.frameDone.Wait()
- println("done waiting...")
+ output <- do
+ }
+ close(output)
+ frameHistCache = hist.b
+ wg.Done()
+ if debugDecoder {
+ println("decoder goroutines finished")
+ }
+ }()
+
+decodeStream:
+ for {
+ frame := d.frame
+ if debugDecoder {
+ println("New frame...")
+ }
+ var historySent bool
+ frame.history.reset()
+ err := frame.reset(&br)
+ if debugDecoder && err != nil {
+ println("Frame decoder returned", err)
+ }
+ if err == nil && frame.DictionaryID != nil {
+ dict, ok := d.dicts[*frame.DictionaryID]
+ if !ok {
+ err = ErrUnknownDictionary
+ } else {
+ frame.history.setDict(&dict)
+ }
+ }
+ if err == nil && d.frame.WindowSize > d.o.maxWindowSize {
+ err = ErrDecoderSizeExceeded
+ }
+ if err != nil {
+ select {
+ case <-ctx.Done():
+ case dec := <-d.decoders:
+ dec.sendErr(err)
+ seqPrepare <- dec
+ }
+ break decodeStream
+ }
+
+ // Go through all blocks of the frame.
+ for {
+ var dec *blockDec
+ select {
+ case <-ctx.Done():
+ break decodeStream
+ case dec = <-d.decoders:
+ // Once we have a decoder, we MUST return it.
+ }
+ err := frame.next(dec)
+ if !historySent {
+ h := frame.history
+ if debugDecoder {
+ println("Alloc History:", h.allocFrameBuffer)
+ }
+ dec.async.newHist = &h
+ dec.async.fcs = frame.FrameContentSize
+ historySent = true
+ } else {
+ dec.async.newHist = nil
+ }
+ if debugDecoder && err != nil {
+ println("next block returned error:", err)
+ }
+ dec.err = err
+ dec.checkCRC = nil
+ if dec.Last && frame.HasCheckSum && err == nil {
+ crc, err := frame.rawInput.readSmall(4)
+ if err != nil {
+ println("CRC missing?", err)
+ dec.err = err
+ }
+ var tmp [4]byte
+ copy(tmp[:], crc)
+ dec.checkCRC = tmp[:]
+ if debugDecoder {
+ println("found crc to check:", dec.checkCRC)
+ }
+ }
+ err = dec.err
+ last := dec.Last
+ seqPrepare <- dec
+ if err != nil {
+ break decodeStream
+ }
+ if last {
+ break
+ }
}
- frame.frameDone.Wait()
- println("Sending EOS")
- stream.output <- decodeOutput{err: errEndOfStream}
}
+ close(seqPrepare)
+ wg.Wait()
+ d.frame.history.b = frameHistCache
}
diff --git a/vendor/github.com/klauspost/compress/zstd/decoder_options.go b/vendor/github.com/klauspost/compress/zstd/decoder_options.go
index 95cc9b8b8..fd05c9bb0 100644
--- a/vendor/github.com/klauspost/compress/zstd/decoder_options.go
+++ b/vendor/github.com/klauspost/compress/zstd/decoder_options.go
@@ -28,6 +28,9 @@ func (o *decoderOptions) setDefault() {
concurrent: runtime.GOMAXPROCS(0),
maxWindowSize: MaxWindowSize,
}
+ if o.concurrent > 4 {
+ o.concurrent = 4
+ }
o.maxDecodedSize = 1 << 63
}
@@ -37,16 +40,25 @@ func WithDecoderLowmem(b bool) DOption {
return func(o *decoderOptions) error { o.lowMem = b; return nil }
}
-// WithDecoderConcurrency will set the concurrency,
-// meaning the maximum number of decoders to run concurrently.
-// The value supplied must be at least 1.
-// By default this will be set to GOMAXPROCS.
+// WithDecoderConcurrency sets the number of created decoders.
+// When decoding block with DecodeAll, this will limit the number
+// of possible concurrently running decodes.
+// When decoding streams, this will limit the number of
+// inflight blocks.
+// When decoding streams and setting maximum to 1,
+// no async decoding will be done.
+// When a value of 0 is provided GOMAXPROCS will be used.
+// By default this will be set to 4 or GOMAXPROCS, whatever is lower.
func WithDecoderConcurrency(n int) DOption {
return func(o *decoderOptions) error {
- if n <= 0 {
+ if n < 0 {
return errors.New("concurrency must be at least 1")
}
- o.concurrent = n
+ if n == 0 {
+ o.concurrent = runtime.GOMAXPROCS(0)
+ } else {
+ o.concurrent = n
+ }
return nil
}
}
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_base.go b/vendor/github.com/klauspost/compress/zstd/enc_base.go
index 295cd602a..15ae8ee80 100644
--- a/vendor/github.com/klauspost/compress/zstd/enc_base.go
+++ b/vendor/github.com/klauspost/compress/zstd/enc_base.go
@@ -108,11 +108,6 @@ func (e *fastBase) UseBlock(enc *blockEnc) {
e.blk = enc
}
-func (e *fastBase) matchlenNoHist(s, t int32, src []byte) int32 {
- // Extend the match to be as long as possible.
- return int32(matchLen(src[s:], src[t:]))
-}
-
func (e *fastBase) matchlen(s, t int32, src []byte) int32 {
if debugAsserts {
if s < 0 {
@@ -131,9 +126,24 @@ func (e *fastBase) matchlen(s, t int32, src []byte) int32 {
panic(fmt.Sprintf("len(src)-s (%d) > maxCompressedBlockSize (%d)", len(src)-int(s), maxCompressedBlockSize))
}
}
+ a := src[s:]
+ b := src[t:]
+ b = b[:len(a)]
+ end := int32((len(a) >> 3) << 3)
+ for i := int32(0); i < end; i += 8 {
+ if diff := load6432(a, i) ^ load6432(b, i); diff != 0 {
+ return i + int32(bits.TrailingZeros64(diff)>>3)
+ }
+ }
- // Extend the match to be as long as possible.
- return int32(matchLen(src[s:], src[t:]))
+ a = a[end:]
+ b = b[end:]
+ for i := range a {
+ if a[i] != b[i] {
+ return int32(i) + end
+ }
+ }
+ return int32(len(a)) + end
}
// Reset the encoding table.
diff --git a/vendor/github.com/klauspost/compress/zstd/enc_fast.go b/vendor/github.com/klauspost/compress/zstd/enc_fast.go
index f2502629b..f51ab529a 100644
--- a/vendor/github.com/klauspost/compress/zstd/enc_fast.go
+++ b/vendor/github.com/klauspost/compress/zstd/enc_fast.go
@@ -6,8 +6,6 @@ package zstd
import (
"fmt"
- "math"
- "math/bits"
)
const (
@@ -87,7 +85,7 @@ func (e *fastEncoder) Encode(blk *blockEnc, src []byte) {
// TEMPLATE
const hashLog = tableBits
// seems global, but would be nice to tweak.
- const kSearchStrength = 7
+ const kSearchStrength = 6
// nextEmit is where in src the next emitLiteral should start from.
nextEmit := s
@@ -136,20 +134,7 @@ encodeLoop:
// Consider history as well.
var seq seq
var length int32
- // length = 4 + e.matchlen(s+6, repIndex+4, src)
- {
- a := src[s+6:]
- b := src[repIndex+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- length = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- length = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
-
+ length = 4 + e.matchlen(s+6, repIndex+4, src)
seq.matchLen = uint32(length - zstdMinMatch)
// We might be able to match backwards.
@@ -236,20 +221,7 @@ encodeLoop:
}
// Extend the 4-byte match as long as possible.
- //l := e.matchlen(s+4, t+4, src) + 4
- var l int32
- {
- a := src[s+4:]
- b := src[t+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := e.matchlen(s+4, t+4, src) + 4
// Extend backwards
tMin := s - e.maxMatchOff
@@ -286,20 +258,7 @@ encodeLoop:
if o2 := s - offset2; canRepeat && load3232(src, o2) == uint32(cv) {
// We have at least 4 byte match.
// No need to check backwards. We come straight from a match
- //l := 4 + e.matchlen(s+4, o2+4, src)
- var l int32
- {
- a := src[s+4:]
- b := src[o2+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := 4 + e.matchlen(s+4, o2+4, src)
// Store this, since we have it.
nextHash := hashLen(cv, hashLog, tableFastHashLen)
@@ -375,7 +334,7 @@ func (e *fastEncoder) EncodeNoHist(blk *blockEnc, src []byte) {
// TEMPLATE
const hashLog = tableBits
// seems global, but would be nice to tweak.
- const kSearchStrength = 8
+ const kSearchStrength = 6
// nextEmit is where in src the next emitLiteral should start from.
nextEmit := s
@@ -418,21 +377,7 @@ encodeLoop:
if len(blk.sequences) > 2 && load3232(src, repIndex) == uint32(cv>>16) {
// Consider history as well.
var seq seq
- // length := 4 + e.matchlen(s+6, repIndex+4, src)
- // length := 4 + int32(matchLen(src[s+6:], src[repIndex+4:]))
- var length int32
- {
- a := src[s+6:]
- b := src[repIndex+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- length = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- length = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ length := 4 + e.matchlen(s+6, repIndex+4, src)
seq.matchLen = uint32(length - zstdMinMatch)
@@ -522,21 +467,7 @@ encodeLoop:
panic(fmt.Sprintf("t (%d) < 0 ", t))
}
// Extend the 4-byte match as long as possible.
- //l := e.matchlenNoHist(s+4, t+4, src) + 4
- // l := int32(matchLen(src[s+4:], src[t+4:])) + 4
- var l int32
- {
- a := src[s+4:]
- b := src[t+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := e.matchlen(s+4, t+4, src) + 4
// Extend backwards
tMin := s - e.maxMatchOff
@@ -573,21 +504,7 @@ encodeLoop:
if o2 := s - offset2; len(blk.sequences) > 2 && load3232(src, o2) == uint32(cv) {
// We have at least 4 byte match.
// No need to check backwards. We come straight from a match
- //l := 4 + e.matchlenNoHist(s+4, o2+4, src)
- // l := 4 + int32(matchLen(src[s+4:], src[o2+4:]))
- var l int32
- {
- a := src[s+4:]
- b := src[o2+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := 4 + e.matchlen(s+4, o2+4, src)
// Store this, since we have it.
nextHash := hashLen(cv, hashLog, tableFastHashLen)
@@ -731,19 +648,7 @@ encodeLoop:
// Consider history as well.
var seq seq
var length int32
- // length = 4 + e.matchlen(s+6, repIndex+4, src)
- {
- a := src[s+6:]
- b := src[repIndex+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- length = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- length = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ length = 4 + e.matchlen(s+6, repIndex+4, src)
seq.matchLen = uint32(length - zstdMinMatch)
@@ -831,20 +736,7 @@ encodeLoop:
}
// Extend the 4-byte match as long as possible.
- //l := e.matchlen(s+4, t+4, src) + 4
- var l int32
- {
- a := src[s+4:]
- b := src[t+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := e.matchlen(s+4, t+4, src) + 4
// Extend backwards
tMin := s - e.maxMatchOff
@@ -881,20 +773,7 @@ encodeLoop:
if o2 := s - offset2; canRepeat && load3232(src, o2) == uint32(cv) {
// We have at least 4 byte match.
// No need to check backwards. We come straight from a match
- //l := 4 + e.matchlen(s+4, o2+4, src)
- var l int32
- {
- a := src[s+4:]
- b := src[o2+4:]
- endI := len(a) & (math.MaxInt32 - 7)
- l = int32(endI) + 4
- for i := 0; i < endI; i += 8 {
- if diff := load64(a, i) ^ load64(b, i); diff != 0 {
- l = int32(i+bits.TrailingZeros64(diff)>>3) + 4
- break
- }
- }
- }
+ l := 4 + e.matchlen(s+4, o2+4, src)
// Store this, since we have it.
nextHash := hashLen(cv, hashLog, tableFastHashLen)
diff --git a/vendor/github.com/klauspost/compress/zstd/encoder.go b/vendor/github.com/klauspost/compress/zstd/encoder.go
index e6e315969..dcc987a7c 100644
--- a/vendor/github.com/klauspost/compress/zstd/encoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/encoder.go
@@ -98,23 +98,25 @@ func (e *Encoder) Reset(w io.Writer) {
if cap(s.filling) == 0 {
s.filling = make([]byte, 0, e.o.blockSize)
}
- if cap(s.current) == 0 {
- s.current = make([]byte, 0, e.o.blockSize)
- }
- if cap(s.previous) == 0 {
- s.previous = make([]byte, 0, e.o.blockSize)
+ if e.o.concurrent > 1 {
+ if cap(s.current) == 0 {
+ s.current = make([]byte, 0, e.o.blockSize)
+ }
+ if cap(s.previous) == 0 {
+ s.previous = make([]byte, 0, e.o.blockSize)
+ }
+ s.current = s.current[:0]
+ s.previous = s.previous[:0]
+ if s.writing == nil {
+ s.writing = &blockEnc{lowMem: e.o.lowMem}
+ s.writing.init()
+ }
+ s.writing.initNewEncode()
}
if s.encoder == nil {
s.encoder = e.o.encoder()
}
- if s.writing == nil {
- s.writing = &blockEnc{lowMem: e.o.lowMem}
- s.writing.init()
- }
- s.writing.initNewEncode()
s.filling = s.filling[:0]
- s.current = s.current[:0]
- s.previous = s.previous[:0]
s.encoder.Reset(e.o.dict, false)
s.headerWritten = false
s.eofWritten = false
@@ -258,6 +260,46 @@ func (e *Encoder) nextBlock(final bool) error {
return s.err
}
+ // SYNC:
+ if e.o.concurrent == 1 {
+ src := s.filling
+ s.nInput += int64(len(s.filling))
+ if debugEncoder {
+ println("Adding sync block,", len(src), "bytes, final:", final)
+ }
+ enc := s.encoder
+ blk := enc.Block()
+ blk.reset(nil)
+ enc.Encode(blk, src)
+ blk.last = final
+ if final {
+ s.eofWritten = true
+ }
+
+ err := errIncompressible
+ // If we got the exact same number of literals as input,
+ // assume the literals cannot be compressed.
+ if len(src) != len(blk.literals) || len(src) != e.o.blockSize {
+ err = blk.encode(src, e.o.noEntropy, !e.o.allLitEntropy)
+ }
+ switch err {
+ case errIncompressible:
+ if debugEncoder {
+ println("Storing incompressible block as raw")
+ }
+ blk.encodeRaw(src)
+ // In fast mode, we do not transfer offsets, so we don't have to deal with changing the.
+ case nil:
+ default:
+ s.err = err
+ return err
+ }
+ _, s.err = s.w.Write(blk.output)
+ s.nWritten += int64(len(blk.output))
+ s.filling = s.filling[:0]
+ return s.err
+ }
+
// Move blocks forward.
s.filling, s.current, s.previous = s.previous[:0], s.filling, s.current
s.nInput += int64(len(s.current))
diff --git a/vendor/github.com/klauspost/compress/zstd/encoder_options.go b/vendor/github.com/klauspost/compress/zstd/encoder_options.go
index 7d29e1d68..44d8dbd19 100644
--- a/vendor/github.com/klauspost/compress/zstd/encoder_options.go
+++ b/vendor/github.com/klauspost/compress/zstd/encoder_options.go
@@ -24,6 +24,7 @@ type encoderOptions struct {
allLitEntropy bool
customWindow bool
customALEntropy bool
+ customBlockSize bool
lowMem bool
dict *dict
}
@@ -33,7 +34,7 @@ func (o *encoderOptions) setDefault() {
concurrent: runtime.GOMAXPROCS(0),
crc: true,
single: nil,
- blockSize: 1 << 16,
+ blockSize: maxCompressedBlockSize,
windowSize: 8 << 20,
level: SpeedDefault,
allLitEntropy: true,
@@ -75,6 +76,7 @@ func WithEncoderCRC(b bool) EOption {
// WithEncoderConcurrency will set the concurrency,
// meaning the maximum number of encoders to run concurrently.
// The value supplied must be at least 1.
+// For streams, setting a value of 1 will disable async compression.
// By default this will be set to GOMAXPROCS.
func WithEncoderConcurrency(n int) EOption {
return func(o *encoderOptions) error {
@@ -106,6 +108,7 @@ func WithWindowSize(n int) EOption {
o.customWindow = true
if o.blockSize > o.windowSize {
o.blockSize = o.windowSize
+ o.customBlockSize = true
}
return nil
}
@@ -188,10 +191,9 @@ func EncoderLevelFromZstd(level int) EncoderLevel {
return SpeedDefault
case level >= 6 && level < 10:
return SpeedBetterCompression
- case level >= 10:
+ default:
return SpeedBestCompression
}
- return SpeedDefault
}
// String provides a string representation of the compression level.
@@ -222,6 +224,9 @@ func WithEncoderLevel(l EncoderLevel) EOption {
switch o.level {
case SpeedFastest:
o.windowSize = 4 << 20
+ if !o.customBlockSize {
+ o.blockSize = 1 << 16
+ }
case SpeedDefault:
o.windowSize = 8 << 20
case SpeedBetterCompression:
diff --git a/vendor/github.com/klauspost/compress/zstd/framedec.go b/vendor/github.com/klauspost/compress/zstd/framedec.go
index 989c79f8c..11089d223 100644
--- a/vendor/github.com/klauspost/compress/zstd/framedec.go
+++ b/vendor/github.com/klauspost/compress/zstd/framedec.go
@@ -8,23 +8,17 @@ import (
"bytes"
"encoding/hex"
"errors"
- "hash"
"io"
- "sync"
"github.com/klauspost/compress/zstd/internal/xxhash"
)
type frameDec struct {
- o decoderOptions
- crc hash.Hash64
- offset int64
+ o decoderOptions
+ crc *xxhash.Digest
WindowSize uint64
- // In order queue of blocks being decoded.
- decoding chan *blockDec
-
// Frame history passed between blocks
history history
@@ -34,15 +28,10 @@ type frameDec struct {
bBuf byteBuf
FrameContentSize uint64
- frameDone sync.WaitGroup
DictionaryID *uint32
HasCheckSum bool
SingleSegment bool
-
- // asyncRunning indicates whether the async routine processes input on 'decoding'.
- asyncRunningMu sync.Mutex
- asyncRunning bool
}
const (
@@ -208,7 +197,7 @@ func (d *frameDec) reset(br byteBuffer) error {
default:
fcsSize = 1 << v
}
- d.FrameContentSize = 0
+ d.FrameContentSize = fcsUnknown
if fcsSize > 0 {
b, err := br.readSmall(fcsSize)
if err != nil {
@@ -229,9 +218,10 @@ func (d *frameDec) reset(br byteBuffer) error {
d.FrameContentSize = uint64(d1) | (uint64(d2) << 32)
}
if debugDecoder {
- println("field size bits:", v, "fcsSize:", fcsSize, "FrameContentSize:", d.FrameContentSize, hex.EncodeToString(b[:fcsSize]), "singleseg:", d.SingleSegment, "window:", d.WindowSize)
+ println("Read FCS:", d.FrameContentSize)
}
}
+
// Move this to shared.
d.HasCheckSum = fhd&(1<<2) != 0
if d.HasCheckSum {
@@ -264,10 +254,16 @@ func (d *frameDec) reset(br byteBuffer) error {
}
d.history.windowSize = int(d.WindowSize)
if d.o.lowMem && d.history.windowSize < maxBlockSize {
- d.history.maxSize = d.history.windowSize * 2
+ d.history.allocFrameBuffer = d.history.windowSize * 2
+ // TODO: Maybe use FrameContent size
} else {
- d.history.maxSize = d.history.windowSize + maxBlockSize
+ d.history.allocFrameBuffer = d.history.windowSize + maxBlockSize
}
+
+ if debugDecoder {
+ println("Frame: Dict:", d.DictionaryID, "FrameContentSize:", d.FrameContentSize, "singleseg:", d.SingleSegment, "window:", d.WindowSize, "crc:", d.HasCheckSum)
+ }
+
// history contains input - maybe we do something
d.rawInput = br
return nil
@@ -276,49 +272,18 @@ func (d *frameDec) reset(br byteBuffer) error {
// next will start decoding the next block from stream.
func (d *frameDec) next(block *blockDec) error {
if debugDecoder {
- printf("decoding new block %p:%p", block, block.data)
+ println("decoding new block")
}
err := block.reset(d.rawInput, d.WindowSize)
if err != nil {
println("block error:", err)
// Signal the frame decoder we have a problem.
- d.sendErr(block, err)
+ block.sendErr(err)
return err
}
- block.input <- struct{}{}
- if debugDecoder {
- println("next block:", block)
- }
- d.asyncRunningMu.Lock()
- defer d.asyncRunningMu.Unlock()
- if !d.asyncRunning {
- return nil
- }
- if block.Last {
- // We indicate the frame is done by sending io.EOF
- d.decoding <- block
- return io.EOF
- }
- d.decoding <- block
return nil
}
-// sendEOF will queue an error block on the frame.
-// This will cause the frame decoder to return when it encounters the block.
-// Returns true if the decoder was added.
-func (d *frameDec) sendErr(block *blockDec, err error) bool {
- d.asyncRunningMu.Lock()
- defer d.asyncRunningMu.Unlock()
- if !d.asyncRunning {
- return false
- }
-
- println("sending error", err.Error())
- block.sendErr(err)
- d.decoding <- block
- return true
-}
-
// checkCRC will check the checksum if the frame has one.
// Will return ErrCRCMismatch if crc check failed, otherwise nil.
func (d *frameDec) checkCRC() error {
@@ -340,7 +305,7 @@ func (d *frameDec) checkCRC() error {
return err
}
- if !bytes.Equal(tmp[:], want) {
+ if !bytes.Equal(tmp[:], want) && !ignoreCRC {
if debugDecoder {
println("CRC Check Failed:", tmp[:], "!=", want)
}
@@ -352,131 +317,13 @@ func (d *frameDec) checkCRC() error {
return nil
}
-func (d *frameDec) initAsync() {
- if !d.o.lowMem && !d.SingleSegment {
- // set max extra size history to 2MB.
- d.history.maxSize = d.history.windowSize + maxBlockSize
- }
- // re-alloc if more than one extra block size.
- if d.o.lowMem && cap(d.history.b) > d.history.maxSize+maxBlockSize {
- d.history.b = make([]byte, 0, d.history.maxSize)
- }
- if cap(d.history.b) < d.history.maxSize {
- d.history.b = make([]byte, 0, d.history.maxSize)
- }
- if cap(d.decoding) < d.o.concurrent {
- d.decoding = make(chan *blockDec, d.o.concurrent)
- }
- if debugDecoder {
- h := d.history
- printf("history init. len: %d, cap: %d", len(h.b), cap(h.b))
- }
- d.asyncRunningMu.Lock()
- d.asyncRunning = true
- d.asyncRunningMu.Unlock()
-}
-
-// startDecoder will start decoding blocks and write them to the writer.
-// The decoder will stop as soon as an error occurs or at end of frame.
-// When the frame has finished decoding the *bufio.Reader
-// containing the remaining input will be sent on frameDec.frameDone.
-func (d *frameDec) startDecoder(output chan decodeOutput) {
- written := int64(0)
-
- defer func() {
- d.asyncRunningMu.Lock()
- d.asyncRunning = false
- d.asyncRunningMu.Unlock()
-
- // Drain the currently decoding.
- d.history.error = true
- flushdone:
- for {
- select {
- case b := <-d.decoding:
- b.history <- &d.history
- output <- <-b.result
- default:
- break flushdone
- }
- }
- println("frame decoder done, signalling done")
- d.frameDone.Done()
- }()
- // Get decoder for first block.
- block := <-d.decoding
- block.history <- &d.history
- for {
- var next *blockDec
- // Get result
- r := <-block.result
- if r.err != nil {
- println("Result contained error", r.err)
- output <- r
- return
- }
- if debugDecoder {
- println("got result, from ", d.offset, "to", d.offset+int64(len(r.b)))
- d.offset += int64(len(r.b))
- }
- if !block.Last {
- // Send history to next block
- select {
- case next = <-d.decoding:
- if debugDecoder {
- println("Sending ", len(d.history.b), "bytes as history")
- }
- next.history <- &d.history
- default:
- // Wait until we have sent the block, so
- // other decoders can potentially get the decoder.
- next = nil
- }
- }
-
- // Add checksum, async to decoding.
- if d.HasCheckSum {
- n, err := d.crc.Write(r.b)
- if err != nil {
- r.err = err
- if n != len(r.b) {
- r.err = io.ErrShortWrite
- }
- output <- r
- return
- }
- }
- written += int64(len(r.b))
- if d.SingleSegment && uint64(written) > d.FrameContentSize {
- println("runDecoder: single segment and", uint64(written), ">", d.FrameContentSize)
- r.err = ErrFrameSizeExceeded
- output <- r
- return
- }
- if block.Last {
- r.err = d.checkCRC()
- output <- r
- return
- }
- output <- r
- if next == nil {
- // There was no decoder available, we wait for one now that we have sent to the writer.
- if debugDecoder {
- println("Sending ", len(d.history.b), " bytes as history")
- }
- next = <-d.decoding
- next.history <- &d.history
- }
- block = next
- }
-}
-
// runDecoder will create a sync decoder that will decode a block of data.
func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) {
saved := d.history.b
// We use the history for output to avoid copying it.
d.history.b = dst
+ d.history.ignoreBuffer = len(dst)
// Store input length, so we only check new data.
crcStart := len(dst)
var err error
@@ -489,22 +336,30 @@ func (d *frameDec) runDecoder(dst []byte, dec *blockDec) ([]byte, error) {
println("next block:", dec)
}
err = dec.decodeBuf(&d.history)
- if err != nil || dec.Last {
+ if err != nil {
break
}
if uint64(len(d.history.b)) > d.o.maxDecodedSize {
err = ErrDecoderSizeExceeded
break
}
- if d.SingleSegment && uint64(len(d.history.b)) > d.o.maxDecodedSize {
- println("runDecoder: single segment and", uint64(len(d.history.b)), ">", d.o.maxDecodedSize)
+ if uint64(len(d.history.b)-crcStart) > d.FrameContentSize {
+ println("runDecoder: FrameContentSize exceeded", uint64(len(d.history.b)-crcStart), ">", d.FrameContentSize)
err = ErrFrameSizeExceeded
break
}
+ if dec.Last {
+ break
+ }
+ if debugDecoder {
+ println("runDecoder: FrameContentSize", uint64(len(d.history.b)-crcStart), "<=", d.FrameContentSize)
+ }
}
dst = d.history.b
if err == nil {
- if d.HasCheckSum {
+ if d.FrameContentSize != fcsUnknown && uint64(len(d.history.b)-crcStart) != d.FrameContentSize {
+ err = ErrFrameSizeMismatch
+ } else if d.HasCheckSum {
var n int
n, err = d.crc.Write(dst[crcStart:])
if err == nil {
diff --git a/vendor/github.com/klauspost/compress/zstd/fse_decoder.go b/vendor/github.com/klauspost/compress/zstd/fse_decoder.go
index e6d3d49b3..bb3d4fd6c 100644
--- a/vendor/github.com/klauspost/compress/zstd/fse_decoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/fse_decoder.go
@@ -379,7 +379,7 @@ func (s decSymbol) final() (int, uint8) {
// This can only be used if no symbols are 0 bits.
// At least tablelog bits must be available in the bit reader.
func (s *fseState) nextFast(br *bitReader) (uint32, uint8) {
- lowBits := uint16(br.getBitsFast(s.state.nbBits()))
+ lowBits := br.get16BitsFast(s.state.nbBits())
s.state = s.dt[s.state.newState()+lowBits]
return s.state.baseline(), s.state.addBits()
}
diff --git a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go
index b4757ee3f..5442061b1 100644
--- a/vendor/github.com/klauspost/compress/zstd/fse_encoder.go
+++ b/vendor/github.com/klauspost/compress/zstd/fse_encoder.go
@@ -62,9 +62,8 @@ func (s symbolTransform) String() string {
// To indicate that you have populated the histogram call HistogramFinished
// with the value of the highest populated symbol, as well as the number of entries
// in the most populated entry. These are accepted at face value.
-// The returned slice will always be length 256.
-func (s *fseEncoder) Histogram() []uint32 {
- return s.count[:]
+func (s *fseEncoder) Histogram() *[256]uint32 {
+ return &s.count
}
// HistogramFinished can be called to indicate that the histogram has been populated.
diff --git a/vendor/github.com/klauspost/compress/zstd/fuzz.go b/vendor/github.com/klauspost/compress/zstd/fuzz.go
new file mode 100644
index 000000000..7f2210e05
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/zstd/fuzz.go
@@ -0,0 +1,11 @@
+//go:build ignorecrc
+// +build ignorecrc
+
+// Copyright 2019+ Klaus Post. All rights reserved.
+// License information can be found in the LICENSE file.
+// Based on work by Yann Collet, released under BSD License.
+
+package zstd
+
+// ignoreCRC can be used for fuzz testing to ignore CRC values...
+const ignoreCRC = true
diff --git a/vendor/github.com/klauspost/compress/zstd/fuzz_none.go b/vendor/github.com/klauspost/compress/zstd/fuzz_none.go
new file mode 100644
index 000000000..6811c68a8
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/zstd/fuzz_none.go
@@ -0,0 +1,11 @@
+//go:build !ignorecrc
+// +build !ignorecrc
+
+// Copyright 2019+ Klaus Post. All rights reserved.
+// License information can be found in the LICENSE file.
+// Based on work by Yann Collet, released under BSD License.
+
+package zstd
+
+// ignoreCRC can be used for fuzz testing to ignore CRC values...
+const ignoreCRC = false
diff --git a/vendor/github.com/klauspost/compress/zstd/history.go b/vendor/github.com/klauspost/compress/zstd/history.go
index f783e32d2..28b40153c 100644
--- a/vendor/github.com/klauspost/compress/zstd/history.go
+++ b/vendor/github.com/klauspost/compress/zstd/history.go
@@ -10,20 +10,31 @@ import (
// history contains the information transferred between blocks.
type history struct {
- b []byte
- huffTree *huff0.Scratch
- recentOffsets [3]int
+ // Literal decompression
+ huffTree *huff0.Scratch
+
+ // Sequence decompression
decoders sequenceDecs
- windowSize int
- maxSize int
- error bool
- dict *dict
+ recentOffsets [3]int
+
+ // History buffer...
+ b []byte
+
+ // ignoreBuffer is meant to ignore a number of bytes
+ // when checking for matches in history
+ ignoreBuffer int
+
+ windowSize int
+ allocFrameBuffer int // needed?
+ error bool
+ dict *dict
}
// reset will reset the history to initial state of a frame.
// The history must already have been initialized to the desired size.
func (h *history) reset() {
h.b = h.b[:0]
+ h.ignoreBuffer = 0
h.error = false
h.recentOffsets = [3]int{1, 4, 8}
if f := h.decoders.litLengths.fse; f != nil && !f.preDefined {
@@ -35,7 +46,7 @@ func (h *history) reset() {
if f := h.decoders.matchLengths.fse; f != nil && !f.preDefined {
fseDecoderPool.Put(f)
}
- h.decoders = sequenceDecs{}
+ h.decoders = sequenceDecs{br: h.decoders.br}
if h.huffTree != nil {
if h.dict == nil || h.dict.litEnc != h.huffTree {
huffDecoderPool.Put(h.huffTree)
@@ -54,6 +65,7 @@ func (h *history) setDict(dict *dict) {
h.decoders.litLengths = dict.llDec
h.decoders.offsets = dict.ofDec
h.decoders.matchLengths = dict.mlDec
+ h.decoders.dict = dict.content
h.recentOffsets = dict.offsets
h.huffTree = dict.litEnc
}
@@ -83,6 +95,24 @@ func (h *history) append(b []byte) {
copy(h.b[h.windowSize-len(b):], b)
}
+// ensureBlock will ensure there is space for at least one block...
+func (h *history) ensureBlock() {
+ if cap(h.b) < h.allocFrameBuffer {
+ h.b = make([]byte, 0, h.allocFrameBuffer)
+ return
+ }
+
+ avail := cap(h.b) - len(h.b)
+ if avail >= h.windowSize || avail > maxCompressedBlockSize {
+ return
+ }
+ // Move data down so we only have window size left.
+ // We know we have less than window size in b at this point.
+ discard := len(h.b) - h.windowSize
+ copy(h.b, h.b[discard:])
+ h.b = h.b[:h.windowSize]
+}
+
// append bytes to history without ever discarding anything.
func (h *history) appendKeep(b []byte) {
h.b = append(h.b, b...)
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s
index be8db5bf7..cea178561 100644
--- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s
+++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.s
@@ -1,6 +1,7 @@
// +build !appengine
// +build gc
// +build !purego
+// +build !noasm
#include "textflag.h"
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s
new file mode 100644
index 000000000..4d64a17d6
--- /dev/null
+++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_arm64.s
@@ -0,0 +1,186 @@
+// +build gc,!purego,!noasm
+
+#include "textflag.h"
+
+// Register allocation.
+#define digest R1
+#define h R2 // Return value.
+#define p R3 // Input pointer.
+#define len R4
+#define nblocks R5 // len / 32.
+#define prime1 R7
+#define prime2 R8
+#define prime3 R9
+#define prime4 R10
+#define prime5 R11
+#define v1 R12
+#define v2 R13
+#define v3 R14
+#define v4 R15
+#define x1 R20
+#define x2 R21
+#define x3 R22
+#define x4 R23
+
+#define round(acc, x) \
+ MADD prime2, acc, x, acc \
+ ROR $64-31, acc \
+ MUL prime1, acc \
+
+// x = round(0, x).
+#define round0(x) \
+ MUL prime2, x \
+ ROR $64-31, x \
+ MUL prime1, x \
+
+#define mergeRound(x) \
+ round0(x) \
+ EOR x, h \
+ MADD h, prime4, prime1, h \
+
+// Update v[1-4] with 32-byte blocks. Assumes len >= 32.
+#define blocksLoop() \
+ LSR $5, len, nblocks \
+ PCALIGN $16 \
+ loop: \
+ LDP.P 32(p), (x1, x2) \
+ round(v1, x1) \
+ LDP -16(p), (x3, x4) \
+ round(v2, x2) \
+ SUB $1, nblocks \
+ round(v3, x3) \
+ round(v4, x4) \
+ CBNZ nblocks, loop \
+
+// The primes are repeated here to ensure that they're stored
+// in a contiguous array, so we can load them with LDP.
+DATA primes<> +0(SB)/8, $11400714785074694791
+DATA primes<> +8(SB)/8, $14029467366897019727
+DATA primes<>+16(SB)/8, $1609587929392839161
+DATA primes<>+24(SB)/8, $9650029242287828579
+DATA primes<>+32(SB)/8, $2870177450012600261
+GLOBL primes<>(SB), NOPTR+RODATA, $40
+
+// func Sum64(b []byte) uint64
+TEXT ·Sum64(SB), NOFRAME+NOSPLIT, $0-32
+ LDP b_base+0(FP), (p, len)
+
+ LDP primes<> +0(SB), (prime1, prime2)
+ LDP primes<>+16(SB), (prime3, prime4)
+ MOVD primes<>+32(SB), prime5
+
+ CMP $32, len
+ CSEL LO, prime5, ZR, h // if len < 32 { h = prime5 } else { h = 0 }
+ BLO afterLoop
+
+ ADD prime1, prime2, v1
+ MOVD prime2, v2
+ MOVD $0, v3
+ NEG prime1, v4
+
+ blocksLoop()
+
+ ROR $64-1, v1, x1
+ ROR $64-7, v2, x2
+ ADD x1, x2
+ ROR $64-12, v3, x3
+ ROR $64-18, v4, x4
+ ADD x3, x4
+ ADD x2, x4, h
+
+ mergeRound(v1)
+ mergeRound(v2)
+ mergeRound(v3)
+ mergeRound(v4)
+
+afterLoop:
+ ADD len, h
+
+ TBZ $4, len, try8
+ LDP.P 16(p), (x1, x2)
+
+ round0(x1)
+ ROR $64-27, h
+ EOR x1 @> 64-27, h, h
+ MADD h, prime4, prime1, h
+
+ round0(x2)
+ ROR $64-27, h
+ EOR x2 @> 64-27, h
+ MADD h, prime4, prime1, h
+
+try8:
+ TBZ $3, len, try4
+ MOVD.P 8(p), x1
+
+ round0(x1)
+ ROR $64-27, h
+ EOR x1 @> 64-27, h
+ MADD h, prime4, prime1, h
+
+try4:
+ TBZ $2, len, try2
+ MOVWU.P 4(p), x2
+
+ MUL prime1, x2
+ ROR $64-23, h
+ EOR x2 @> 64-23, h
+ MADD h, prime3, prime2, h
+
+try2:
+ TBZ $1, len, try1
+ MOVHU.P 2(p), x3
+ AND $255, x3, x1
+ LSR $8, x3, x2
+
+ MUL prime5, x1
+ ROR $64-11, h
+ EOR x1 @> 64-11, h
+ MUL prime1, h
+
+ MUL prime5, x2
+ ROR $64-11, h
+ EOR x2 @> 64-11, h
+ MUL prime1, h
+
+try1:
+ TBZ $0, len, end
+ MOVBU (p), x4
+
+ MUL prime5, x4
+ ROR $64-11, h
+ EOR x4 @> 64-11, h
+ MUL prime1, h
+
+end:
+ EOR h >> 33, h
+ MUL prime2, h
+ EOR h >> 29, h
+ MUL prime3, h
+ EOR h >> 32, h
+
+ MOVD h, ret+24(FP)
+ RET
+
+// func writeBlocks(d *Digest, b []byte) int
+//
+// Assumes len(b) >= 32.
+TEXT ·writeBlocks(SB), NOFRAME+NOSPLIT, $0-40
+ LDP primes<>(SB), (prime1, prime2)
+
+ // Load state. Assume v[1-4] are stored contiguously.
+ MOVD d+0(FP), digest
+ LDP 0(digest), (v1, v2)
+ LDP 16(digest), (v3, v4)
+
+ LDP b_base+8(FP), (p, len)
+
+ blocksLoop()
+
+ // Store updated state.
+ STP (v1, v2), 0(digest)
+ STP (v3, v4), 16(digest)
+
+ BIC $31, len
+ MOVD len, ret+32(FP)
+ RET
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go
similarity index 51%
rename from vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go
rename to vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go
index 0ae847f75..1a1fac9c2 100644
--- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_amd64.go
+++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_asm.go
@@ -1,5 +1,9 @@
-//go:build !appengine && gc && !purego
-// +build !appengine,gc,!purego
+//go:build (amd64 || arm64) && !appengine && gc && !purego && !noasm
+// +build amd64 arm64
+// +build !appengine
+// +build gc
+// +build !purego
+// +build !noasm
package xxhash
diff --git a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go
index 1f52f296e..209cb4a99 100644
--- a/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go
+++ b/vendor/github.com/klauspost/compress/zstd/internal/xxhash/xxhash_other.go
@@ -1,5 +1,5 @@
-//go:build !amd64 || appengine || !gc || purego
-// +build !amd64 appengine !gc purego
+//go:build (!amd64 && !arm64) || appengine || !gc || purego || noasm
+// +build !amd64,!arm64 appengine !gc purego noasm
package xxhash
diff --git a/vendor/github.com/klauspost/compress/zstd/seqdec.go b/vendor/github.com/klauspost/compress/zstd/seqdec.go
index 1dd39e63b..819f1461b 100644
--- a/vendor/github.com/klauspost/compress/zstd/seqdec.go
+++ b/vendor/github.com/klauspost/compress/zstd/seqdec.go
@@ -20,6 +20,10 @@ type seq struct {
llCode, mlCode, ofCode uint8
}
+type seqVals struct {
+ ll, ml, mo int
+}
+
func (s seq) String() string {
if s.offset <= 3 {
if s.offset == 0 {
@@ -61,16 +65,18 @@ type sequenceDecs struct {
offsets sequenceDec
matchLengths sequenceDec
prevOffset [3]int
- hist []byte
dict []byte
literals []byte
out []byte
+ nSeqs int
+ br *bitReader
+ seqSize int
windowSize int
maxBits uint8
}
// initialize all 3 decoders from the stream input.
-func (s *sequenceDecs) initialize(br *bitReader, hist *history, literals, out []byte) error {
+func (s *sequenceDecs) initialize(br *bitReader, hist *history, out []byte) error {
if err := s.litLengths.init(br); err != nil {
return errors.New("litLengths:" + err.Error())
}
@@ -80,8 +86,7 @@ func (s *sequenceDecs) initialize(br *bitReader, hist *history, literals, out []
if err := s.matchLengths.init(br); err != nil {
return errors.New("matchLengths:" + err.Error())
}
- s.literals = literals
- s.hist = hist.b
+ s.br = br
s.prevOffset = hist.recentOffsets
s.maxBits = s.litLengths.fse.maxBits + s.offsets.fse.maxBits + s.matchLengths.fse.maxBits
s.windowSize = hist.windowSize
@@ -94,11 +99,261 @@ func (s *sequenceDecs) initialize(br *bitReader, hist *history, literals, out []
}
// decode sequences from the stream with the provided history.
-func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
+func (s *sequenceDecs) decode(seqs []seqVals) error {
+ br := s.br
+
+ // Grab full sizes tables, to avoid bounds checks.
+ llTable, mlTable, ofTable := s.litLengths.fse.dt[:maxTablesize], s.matchLengths.fse.dt[:maxTablesize], s.offsets.fse.dt[:maxTablesize]
+ llState, mlState, ofState := s.litLengths.state.state, s.matchLengths.state.state, s.offsets.state.state
+ s.seqSize = 0
+ litRemain := len(s.literals)
+ maxBlockSize := maxCompressedBlockSize
+ if s.windowSize < maxBlockSize {
+ maxBlockSize = s.windowSize
+ }
+ for i := range seqs {
+ var ll, mo, ml int
+ if br.off > 4+((maxOffsetBits+16+16)>>3) {
+ // inlined function:
+ // ll, mo, ml = s.nextFast(br, llState, mlState, ofState)
+
+ // Final will not read from stream.
+ var llB, mlB, moB uint8
+ ll, llB = llState.final()
+ ml, mlB = mlState.final()
+ mo, moB = ofState.final()
+
+ // extra bits are stored in reverse order.
+ br.fillFast()
+ mo += br.getBits(moB)
+ if s.maxBits > 32 {
+ br.fillFast()
+ }
+ ml += br.getBits(mlB)
+ ll += br.getBits(llB)
+
+ if moB > 1 {
+ s.prevOffset[2] = s.prevOffset[1]
+ s.prevOffset[1] = s.prevOffset[0]
+ s.prevOffset[0] = mo
+ } else {
+ // mo = s.adjustOffset(mo, ll, moB)
+ // Inlined for rather big speedup
+ if ll == 0 {
+ // There is an exception though, when current sequence's literals_length = 0.
+ // In this case, repeated offsets are shifted by one, so an offset_value of 1 means Repeated_Offset2,
+ // an offset_value of 2 means Repeated_Offset3, and an offset_value of 3 means Repeated_Offset1 - 1_byte.
+ mo++
+ }
+
+ if mo == 0 {
+ mo = s.prevOffset[0]
+ } else {
+ var temp int
+ if mo == 3 {
+ temp = s.prevOffset[0] - 1
+ } else {
+ temp = s.prevOffset[mo]
+ }
+
+ if temp == 0 {
+ // 0 is not valid; input is corrupted; force offset to 1
+ println("WARNING: temp was 0")
+ temp = 1
+ }
+
+ if mo != 1 {
+ s.prevOffset[2] = s.prevOffset[1]
+ }
+ s.prevOffset[1] = s.prevOffset[0]
+ s.prevOffset[0] = temp
+ mo = temp
+ }
+ }
+ br.fillFast()
+ } else {
+ if br.overread() {
+ if debugDecoder {
+ printf("reading sequence %d, exceeded available data\n", i)
+ }
+ return io.ErrUnexpectedEOF
+ }
+ ll, mo, ml = s.next(br, llState, mlState, ofState)
+ br.fill()
+ }
+
+ if debugSequences {
+ println("Seq", i, "Litlen:", ll, "mo:", mo, "(abs) ml:", ml)
+ }
+ // Evaluate.
+ // We might be doing this async, so do it early.
+ if mo == 0 && ml > 0 {
+ return fmt.Errorf("zero matchoff and matchlen (%d) > 0", ml)
+ }
+ if ml > maxMatchLen {
+ return fmt.Errorf("match len (%d) bigger than max allowed length", ml)
+ }
+ s.seqSize += ll + ml
+ if s.seqSize > maxBlockSize {
+ return fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize)
+ }
+ litRemain -= ll
+ if litRemain < 0 {
+ return fmt.Errorf("unexpected literal count, want %d bytes, but only %d is available", ll, litRemain+ll)
+ }
+ seqs[i] = seqVals{
+ ll: ll,
+ ml: ml,
+ mo: mo,
+ }
+ if i == len(seqs)-1 {
+ // This is the last sequence, so we shouldn't update state.
+ break
+ }
+
+ // Manually inlined, ~ 5-20% faster
+ // Update all 3 states at once. Approx 20% faster.
+ nBits := llState.nbBits() + mlState.nbBits() + ofState.nbBits()
+ if nBits == 0 {
+ llState = llTable[llState.newState()&maxTableMask]
+ mlState = mlTable[mlState.newState()&maxTableMask]
+ ofState = ofTable[ofState.newState()&maxTableMask]
+ } else {
+ bits := br.get32BitsFast(nBits)
+ lowBits := uint16(bits >> ((ofState.nbBits() + mlState.nbBits()) & 31))
+ llState = llTable[(llState.newState()+lowBits)&maxTableMask]
+
+ lowBits = uint16(bits >> (ofState.nbBits() & 31))
+ lowBits &= bitMask[mlState.nbBits()&15]
+ mlState = mlTable[(mlState.newState()+lowBits)&maxTableMask]
+
+ lowBits = uint16(bits) & bitMask[ofState.nbBits()&15]
+ ofState = ofTable[(ofState.newState()+lowBits)&maxTableMask]
+ }
+ }
+ s.seqSize += litRemain
+ if s.seqSize > maxBlockSize {
+ return fmt.Errorf("output (%d) bigger than max block size (%d)", s.seqSize, maxBlockSize)
+ }
+ err := br.close()
+ if err != nil {
+ printf("Closing sequences: %v, %+v\n", err, *br)
+ }
+ return err
+}
+
+// execute will execute the decoded sequence with the provided history.
+// The sequence must be evaluated before being sent.
+func (s *sequenceDecs) execute(seqs []seqVals, hist []byte) error {
+ // Ensure we have enough output size...
+ if len(s.out)+s.seqSize > cap(s.out) {
+ addBytes := s.seqSize + len(s.out)
+ s.out = append(s.out, make([]byte, addBytes)...)
+ s.out = s.out[:len(s.out)-addBytes]
+ }
+
+ if debugDecoder {
+ printf("Execute %d seqs with hist %d, dict %d, literals: %d into %d bytes\n", len(seqs), len(hist), len(s.dict), len(s.literals), s.seqSize)
+ }
+
+ var t = len(s.out)
+ out := s.out[:t+s.seqSize]
+
+ for _, seq := range seqs {
+ // Add literals
+ copy(out[t:], s.literals[:seq.ll])
+ t += seq.ll
+ s.literals = s.literals[seq.ll:]
+
+ // Copy from dictionary...
+ if seq.mo > t+len(hist) || seq.mo > s.windowSize {
+ if len(s.dict) == 0 {
+ return fmt.Errorf("match offset (%d) bigger than current history (%d)", seq.mo, t+len(hist))
+ }
+
+ // we may be in dictionary.
+ dictO := len(s.dict) - (seq.mo - (t + len(hist)))
+ if dictO < 0 || dictO >= len(s.dict) {
+ return fmt.Errorf("match offset (%d) bigger than current history+dict (%d)", seq.mo, t+len(hist)+len(s.dict))
+ }
+ end := dictO + seq.ml
+ if end > len(s.dict) {
+ n := len(s.dict) - dictO
+ copy(out[t:], s.dict[dictO:])
+ t += n
+ seq.ml -= n
+ } else {
+ copy(out[t:], s.dict[dictO:end])
+ t += end - dictO
+ continue
+ }
+ }
+
+ // Copy from history.
+ if v := seq.mo - t; v > 0 {
+ // v is the start position in history from end.
+ start := len(hist) - v
+ if seq.ml > v {
+ // Some goes into current block.
+ // Copy remainder of history
+ copy(out[t:], hist[start:])
+ t += v
+ seq.ml -= v
+ } else {
+ copy(out[t:], hist[start:start+seq.ml])
+ t += seq.ml
+ continue
+ }
+ }
+ // We must be in current buffer now
+ if seq.ml > 0 {
+ start := t - seq.mo
+ if seq.ml <= t-start {
+ // No overlap
+ copy(out[t:], out[start:start+seq.ml])
+ t += seq.ml
+ continue
+ } else {
+ // Overlapping copy
+ // Extend destination slice and copy one byte at the time.
+ src := out[start : start+seq.ml]
+ dst := out[t:]
+ dst = dst[:len(src)]
+ t += len(src)
+ // Destination is the space we just added.
+ for i := range src {
+ dst[i] = src[i]
+ }
+ }
+ }
+ }
+ // Add final literals
+ copy(out[t:], s.literals)
+ if debugDecoder {
+ t += len(s.literals)
+ if t != len(out) {
+ panic(fmt.Errorf("length mismatch, want %d, got %d, ss: %d", len(out), t, s.seqSize))
+ }
+ }
+ s.out = out
+
+ return nil
+}
+
+// decode sequences from the stream with the provided history.
+func (s *sequenceDecs) decodeSync(history *history) error {
+ br := s.br
+ seqs := s.nSeqs
startSize := len(s.out)
// Grab full sizes tables, to avoid bounds checks.
llTable, mlTable, ofTable := s.litLengths.fse.dt[:maxTablesize], s.matchLengths.fse.dt[:maxTablesize], s.offsets.fse.dt[:maxTablesize]
llState, mlState, ofState := s.litLengths.state.state, s.matchLengths.state.state, s.offsets.state.state
+ hist := history.b[history.ignoreBuffer:]
+ out := s.out
+ maxBlockSize := maxCompressedBlockSize
+ if s.windowSize < maxBlockSize {
+ maxBlockSize = s.windowSize
+ }
for i := seqs - 1; i >= 0; i-- {
if br.overread() {
@@ -151,7 +406,7 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
if temp == 0 {
// 0 is not valid; input is corrupted; force offset to 1
- println("temp was 0")
+ println("WARNING: temp was 0")
temp = 1
}
@@ -176,51 +431,49 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
if ll > len(s.literals) {
return fmt.Errorf("unexpected literal count, want %d bytes, but only %d is available", ll, len(s.literals))
}
- size := ll + ml + len(s.out)
+ size := ll + ml + len(out)
if size-startSize > maxBlockSize {
- return fmt.Errorf("output (%d) bigger than max block size", size)
+ return fmt.Errorf("output (%d) bigger than max block size (%d)", size, maxBlockSize)
}
- if size > cap(s.out) {
+ if size > cap(out) {
// Not enough size, which can happen under high volume block streaming conditions
// but could be if destination slice is too small for sync operations.
// over-allocating here can create a large amount of GC pressure so we try to keep
// it as contained as possible
- used := len(s.out) - startSize
+ used := len(out) - startSize
addBytes := 256 + ll + ml + used>>2
// Clamp to max block size.
if used+addBytes > maxBlockSize {
addBytes = maxBlockSize - used
}
- s.out = append(s.out, make([]byte, addBytes)...)
- s.out = s.out[:len(s.out)-addBytes]
+ out = append(out, make([]byte, addBytes)...)
+ out = out[:len(out)-addBytes]
}
if ml > maxMatchLen {
return fmt.Errorf("match len (%d) bigger than max allowed length", ml)
}
// Add literals
- s.out = append(s.out, s.literals[:ll]...)
+ out = append(out, s.literals[:ll]...)
s.literals = s.literals[ll:]
- out := s.out
if mo == 0 && ml > 0 {
return fmt.Errorf("zero matchoff and matchlen (%d) > 0", ml)
}
- if mo > len(s.out)+len(hist) || mo > s.windowSize {
+ if mo > len(out)+len(hist) || mo > s.windowSize {
if len(s.dict) == 0 {
- return fmt.Errorf("match offset (%d) bigger than current history (%d)", mo, len(s.out)+len(hist))
+ return fmt.Errorf("match offset (%d) bigger than current history (%d)", mo, len(out)+len(hist))
}
// we may be in dictionary.
- dictO := len(s.dict) - (mo - (len(s.out) + len(hist)))
+ dictO := len(s.dict) - (mo - (len(out) + len(hist)))
if dictO < 0 || dictO >= len(s.dict) {
- return fmt.Errorf("match offset (%d) bigger than current history (%d)", mo, len(s.out)+len(hist))
+ return fmt.Errorf("match offset (%d) bigger than current history (%d)", mo, len(out)+len(hist))
}
end := dictO + ml
if end > len(s.dict) {
out = append(out, s.dict[dictO:]...)
- mo -= len(s.dict) - dictO
ml -= len(s.dict) - dictO
} else {
out = append(out, s.dict[dictO:end]...)
@@ -231,26 +484,25 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
// Copy from history.
// TODO: Blocks without history could be made to ignore this completely.
- if v := mo - len(s.out); v > 0 {
+ if v := mo - len(out); v > 0 {
// v is the start position in history from end.
- start := len(s.hist) - v
+ start := len(hist) - v
if ml > v {
// Some goes into current block.
// Copy remainder of history
- out = append(out, s.hist[start:]...)
- mo -= v
+ out = append(out, hist[start:]...)
ml -= v
} else {
- out = append(out, s.hist[start:start+ml]...)
+ out = append(out, hist[start:start+ml]...)
ml = 0
}
}
// We must be in current buffer now
if ml > 0 {
- start := len(s.out) - mo
- if ml <= len(s.out)-start {
+ start := len(out) - mo
+ if ml <= len(out)-start {
// No overlap
- out = append(out, s.out[start:start+ml]...)
+ out = append(out, out[start:start+ml]...)
} else {
// Overlapping copy
// Extend destination slice and copy one byte at the time.
@@ -264,7 +516,6 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
}
}
}
- s.out = out
if i == 0 {
// This is the last sequence, so we shouldn't update state.
break
@@ -278,7 +529,7 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
mlState = mlTable[mlState.newState()&maxTableMask]
ofState = ofTable[ofState.newState()&maxTableMask]
} else {
- bits := br.getBitsFast(nBits)
+ bits := br.get32BitsFast(nBits)
lowBits := uint16(bits >> ((ofState.nbBits() + mlState.nbBits()) & 31))
llState = llTable[(llState.newState()+lowBits)&maxTableMask]
@@ -291,9 +542,14 @@ func (s *sequenceDecs) decode(seqs int, br *bitReader, hist []byte) error {
}
}
+ // Check if space for literals
+ if len(s.literals)+len(s.out)-startSize > maxBlockSize {
+ return fmt.Errorf("output (%d) bigger than max block size (%d)", len(s.out), maxBlockSize)
+ }
+
// Add final literals
- s.out = append(s.out, s.literals...)
- return nil
+ s.out = append(out, s.literals...)
+ return br.close()
}
// update states, at least 27 bits must be available.
@@ -326,7 +582,7 @@ func (s *sequenceDecs) updateAlt(br *bitReader) {
s.offsets.state.state = s.offsets.state.dt[c.newState()]
return
}
- bits := br.getBitsFast(nBits)
+ bits := br.get32BitsFast(nBits)
lowBits := uint16(bits >> ((c.nbBits() + b.nbBits()) & 31))
s.litLengths.state.state = s.litLengths.state.dt[a.newState()+lowBits]
@@ -457,36 +713,3 @@ func (s *sequenceDecs) adjustOffset(offset, litLen int, offsetB uint8) int {
s.prevOffset[0] = temp
return temp
}
-
-// mergeHistory will merge history.
-func (s *sequenceDecs) mergeHistory(hist *sequenceDecs) (*sequenceDecs, error) {
- for i := uint(0); i < 3; i++ {
- var sNew, sHist *sequenceDec
- switch i {
- default:
- // same as "case 0":
- sNew = &s.litLengths
- sHist = &hist.litLengths
- case 1:
- sNew = &s.offsets
- sHist = &hist.offsets
- case 2:
- sNew = &s.matchLengths
- sHist = &hist.matchLengths
- }
- if sNew.repeat {
- if sHist.fse == nil {
- return nil, fmt.Errorf("sequence stream %d, repeat requested, but no history", i)
- }
- continue
- }
- if sNew.fse == nil {
- return nil, fmt.Errorf("sequence stream %d, no fse found", i)
- }
- if sHist.fse != nil && !sHist.fse.preDefined {
- fseDecoderPool.Put(sHist.fse)
- }
- sHist.fse = sNew.fse
- }
- return hist, nil
-}
diff --git a/vendor/github.com/klauspost/compress/zstd/zip.go b/vendor/github.com/klauspost/compress/zstd/zip.go
index 967f29b31..ffffcbc25 100644
--- a/vendor/github.com/klauspost/compress/zstd/zip.go
+++ b/vendor/github.com/klauspost/compress/zstd/zip.go
@@ -20,7 +20,7 @@ const ZipMethodPKWare = 20
var zipReaderPool sync.Pool
-// newZipReader cannot be used since we would leak goroutines...
+// newZipReader creates a pooled zip decompressor.
func newZipReader(r io.Reader) io.ReadCloser {
dec, ok := zipReaderPool.Get().(*Decoder)
if ok {
@@ -44,10 +44,14 @@ func (r *pooledZipReader) Read(p []byte) (n int, err error) {
r.mu.Lock()
defer r.mu.Unlock()
if r.dec == nil {
- return 0, errors.New("Read after Close")
+ return 0, errors.New("read after close or EOF")
}
dec, err := r.dec.Read(p)
-
+ if err == io.EOF {
+ err = r.dec.Reset(nil)
+ zipReaderPool.Put(r.dec)
+ r.dec = nil
+ }
return dec, err
}
@@ -112,11 +116,5 @@ func ZipCompressor(opts ...EOption) func(w io.Writer) (io.WriteCloser, error) {
// ZipDecompressor returns a decompressor that can be registered with zip libraries.
// See ZipCompressor for example.
func ZipDecompressor() func(r io.Reader) io.ReadCloser {
- return func(r io.Reader) io.ReadCloser {
- d, err := NewReader(r, WithDecoderConcurrency(1), WithDecoderLowmem(true))
- if err != nil {
- panic(err)
- }
- return d.IOReadCloser()
- }
+ return newZipReader
}
diff --git a/vendor/github.com/klauspost/compress/zstd/zstd.go b/vendor/github.com/klauspost/compress/zstd/zstd.go
index ef1d49a00..c1c90b4a0 100644
--- a/vendor/github.com/klauspost/compress/zstd/zstd.go
+++ b/vendor/github.com/klauspost/compress/zstd/zstd.go
@@ -39,6 +39,9 @@ const zstdMinMatch = 3
// Reset the buffer offset when reaching this.
const bufferReset = math.MaxInt32 - MaxWindowSize
+// fcsUnknown is used for unknown frame content size.
+const fcsUnknown = math.MaxUint64
+
var (
// ErrReservedBlockType is returned when a reserved block type is found.
// Typically this indicates wrong or corrupted input.
@@ -52,6 +55,10 @@ var (
// Typically returned on invalid input.
ErrBlockTooSmall = errors.New("block too small")
+ // ErrUnexpectedBlockSize is returned when a block has unexpected size.
+ // Typically returned on invalid input.
+ ErrUnexpectedBlockSize = errors.New("unexpected block size")
+
// ErrMagicMismatch is returned when a "magic" number isn't what is expected.
// Typically this indicates wrong or corrupted input.
ErrMagicMismatch = errors.New("invalid input: magic number mismatch")
@@ -75,6 +82,10 @@ var (
// This is only returned if SingleSegment is specified on the frame.
ErrFrameSizeExceeded = errors.New("frame size exceeded")
+ // ErrFrameSizeMismatch is returned if the stated frame size does not match the expected size.
+ // This is only returned if SingleSegment is specified on the frame.
+ ErrFrameSizeMismatch = errors.New("frame size does not match size on stream")
+
// ErrCRCMismatch is returned if CRC mismatches.
ErrCRCMismatch = errors.New("CRC check failed")
diff --git a/vendor/github.com/mattn/go-colorable/.travis.yml b/vendor/github.com/mattn/go-colorable/.travis.yml
deleted file mode 100644
index 7942c565c..000000000
--- a/vendor/github.com/mattn/go-colorable/.travis.yml
+++ /dev/null
@@ -1,15 +0,0 @@
-language: go
-sudo: false
-go:
- - 1.13.x
- - tip
-
-before_install:
- - go get -t -v ./...
-
-script:
- - ./go.test.sh
-
-after_success:
- - bash <(curl -s https://codecov.io/bash)
-
diff --git a/vendor/github.com/mattn/go-colorable/README.md b/vendor/github.com/mattn/go-colorable/README.md
index e055952b6..ca0483711 100644
--- a/vendor/github.com/mattn/go-colorable/README.md
+++ b/vendor/github.com/mattn/go-colorable/README.md
@@ -1,6 +1,6 @@
# go-colorable
-[![Build Status](https://travis-ci.org/mattn/go-colorable.svg?branch=master)](https://travis-ci.org/mattn/go-colorable)
+[![Build Status](https://github.com/mattn/go-colorable/workflows/test/badge.svg)](https://github.com/mattn/go-colorable/actions?query=workflow%3Atest)
[![Codecov](https://codecov.io/gh/mattn/go-colorable/branch/master/graph/badge.svg)](https://codecov.io/gh/mattn/go-colorable)
[![GoDoc](https://godoc.org/github.com/mattn/go-colorable?status.svg)](http://godoc.org/github.com/mattn/go-colorable)
[![Go Report Card](https://goreportcard.com/badge/mattn/go-colorable)](https://goreportcard.com/report/mattn/go-colorable)
diff --git a/vendor/github.com/mattn/go-colorable/colorable_appengine.go b/vendor/github.com/mattn/go-colorable/colorable_appengine.go
index 1f7806fe1..416d1bbbf 100644
--- a/vendor/github.com/mattn/go-colorable/colorable_appengine.go
+++ b/vendor/github.com/mattn/go-colorable/colorable_appengine.go
@@ -1,3 +1,4 @@
+//go:build appengine
// +build appengine
package colorable
diff --git a/vendor/github.com/mattn/go-colorable/colorable_others.go b/vendor/github.com/mattn/go-colorable/colorable_others.go
index 08cbd1e0f..766d94603 100644
--- a/vendor/github.com/mattn/go-colorable/colorable_others.go
+++ b/vendor/github.com/mattn/go-colorable/colorable_others.go
@@ -1,5 +1,5 @@
-// +build !windows
-// +build !appengine
+//go:build !windows && !appengine
+// +build !windows,!appengine
package colorable
diff --git a/vendor/github.com/mattn/go-colorable/colorable_windows.go b/vendor/github.com/mattn/go-colorable/colorable_windows.go
index 41215d7fc..1846ad5ab 100644
--- a/vendor/github.com/mattn/go-colorable/colorable_windows.go
+++ b/vendor/github.com/mattn/go-colorable/colorable_windows.go
@@ -1,5 +1,5 @@
-// +build windows
-// +build !appengine
+//go:build windows && !appengine
+// +build windows,!appengine
package colorable
@@ -452,18 +452,22 @@ func (w *Writer) Write(data []byte) (n int, err error) {
} else {
er = bytes.NewReader(data)
}
- var bw [1]byte
+ var plaintext bytes.Buffer
loop:
for {
c1, err := er.ReadByte()
if err != nil {
+ plaintext.WriteTo(w.out)
break loop
}
if c1 != 0x1b {
- bw[0] = c1
- w.out.Write(bw[:])
+ plaintext.WriteByte(c1)
continue
}
+ _, err = plaintext.WriteTo(w.out)
+ if err != nil {
+ break loop
+ }
c2, err := er.ReadByte()
if err != nil {
break loop
diff --git a/vendor/github.com/mattn/go-colorable/go.mod b/vendor/github.com/mattn/go-colorable/go.mod
index 1e590b819..27351c027 100644
--- a/vendor/github.com/mattn/go-colorable/go.mod
+++ b/vendor/github.com/mattn/go-colorable/go.mod
@@ -1,8 +1,8 @@
module github.com/mattn/go-colorable
require (
- github.com/mattn/go-isatty v0.0.12
- golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae // indirect
+ github.com/mattn/go-isatty v0.0.14
+ golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 // indirect
)
go 1.13
diff --git a/vendor/github.com/mattn/go-colorable/go.sum b/vendor/github.com/mattn/go-colorable/go.sum
index cf5b95d97..40c33b333 100644
--- a/vendor/github.com/mattn/go-colorable/go.sum
+++ b/vendor/github.com/mattn/go-colorable/go.sum
@@ -1,5 +1,5 @@
-github.com/mattn/go-isatty v0.0.12 h1:wuysRhFDzyxgEmMf5xjvJ2M9dZoWAXNNr5LSBS7uHXY=
-github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU=
-golang.org/x/sys v0.0.0-20200116001909-b77594299b42/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae h1:/WDfKMnPU+m5M4xB+6x4kaepxRw6jWvR5iDRdvjHgy8=
-golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+github.com/mattn/go-isatty v0.0.14 h1:yVuAays6BHfxijgZPzw+3Zlu5yQgKGP2/hcQbHb7S9Y=
+github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94=
+golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6 h1:foEbQz/B0Oz6YIqu/69kfXPYeFQAuuMYFkjaqXzl5Wo=
+golang.org/x/sys v0.0.0-20210927094055-39ccf1dd6fa6/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
diff --git a/vendor/github.com/mattn/go-colorable/noncolorable.go b/vendor/github.com/mattn/go-colorable/noncolorable.go
index 2dcb09aab..05d6f74bf 100644
--- a/vendor/github.com/mattn/go-colorable/noncolorable.go
+++ b/vendor/github.com/mattn/go-colorable/noncolorable.go
@@ -18,21 +18,22 @@ func NewNonColorable(w io.Writer) io.Writer {
// Write writes data on console
func (w *NonColorable) Write(data []byte) (n int, err error) {
er := bytes.NewReader(data)
- var bw [1]byte
+ var plaintext bytes.Buffer
loop:
for {
c1, err := er.ReadByte()
if err != nil {
+ plaintext.WriteTo(w.out)
break loop
}
if c1 != 0x1b {
- bw[0] = c1
- _, err = w.out.Write(bw[:])
- if err != nil {
- break loop
- }
+ plaintext.WriteByte(c1)
continue
}
+ _, err = plaintext.WriteTo(w.out)
+ if err != nil {
+ break loop
+ }
c2, err := er.ReadByte()
if err != nil {
break loop
@@ -41,7 +42,6 @@ loop:
continue
}
- var buf bytes.Buffer
for {
c, err := er.ReadByte()
if err != nil {
@@ -50,7 +50,6 @@ loop:
if ('a' <= c && c <= 'z') || ('A' <= c && c <= 'Z') || c == '@' {
break
}
- buf.Write([]byte(string(c)))
}
}
diff --git a/vendor/github.com/mitchellh/mapstructure/CHANGELOG.md b/vendor/github.com/mitchellh/mapstructure/CHANGELOG.md
index 9fe803a5e..38a099162 100644
--- a/vendor/github.com/mitchellh/mapstructure/CHANGELOG.md
+++ b/vendor/github.com/mitchellh/mapstructure/CHANGELOG.md
@@ -1,3 +1,7 @@
+## 1.4.3
+
+* Fix cases where `json.Number` didn't decode properly [GH-261]
+
## 1.4.2
* Custom name matchers to support any sort of casing, formatting, etc. for
diff --git a/vendor/github.com/mitchellh/mapstructure/mapstructure.go b/vendor/github.com/mitchellh/mapstructure/mapstructure.go
index dcee0f2d6..6b81b0067 100644
--- a/vendor/github.com/mitchellh/mapstructure/mapstructure.go
+++ b/vendor/github.com/mitchellh/mapstructure/mapstructure.go
@@ -684,16 +684,12 @@ func (d *Decoder) decodeUint(name string, data interface{}, val reflect.Value) e
}
case dataType.PkgPath() == "encoding/json" && dataType.Name() == "Number":
jn := data.(json.Number)
- i, err := jn.Int64()
+ i, err := strconv.ParseUint(string(jn), 0, 64)
if err != nil {
return fmt.Errorf(
"error decoding json.Number into %s: %s", name, err)
}
- if i < 0 && !d.config.WeaklyTypedInput {
- return fmt.Errorf("cannot parse '%s', %d overflows uint",
- name, i)
- }
- val.SetUint(uint64(i))
+ val.SetUint(i)
default:
return fmt.Errorf(
"'%s' expected type '%s', got unconvertible type '%s', value: '%v'",
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_terminations_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_terminations_list_responses.go
index e65123c8e..80de6a8e0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_terminations_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_terminations_list_responses.go
@@ -182,6 +182,8 @@ func (o *CircuitsCircuitTerminationsListOKBody) validateResults(formats strfmt.R
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitTerminationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitTerminationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *CircuitsCircuitTerminationsListOKBody) contextValidateResults(ctx conte
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitTerminationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitTerminationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_types_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_types_list_responses.go
index 347cb2a42..de6aec1ec 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_types_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuit_types_list_responses.go
@@ -182,6 +182,8 @@ func (o *CircuitsCircuitTypesListOKBody) validateResults(formats strfmt.Registry
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *CircuitsCircuitTypesListOKBody) contextValidateResults(ctx context.Cont
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuits_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuits_list_responses.go
index 62d8e083a..1e5aaecb8 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuits_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_circuits_list_responses.go
@@ -182,6 +182,8 @@ func (o *CircuitsCircuitsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *CircuitsCircuitsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsCircuitsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsCircuitsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_client.go
index 26c6efdfb..b8f65fc71 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_client.go
@@ -336,7 +336,7 @@ func (a *Client) CircuitsCircuitTerminationsDelete(params *CircuitsCircuitTermin
}
/*
- CircuitsCircuitTerminationsList circuits circuit terminations list API
+ CircuitsCircuitTerminationsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) CircuitsCircuitTerminationsList(params *CircuitsCircuitTerminationsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CircuitsCircuitTerminationsListOK, error) {
// TODO: Validate the params before sending
@@ -726,7 +726,7 @@ func (a *Client) CircuitsCircuitTypesDelete(params *CircuitsCircuitTypesDeletePa
}
/*
- CircuitsCircuitTypesList circuits circuit types list API
+ CircuitsCircuitTypesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) CircuitsCircuitTypesList(params *CircuitsCircuitTypesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CircuitsCircuitTypesListOK, error) {
// TODO: Validate the params before sending
@@ -1077,7 +1077,7 @@ func (a *Client) CircuitsCircuitsDelete(params *CircuitsCircuitsDeleteParams, au
}
/*
- CircuitsCircuitsList circuits circuits list API
+ CircuitsCircuitsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) CircuitsCircuitsList(params *CircuitsCircuitsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CircuitsCircuitsListOK, error) {
// TODO: Validate the params before sending
@@ -1428,7 +1428,7 @@ func (a *Client) CircuitsProviderNetworksDelete(params *CircuitsProviderNetworks
}
/*
- CircuitsProviderNetworksList circuits provider networks list API
+ CircuitsProviderNetworksList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) CircuitsProviderNetworksList(params *CircuitsProviderNetworksListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CircuitsProviderNetworksListOK, error) {
// TODO: Validate the params before sending
@@ -1779,7 +1779,7 @@ func (a *Client) CircuitsProvidersDelete(params *CircuitsProvidersDeleteParams,
}
/*
- CircuitsProvidersList circuits providers list API
+ CircuitsProvidersList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) CircuitsProvidersList(params *CircuitsProvidersListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*CircuitsProvidersListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_provider_networks_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_provider_networks_list_responses.go
index bf883dc6b..30485246a 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_provider_networks_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_provider_networks_list_responses.go
@@ -182,6 +182,8 @@ func (o *CircuitsProviderNetworksListOKBody) validateResults(formats strfmt.Regi
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsProviderNetworksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsProviderNetworksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *CircuitsProviderNetworksListOKBody) contextValidateResults(ctx context.
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsProviderNetworksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsProviderNetworksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_providers_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_providers_list_responses.go
index a8fff739a..be011e54d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_providers_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/circuits/circuits_providers_list_responses.go
@@ -182,6 +182,8 @@ func (o *CircuitsProvidersListOKBody) validateResults(formats strfmt.Registry) e
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsProvidersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsProvidersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *CircuitsProvidersListOKBody) contextValidateResults(ctx context.Context
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuitsProvidersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuitsProvidersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_parameters.go
index 147985fd3..7df677f42 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_parameters.go
@@ -225,6 +225,54 @@ type DcimCablesListParams struct {
// TenantID.
TenantID *string
+ // TerminationaID.
+ TerminationaID *string
+
+ // TerminationaIDGt.
+ TerminationaIDGt *string
+
+ // TerminationaIDGte.
+ TerminationaIDGte *string
+
+ // TerminationaIDLt.
+ TerminationaIDLt *string
+
+ // TerminationaIDLte.
+ TerminationaIDLte *string
+
+ // TerminationaIDn.
+ TerminationaIDn *string
+
+ // TerminationaType.
+ TerminationaType *string
+
+ // TerminationaTypen.
+ TerminationaTypen *string
+
+ // TerminationbID.
+ TerminationbID *string
+
+ // TerminationbIDGt.
+ TerminationbIDGt *string
+
+ // TerminationbIDGte.
+ TerminationbIDGte *string
+
+ // TerminationbIDLt.
+ TerminationbIDLt *string
+
+ // TerminationbIDLte.
+ TerminationbIDLte *string
+
+ // TerminationbIDn.
+ TerminationbIDn *string
+
+ // TerminationbType.
+ TerminationbType *string
+
+ // TerminationbTypen.
+ TerminationbTypen *string
+
// Type.
Type *string
@@ -812,6 +860,182 @@ func (o *DcimCablesListParams) SetTenantID(tenantID *string) {
o.TenantID = tenantID
}
+// WithTerminationaID adds the terminationaID to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaID(terminationaID *string) *DcimCablesListParams {
+ o.SetTerminationaID(terminationaID)
+ return o
+}
+
+// SetTerminationaID adds the terminationAId to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaID(terminationaID *string) {
+ o.TerminationaID = terminationaID
+}
+
+// WithTerminationaIDGt adds the terminationaIDGt to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaIDGt(terminationaIDGt *string) *DcimCablesListParams {
+ o.SetTerminationaIDGt(terminationaIDGt)
+ return o
+}
+
+// SetTerminationaIDGt adds the terminationAIdGt to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaIDGt(terminationaIDGt *string) {
+ o.TerminationaIDGt = terminationaIDGt
+}
+
+// WithTerminationaIDGte adds the terminationaIDGte to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaIDGte(terminationaIDGte *string) *DcimCablesListParams {
+ o.SetTerminationaIDGte(terminationaIDGte)
+ return o
+}
+
+// SetTerminationaIDGte adds the terminationAIdGte to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaIDGte(terminationaIDGte *string) {
+ o.TerminationaIDGte = terminationaIDGte
+}
+
+// WithTerminationaIDLt adds the terminationaIDLt to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaIDLt(terminationaIDLt *string) *DcimCablesListParams {
+ o.SetTerminationaIDLt(terminationaIDLt)
+ return o
+}
+
+// SetTerminationaIDLt adds the terminationAIdLt to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaIDLt(terminationaIDLt *string) {
+ o.TerminationaIDLt = terminationaIDLt
+}
+
+// WithTerminationaIDLte adds the terminationaIDLte to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaIDLte(terminationaIDLte *string) *DcimCablesListParams {
+ o.SetTerminationaIDLte(terminationaIDLte)
+ return o
+}
+
+// SetTerminationaIDLte adds the terminationAIdLte to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaIDLte(terminationaIDLte *string) {
+ o.TerminationaIDLte = terminationaIDLte
+}
+
+// WithTerminationaIDn adds the terminationaIDn to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaIDn(terminationaIDn *string) *DcimCablesListParams {
+ o.SetTerminationaIDn(terminationaIDn)
+ return o
+}
+
+// SetTerminationaIDn adds the terminationAIdN to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaIDn(terminationaIDn *string) {
+ o.TerminationaIDn = terminationaIDn
+}
+
+// WithTerminationaType adds the terminationaType to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaType(terminationaType *string) *DcimCablesListParams {
+ o.SetTerminationaType(terminationaType)
+ return o
+}
+
+// SetTerminationaType adds the terminationAType to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaType(terminationaType *string) {
+ o.TerminationaType = terminationaType
+}
+
+// WithTerminationaTypen adds the terminationaTypen to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationaTypen(terminationaTypen *string) *DcimCablesListParams {
+ o.SetTerminationaTypen(terminationaTypen)
+ return o
+}
+
+// SetTerminationaTypen adds the terminationATypeN to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationaTypen(terminationaTypen *string) {
+ o.TerminationaTypen = terminationaTypen
+}
+
+// WithTerminationbID adds the terminationbID to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbID(terminationbID *string) *DcimCablesListParams {
+ o.SetTerminationbID(terminationbID)
+ return o
+}
+
+// SetTerminationbID adds the terminationBId to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbID(terminationbID *string) {
+ o.TerminationbID = terminationbID
+}
+
+// WithTerminationbIDGt adds the terminationbIDGt to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbIDGt(terminationbIDGt *string) *DcimCablesListParams {
+ o.SetTerminationbIDGt(terminationbIDGt)
+ return o
+}
+
+// SetTerminationbIDGt adds the terminationBIdGt to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbIDGt(terminationbIDGt *string) {
+ o.TerminationbIDGt = terminationbIDGt
+}
+
+// WithTerminationbIDGte adds the terminationbIDGte to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbIDGte(terminationbIDGte *string) *DcimCablesListParams {
+ o.SetTerminationbIDGte(terminationbIDGte)
+ return o
+}
+
+// SetTerminationbIDGte adds the terminationBIdGte to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbIDGte(terminationbIDGte *string) {
+ o.TerminationbIDGte = terminationbIDGte
+}
+
+// WithTerminationbIDLt adds the terminationbIDLt to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbIDLt(terminationbIDLt *string) *DcimCablesListParams {
+ o.SetTerminationbIDLt(terminationbIDLt)
+ return o
+}
+
+// SetTerminationbIDLt adds the terminationBIdLt to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbIDLt(terminationbIDLt *string) {
+ o.TerminationbIDLt = terminationbIDLt
+}
+
+// WithTerminationbIDLte adds the terminationbIDLte to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbIDLte(terminationbIDLte *string) *DcimCablesListParams {
+ o.SetTerminationbIDLte(terminationbIDLte)
+ return o
+}
+
+// SetTerminationbIDLte adds the terminationBIdLte to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbIDLte(terminationbIDLte *string) {
+ o.TerminationbIDLte = terminationbIDLte
+}
+
+// WithTerminationbIDn adds the terminationbIDn to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbIDn(terminationbIDn *string) *DcimCablesListParams {
+ o.SetTerminationbIDn(terminationbIDn)
+ return o
+}
+
+// SetTerminationbIDn adds the terminationBIdN to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbIDn(terminationbIDn *string) {
+ o.TerminationbIDn = terminationbIDn
+}
+
+// WithTerminationbType adds the terminationbType to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbType(terminationbType *string) *DcimCablesListParams {
+ o.SetTerminationbType(terminationbType)
+ return o
+}
+
+// SetTerminationbType adds the terminationBType to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbType(terminationbType *string) {
+ o.TerminationbType = terminationbType
+}
+
+// WithTerminationbTypen adds the terminationbTypen to the dcim cables list params
+func (o *DcimCablesListParams) WithTerminationbTypen(terminationbTypen *string) *DcimCablesListParams {
+ o.SetTerminationbTypen(terminationbTypen)
+ return o
+}
+
+// SetTerminationbTypen adds the terminationBTypeN to the dcim cables list params
+func (o *DcimCablesListParams) SetTerminationbTypen(terminationbTypen *string) {
+ o.TerminationbTypen = terminationbTypen
+}
+
// WithType adds the typeVar to the dcim cables list params
func (o *DcimCablesListParams) WithType(typeVar *string) *DcimCablesListParams {
o.SetType(typeVar)
@@ -1658,6 +1882,278 @@ func (o *DcimCablesListParams) WriteToRequest(r runtime.ClientRequest, reg strfm
}
}
+ if o.TerminationaID != nil {
+
+ // query param termination_a_id
+ var qrTerminationaID string
+
+ if o.TerminationaID != nil {
+ qrTerminationaID = *o.TerminationaID
+ }
+ qTerminationaID := qrTerminationaID
+ if qTerminationaID != "" {
+
+ if err := r.SetQueryParam("termination_a_id", qTerminationaID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaIDGt != nil {
+
+ // query param termination_a_id__gt
+ var qrTerminationaIDGt string
+
+ if o.TerminationaIDGt != nil {
+ qrTerminationaIDGt = *o.TerminationaIDGt
+ }
+ qTerminationaIDGt := qrTerminationaIDGt
+ if qTerminationaIDGt != "" {
+
+ if err := r.SetQueryParam("termination_a_id__gt", qTerminationaIDGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaIDGte != nil {
+
+ // query param termination_a_id__gte
+ var qrTerminationaIDGte string
+
+ if o.TerminationaIDGte != nil {
+ qrTerminationaIDGte = *o.TerminationaIDGte
+ }
+ qTerminationaIDGte := qrTerminationaIDGte
+ if qTerminationaIDGte != "" {
+
+ if err := r.SetQueryParam("termination_a_id__gte", qTerminationaIDGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaIDLt != nil {
+
+ // query param termination_a_id__lt
+ var qrTerminationaIDLt string
+
+ if o.TerminationaIDLt != nil {
+ qrTerminationaIDLt = *o.TerminationaIDLt
+ }
+ qTerminationaIDLt := qrTerminationaIDLt
+ if qTerminationaIDLt != "" {
+
+ if err := r.SetQueryParam("termination_a_id__lt", qTerminationaIDLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaIDLte != nil {
+
+ // query param termination_a_id__lte
+ var qrTerminationaIDLte string
+
+ if o.TerminationaIDLte != nil {
+ qrTerminationaIDLte = *o.TerminationaIDLte
+ }
+ qTerminationaIDLte := qrTerminationaIDLte
+ if qTerminationaIDLte != "" {
+
+ if err := r.SetQueryParam("termination_a_id__lte", qTerminationaIDLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaIDn != nil {
+
+ // query param termination_a_id__n
+ var qrTerminationaIDn string
+
+ if o.TerminationaIDn != nil {
+ qrTerminationaIDn = *o.TerminationaIDn
+ }
+ qTerminationaIDn := qrTerminationaIDn
+ if qTerminationaIDn != "" {
+
+ if err := r.SetQueryParam("termination_a_id__n", qTerminationaIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaType != nil {
+
+ // query param termination_a_type
+ var qrTerminationaType string
+
+ if o.TerminationaType != nil {
+ qrTerminationaType = *o.TerminationaType
+ }
+ qTerminationaType := qrTerminationaType
+ if qTerminationaType != "" {
+
+ if err := r.SetQueryParam("termination_a_type", qTerminationaType); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationaTypen != nil {
+
+ // query param termination_a_type__n
+ var qrTerminationaTypen string
+
+ if o.TerminationaTypen != nil {
+ qrTerminationaTypen = *o.TerminationaTypen
+ }
+ qTerminationaTypen := qrTerminationaTypen
+ if qTerminationaTypen != "" {
+
+ if err := r.SetQueryParam("termination_a_type__n", qTerminationaTypen); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbID != nil {
+
+ // query param termination_b_id
+ var qrTerminationbID string
+
+ if o.TerminationbID != nil {
+ qrTerminationbID = *o.TerminationbID
+ }
+ qTerminationbID := qrTerminationbID
+ if qTerminationbID != "" {
+
+ if err := r.SetQueryParam("termination_b_id", qTerminationbID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbIDGt != nil {
+
+ // query param termination_b_id__gt
+ var qrTerminationbIDGt string
+
+ if o.TerminationbIDGt != nil {
+ qrTerminationbIDGt = *o.TerminationbIDGt
+ }
+ qTerminationbIDGt := qrTerminationbIDGt
+ if qTerminationbIDGt != "" {
+
+ if err := r.SetQueryParam("termination_b_id__gt", qTerminationbIDGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbIDGte != nil {
+
+ // query param termination_b_id__gte
+ var qrTerminationbIDGte string
+
+ if o.TerminationbIDGte != nil {
+ qrTerminationbIDGte = *o.TerminationbIDGte
+ }
+ qTerminationbIDGte := qrTerminationbIDGte
+ if qTerminationbIDGte != "" {
+
+ if err := r.SetQueryParam("termination_b_id__gte", qTerminationbIDGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbIDLt != nil {
+
+ // query param termination_b_id__lt
+ var qrTerminationbIDLt string
+
+ if o.TerminationbIDLt != nil {
+ qrTerminationbIDLt = *o.TerminationbIDLt
+ }
+ qTerminationbIDLt := qrTerminationbIDLt
+ if qTerminationbIDLt != "" {
+
+ if err := r.SetQueryParam("termination_b_id__lt", qTerminationbIDLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbIDLte != nil {
+
+ // query param termination_b_id__lte
+ var qrTerminationbIDLte string
+
+ if o.TerminationbIDLte != nil {
+ qrTerminationbIDLte = *o.TerminationbIDLte
+ }
+ qTerminationbIDLte := qrTerminationbIDLte
+ if qTerminationbIDLte != "" {
+
+ if err := r.SetQueryParam("termination_b_id__lte", qTerminationbIDLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbIDn != nil {
+
+ // query param termination_b_id__n
+ var qrTerminationbIDn string
+
+ if o.TerminationbIDn != nil {
+ qrTerminationbIDn = *o.TerminationbIDn
+ }
+ qTerminationbIDn := qrTerminationbIDn
+ if qTerminationbIDn != "" {
+
+ if err := r.SetQueryParam("termination_b_id__n", qTerminationbIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbType != nil {
+
+ // query param termination_b_type
+ var qrTerminationbType string
+
+ if o.TerminationbType != nil {
+ qrTerminationbType = *o.TerminationbType
+ }
+ qTerminationbType := qrTerminationbType
+ if qTerminationbType != "" {
+
+ if err := r.SetQueryParam("termination_b_type", qTerminationbType); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TerminationbTypen != nil {
+
+ // query param termination_b_type__n
+ var qrTerminationbTypen string
+
+ if o.TerminationbTypen != nil {
+ qrTerminationbTypen = *o.TerminationbTypen
+ }
+ qTerminationbTypen := qrTerminationbTypen
+ if qTerminationbTypen != "" {
+
+ if err := r.SetQueryParam("termination_b_type__n", qTerminationbTypen); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_responses.go
index 204c33765..aa3855a23 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_cables_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimCablesListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimCablesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimCablesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimCablesListOKBody) contextValidateResults(ctx context.Context, forma
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimCablesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimCablesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_client.go
index d7837f294..9fd923a9b 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_client.go
@@ -65,8 +65,6 @@ type ClientService interface {
DcimConnectedDeviceList(params *DcimConnectedDeviceListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConnectedDeviceListOK, error)
- DcimConsoleConnectionsList(params *DcimConsoleConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsoleConnectionsListOK, error)
-
DcimConsolePortTemplatesBulkDelete(params *DcimConsolePortTemplatesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsolePortTemplatesBulkDeleteNoContent, error)
DcimConsolePortTemplatesBulkPartialUpdate(params *DcimConsolePortTemplatesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsolePortTemplatesBulkPartialUpdateOK, error)
@@ -273,8 +271,6 @@ type ClientService interface {
DcimFrontPortsUpdate(params *DcimFrontPortsUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimFrontPortsUpdateOK, error)
- DcimInterfaceConnectionsList(params *DcimInterfaceConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfaceConnectionsListOK, error)
-
DcimInterfaceTemplatesBulkDelete(params *DcimInterfaceTemplatesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfaceTemplatesBulkDeleteNoContent, error)
DcimInterfaceTemplatesBulkPartialUpdate(params *DcimInterfaceTemplatesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfaceTemplatesBulkPartialUpdateOK, error)
@@ -385,8 +381,6 @@ type ClientService interface {
DcimPlatformsUpdate(params *DcimPlatformsUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPlatformsUpdateOK, error)
- DcimPowerConnectionsList(params *DcimPowerConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerConnectionsListOK, error)
-
DcimPowerFeedsBulkDelete(params *DcimPowerFeedsBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerFeedsBulkDeleteNoContent, error)
DcimPowerFeedsBulkPartialUpdate(params *DcimPowerFeedsBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerFeedsBulkPartialUpdateOK, error)
@@ -866,7 +860,7 @@ func (a *Client) DcimCablesDelete(params *DcimCablesDeleteParams, authInfo runti
}
/*
- DcimCablesList dcim cables list API
+ DcimCablesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimCablesList(params *DcimCablesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimCablesListOK, error) {
// TODO: Validate the params before sending
@@ -1065,45 +1059,6 @@ func (a *Client) DcimConnectedDeviceList(params *DcimConnectedDeviceListParams,
panic(msg)
}
-/*
- DcimConsoleConnectionsList dcim console connections list API
-*/
-func (a *Client) DcimConsoleConnectionsList(params *DcimConsoleConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsoleConnectionsListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewDcimConsoleConnectionsListParams()
- }
- op := &runtime.ClientOperation{
- ID: "dcim_console-connections_list",
- Method: "GET",
- PathPattern: "/dcim/console-connections/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &DcimConsoleConnectionsListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*DcimConsoleConnectionsListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for dcim_console-connections_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
/*
DcimConsolePortTemplatesBulkDelete dcim console port templates bulk delete API
*/
@@ -1300,7 +1255,7 @@ func (a *Client) DcimConsolePortTemplatesDelete(params *DcimConsolePortTemplates
}
/*
- DcimConsolePortTemplatesList dcim console port templates list API
+ DcimConsolePortTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimConsolePortTemplatesList(params *DcimConsolePortTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsolePortTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -1651,7 +1606,7 @@ func (a *Client) DcimConsolePortsDelete(params *DcimConsolePortsDeleteParams, au
}
/*
- DcimConsolePortsList dcim console ports list API
+ DcimConsolePortsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimConsolePortsList(params *DcimConsolePortsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsolePortsListOK, error) {
// TODO: Validate the params before sending
@@ -2041,7 +1996,7 @@ func (a *Client) DcimConsoleServerPortTemplatesDelete(params *DcimConsoleServerP
}
/*
- DcimConsoleServerPortTemplatesList dcim console server port templates list API
+ DcimConsoleServerPortTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimConsoleServerPortTemplatesList(params *DcimConsoleServerPortTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsoleServerPortTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -2392,7 +2347,7 @@ func (a *Client) DcimConsoleServerPortsDelete(params *DcimConsoleServerPortsDele
}
/*
- DcimConsoleServerPortsList dcim console server ports list API
+ DcimConsoleServerPortsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimConsoleServerPortsList(params *DcimConsoleServerPortsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimConsoleServerPortsListOK, error) {
// TODO: Validate the params before sending
@@ -2782,7 +2737,7 @@ func (a *Client) DcimDeviceBayTemplatesDelete(params *DcimDeviceBayTemplatesDele
}
/*
- DcimDeviceBayTemplatesList dcim device bay templates list API
+ DcimDeviceBayTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimDeviceBayTemplatesList(params *DcimDeviceBayTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimDeviceBayTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -3133,7 +3088,7 @@ func (a *Client) DcimDeviceBaysDelete(params *DcimDeviceBaysDeleteParams, authIn
}
/*
- DcimDeviceBaysList dcim device bays list API
+ DcimDeviceBaysList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimDeviceBaysList(params *DcimDeviceBaysListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimDeviceBaysListOK, error) {
// TODO: Validate the params before sending
@@ -3484,7 +3439,7 @@ func (a *Client) DcimDeviceRolesDelete(params *DcimDeviceRolesDeleteParams, auth
}
/*
- DcimDeviceRolesList dcim device roles list API
+ DcimDeviceRolesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimDeviceRolesList(params *DcimDeviceRolesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimDeviceRolesListOK, error) {
// TODO: Validate the params before sending
@@ -3835,7 +3790,7 @@ func (a *Client) DcimDeviceTypesDelete(params *DcimDeviceTypesDeleteParams, auth
}
/*
- DcimDeviceTypesList dcim device types list API
+ DcimDeviceTypesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimDeviceTypesList(params *DcimDeviceTypesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimDeviceTypesListOK, error) {
// TODO: Validate the params before sending
@@ -4186,7 +4141,7 @@ func (a *Client) DcimDevicesDelete(params *DcimDevicesDeleteParams, authInfo run
}
/*
- DcimDevicesList dcim devices list API
+ DcimDevicesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimDevicesList(params *DcimDevicesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimDevicesListOK, error) {
// TODO: Validate the params before sending
@@ -4576,7 +4531,7 @@ func (a *Client) DcimFrontPortTemplatesDelete(params *DcimFrontPortTemplatesDele
}
/*
- DcimFrontPortTemplatesList dcim front port templates list API
+ DcimFrontPortTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimFrontPortTemplatesList(params *DcimFrontPortTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimFrontPortTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -4927,7 +4882,7 @@ func (a *Client) DcimFrontPortsDelete(params *DcimFrontPortsDeleteParams, authIn
}
/*
- DcimFrontPortsList dcim front ports list API
+ DcimFrontPortsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimFrontPortsList(params *DcimFrontPortsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimFrontPortsListOK, error) {
// TODO: Validate the params before sending
@@ -5121,45 +5076,6 @@ func (a *Client) DcimFrontPortsUpdate(params *DcimFrontPortsUpdateParams, authIn
panic(msg)
}
-/*
- DcimInterfaceConnectionsList dcim interface connections list API
-*/
-func (a *Client) DcimInterfaceConnectionsList(params *DcimInterfaceConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfaceConnectionsListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewDcimInterfaceConnectionsListParams()
- }
- op := &runtime.ClientOperation{
- ID: "dcim_interface-connections_list",
- Method: "GET",
- PathPattern: "/dcim/interface-connections/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &DcimInterfaceConnectionsListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*DcimInterfaceConnectionsListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for dcim_interface-connections_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
/*
DcimInterfaceTemplatesBulkDelete dcim interface templates bulk delete API
*/
@@ -5356,7 +5272,7 @@ func (a *Client) DcimInterfaceTemplatesDelete(params *DcimInterfaceTemplatesDele
}
/*
- DcimInterfaceTemplatesList dcim interface templates list API
+ DcimInterfaceTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimInterfaceTemplatesList(params *DcimInterfaceTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfaceTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -5707,7 +5623,7 @@ func (a *Client) DcimInterfacesDelete(params *DcimInterfacesDeleteParams, authIn
}
/*
- DcimInterfacesList dcim interfaces list API
+ DcimInterfacesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimInterfacesList(params *DcimInterfacesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInterfacesListOK, error) {
// TODO: Validate the params before sending
@@ -6097,7 +6013,7 @@ func (a *Client) DcimInventoryItemsDelete(params *DcimInventoryItemsDeleteParams
}
/*
- DcimInventoryItemsList dcim inventory items list API
+ DcimInventoryItemsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimInventoryItemsList(params *DcimInventoryItemsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimInventoryItemsListOK, error) {
// TODO: Validate the params before sending
@@ -6448,7 +6364,7 @@ func (a *Client) DcimLocationsDelete(params *DcimLocationsDeleteParams, authInfo
}
/*
- DcimLocationsList dcim locations list API
+ DcimLocationsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimLocationsList(params *DcimLocationsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimLocationsListOK, error) {
// TODO: Validate the params before sending
@@ -6799,7 +6715,7 @@ func (a *Client) DcimManufacturersDelete(params *DcimManufacturersDeleteParams,
}
/*
- DcimManufacturersList dcim manufacturers list API
+ DcimManufacturersList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimManufacturersList(params *DcimManufacturersListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimManufacturersListOK, error) {
// TODO: Validate the params before sending
@@ -7150,7 +7066,7 @@ func (a *Client) DcimPlatformsDelete(params *DcimPlatformsDeleteParams, authInfo
}
/*
- DcimPlatformsList dcim platforms list API
+ DcimPlatformsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPlatformsList(params *DcimPlatformsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPlatformsListOK, error) {
// TODO: Validate the params before sending
@@ -7305,45 +7221,6 @@ func (a *Client) DcimPlatformsUpdate(params *DcimPlatformsUpdateParams, authInfo
panic(msg)
}
-/*
- DcimPowerConnectionsList dcim power connections list API
-*/
-func (a *Client) DcimPowerConnectionsList(params *DcimPowerConnectionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerConnectionsListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewDcimPowerConnectionsListParams()
- }
- op := &runtime.ClientOperation{
- ID: "dcim_power-connections_list",
- Method: "GET",
- PathPattern: "/dcim/power-connections/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &DcimPowerConnectionsListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*DcimPowerConnectionsListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for dcim_power-connections_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
/*
DcimPowerFeedsBulkDelete dcim power feeds bulk delete API
*/
@@ -7540,7 +7417,7 @@ func (a *Client) DcimPowerFeedsDelete(params *DcimPowerFeedsDeleteParams, authIn
}
/*
- DcimPowerFeedsList dcim power feeds list API
+ DcimPowerFeedsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerFeedsList(params *DcimPowerFeedsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerFeedsListOK, error) {
// TODO: Validate the params before sending
@@ -7930,7 +7807,7 @@ func (a *Client) DcimPowerOutletTemplatesDelete(params *DcimPowerOutletTemplates
}
/*
- DcimPowerOutletTemplatesList dcim power outlet templates list API
+ DcimPowerOutletTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerOutletTemplatesList(params *DcimPowerOutletTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerOutletTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -8281,7 +8158,7 @@ func (a *Client) DcimPowerOutletsDelete(params *DcimPowerOutletsDeleteParams, au
}
/*
- DcimPowerOutletsList dcim power outlets list API
+ DcimPowerOutletsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerOutletsList(params *DcimPowerOutletsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerOutletsListOK, error) {
// TODO: Validate the params before sending
@@ -8671,7 +8548,7 @@ func (a *Client) DcimPowerPanelsDelete(params *DcimPowerPanelsDeleteParams, auth
}
/*
- DcimPowerPanelsList dcim power panels list API
+ DcimPowerPanelsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerPanelsList(params *DcimPowerPanelsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerPanelsListOK, error) {
// TODO: Validate the params before sending
@@ -9022,7 +8899,7 @@ func (a *Client) DcimPowerPortTemplatesDelete(params *DcimPowerPortTemplatesDele
}
/*
- DcimPowerPortTemplatesList dcim power port templates list API
+ DcimPowerPortTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerPortTemplatesList(params *DcimPowerPortTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerPortTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -9373,7 +9250,7 @@ func (a *Client) DcimPowerPortsDelete(params *DcimPowerPortsDeleteParams, authIn
}
/*
- DcimPowerPortsList dcim power ports list API
+ DcimPowerPortsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimPowerPortsList(params *DcimPowerPortsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimPowerPortsListOK, error) {
// TODO: Validate the params before sending
@@ -9763,7 +9640,7 @@ func (a *Client) DcimRackReservationsDelete(params *DcimRackReservationsDeletePa
}
/*
- DcimRackReservationsList dcim rack reservations list API
+ DcimRackReservationsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRackReservationsList(params *DcimRackReservationsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRackReservationsListOK, error) {
// TODO: Validate the params before sending
@@ -10114,7 +9991,7 @@ func (a *Client) DcimRackRolesDelete(params *DcimRackRolesDeleteParams, authInfo
}
/*
- DcimRackRolesList dcim rack roles list API
+ DcimRackRolesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRackRolesList(params *DcimRackRolesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRackRolesListOK, error) {
// TODO: Validate the params before sending
@@ -10504,7 +10381,7 @@ func (a *Client) DcimRacksElevation(params *DcimRacksElevationParams, authInfo r
}
/*
- DcimRacksList dcim racks list API
+ DcimRacksList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRacksList(params *DcimRacksListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRacksListOK, error) {
// TODO: Validate the params before sending
@@ -10855,7 +10732,7 @@ func (a *Client) DcimRearPortTemplatesDelete(params *DcimRearPortTemplatesDelete
}
/*
- DcimRearPortTemplatesList dcim rear port templates list API
+ DcimRearPortTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRearPortTemplatesList(params *DcimRearPortTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRearPortTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -11206,7 +11083,7 @@ func (a *Client) DcimRearPortsDelete(params *DcimRearPortsDeleteParams, authInfo
}
/*
- DcimRearPortsList dcim rear ports list API
+ DcimRearPortsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRearPortsList(params *DcimRearPortsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRearPortsListOK, error) {
// TODO: Validate the params before sending
@@ -11596,7 +11473,7 @@ func (a *Client) DcimRegionsDelete(params *DcimRegionsDeleteParams, authInfo run
}
/*
- DcimRegionsList dcim regions list API
+ DcimRegionsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimRegionsList(params *DcimRegionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimRegionsListOK, error) {
// TODO: Validate the params before sending
@@ -11947,7 +11824,7 @@ func (a *Client) DcimSiteGroupsDelete(params *DcimSiteGroupsDeleteParams, authIn
}
/*
- DcimSiteGroupsList dcim site groups list API
+ DcimSiteGroupsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimSiteGroupsList(params *DcimSiteGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimSiteGroupsListOK, error) {
// TODO: Validate the params before sending
@@ -12298,7 +12175,7 @@ func (a *Client) DcimSitesDelete(params *DcimSitesDeleteParams, authInfo runtime
}
/*
- DcimSitesList dcim sites list API
+ DcimSitesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimSitesList(params *DcimSitesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimSitesListOK, error) {
// TODO: Validate the params before sending
@@ -12649,7 +12526,7 @@ func (a *Client) DcimVirtualChassisDelete(params *DcimVirtualChassisDeleteParams
}
/*
- DcimVirtualChassisList dcim virtual chassis list API
+ DcimVirtualChassisList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) DcimVirtualChassisList(params *DcimVirtualChassisListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*DcimVirtualChassisListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_parameters.go
deleted file mode 100644
index 6df585303..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_parameters.go
+++ /dev/null
@@ -1,645 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewDcimConsoleConnectionsListParams creates a new DcimConsoleConnectionsListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewDcimConsoleConnectionsListParams() *DcimConsoleConnectionsListParams {
- return &DcimConsoleConnectionsListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewDcimConsoleConnectionsListParamsWithTimeout creates a new DcimConsoleConnectionsListParams object
-// with the ability to set a timeout on a request.
-func NewDcimConsoleConnectionsListParamsWithTimeout(timeout time.Duration) *DcimConsoleConnectionsListParams {
- return &DcimConsoleConnectionsListParams{
- timeout: timeout,
- }
-}
-
-// NewDcimConsoleConnectionsListParamsWithContext creates a new DcimConsoleConnectionsListParams object
-// with the ability to set a context for a request.
-func NewDcimConsoleConnectionsListParamsWithContext(ctx context.Context) *DcimConsoleConnectionsListParams {
- return &DcimConsoleConnectionsListParams{
- Context: ctx,
- }
-}
-
-// NewDcimConsoleConnectionsListParamsWithHTTPClient creates a new DcimConsoleConnectionsListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewDcimConsoleConnectionsListParamsWithHTTPClient(client *http.Client) *DcimConsoleConnectionsListParams {
- return &DcimConsoleConnectionsListParams{
- HTTPClient: client,
- }
-}
-
-/* DcimConsoleConnectionsListParams contains all the parameters to send to the API endpoint
- for the dcim console connections list operation.
-
- Typically these are written to a http.Request.
-*/
-type DcimConsoleConnectionsListParams struct {
-
- // Device.
- Device *string
-
- // DeviceID.
- DeviceID *string
-
- /* Limit.
-
- Number of results to return per page.
- */
- Limit *int64
-
- // Name.
- Name *string
-
- // NameEmpty.
- NameEmpty *string
-
- // NameIc.
- NameIc *string
-
- // NameIe.
- NameIe *string
-
- // NameIew.
- NameIew *string
-
- // NameIsw.
- NameIsw *string
-
- // Namen.
- Namen *string
-
- // NameNic.
- NameNic *string
-
- // NameNie.
- NameNie *string
-
- // NameNiew.
- NameNiew *string
-
- // NameNisw.
- NameNisw *string
-
- /* Offset.
-
- The initial index from which to return the results.
- */
- Offset *int64
-
- // Site.
- Site *string
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the dcim console connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimConsoleConnectionsListParams) WithDefaults() *DcimConsoleConnectionsListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the dcim console connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimConsoleConnectionsListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithTimeout(timeout time.Duration) *DcimConsoleConnectionsListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithContext(ctx context.Context) *DcimConsoleConnectionsListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithHTTPClient(client *http.Client) *DcimConsoleConnectionsListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithDevice adds the device to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithDevice(device *string) *DcimConsoleConnectionsListParams {
- o.SetDevice(device)
- return o
-}
-
-// SetDevice adds the device to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetDevice(device *string) {
- o.Device = device
-}
-
-// WithDeviceID adds the deviceID to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithDeviceID(deviceID *string) *DcimConsoleConnectionsListParams {
- o.SetDeviceID(deviceID)
- return o
-}
-
-// SetDeviceID adds the deviceId to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetDeviceID(deviceID *string) {
- o.DeviceID = deviceID
-}
-
-// WithLimit adds the limit to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithLimit(limit *int64) *DcimConsoleConnectionsListParams {
- o.SetLimit(limit)
- return o
-}
-
-// SetLimit adds the limit to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetLimit(limit *int64) {
- o.Limit = limit
-}
-
-// WithName adds the name to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithName(name *string) *DcimConsoleConnectionsListParams {
- o.SetName(name)
- return o
-}
-
-// SetName adds the name to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetName(name *string) {
- o.Name = name
-}
-
-// WithNameEmpty adds the nameEmpty to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameEmpty(nameEmpty *string) *DcimConsoleConnectionsListParams {
- o.SetNameEmpty(nameEmpty)
- return o
-}
-
-// SetNameEmpty adds the nameEmpty to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameEmpty(nameEmpty *string) {
- o.NameEmpty = nameEmpty
-}
-
-// WithNameIc adds the nameIc to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameIc(nameIc *string) *DcimConsoleConnectionsListParams {
- o.SetNameIc(nameIc)
- return o
-}
-
-// SetNameIc adds the nameIc to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameIc(nameIc *string) {
- o.NameIc = nameIc
-}
-
-// WithNameIe adds the nameIe to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameIe(nameIe *string) *DcimConsoleConnectionsListParams {
- o.SetNameIe(nameIe)
- return o
-}
-
-// SetNameIe adds the nameIe to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameIe(nameIe *string) {
- o.NameIe = nameIe
-}
-
-// WithNameIew adds the nameIew to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameIew(nameIew *string) *DcimConsoleConnectionsListParams {
- o.SetNameIew(nameIew)
- return o
-}
-
-// SetNameIew adds the nameIew to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameIew(nameIew *string) {
- o.NameIew = nameIew
-}
-
-// WithNameIsw adds the nameIsw to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameIsw(nameIsw *string) *DcimConsoleConnectionsListParams {
- o.SetNameIsw(nameIsw)
- return o
-}
-
-// SetNameIsw adds the nameIsw to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameIsw(nameIsw *string) {
- o.NameIsw = nameIsw
-}
-
-// WithNamen adds the namen to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNamen(namen *string) *DcimConsoleConnectionsListParams {
- o.SetNamen(namen)
- return o
-}
-
-// SetNamen adds the nameN to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNamen(namen *string) {
- o.Namen = namen
-}
-
-// WithNameNic adds the nameNic to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameNic(nameNic *string) *DcimConsoleConnectionsListParams {
- o.SetNameNic(nameNic)
- return o
-}
-
-// SetNameNic adds the nameNic to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameNic(nameNic *string) {
- o.NameNic = nameNic
-}
-
-// WithNameNie adds the nameNie to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameNie(nameNie *string) *DcimConsoleConnectionsListParams {
- o.SetNameNie(nameNie)
- return o
-}
-
-// SetNameNie adds the nameNie to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameNie(nameNie *string) {
- o.NameNie = nameNie
-}
-
-// WithNameNiew adds the nameNiew to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameNiew(nameNiew *string) *DcimConsoleConnectionsListParams {
- o.SetNameNiew(nameNiew)
- return o
-}
-
-// SetNameNiew adds the nameNiew to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameNiew(nameNiew *string) {
- o.NameNiew = nameNiew
-}
-
-// WithNameNisw adds the nameNisw to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithNameNisw(nameNisw *string) *DcimConsoleConnectionsListParams {
- o.SetNameNisw(nameNisw)
- return o
-}
-
-// SetNameNisw adds the nameNisw to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetNameNisw(nameNisw *string) {
- o.NameNisw = nameNisw
-}
-
-// WithOffset adds the offset to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithOffset(offset *int64) *DcimConsoleConnectionsListParams {
- o.SetOffset(offset)
- return o
-}
-
-// SetOffset adds the offset to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetOffset(offset *int64) {
- o.Offset = offset
-}
-
-// WithSite adds the site to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) WithSite(site *string) *DcimConsoleConnectionsListParams {
- o.SetSite(site)
- return o
-}
-
-// SetSite adds the site to the dcim console connections list params
-func (o *DcimConsoleConnectionsListParams) SetSite(site *string) {
- o.Site = site
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *DcimConsoleConnectionsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if o.Device != nil {
-
- // query param device
- var qrDevice string
-
- if o.Device != nil {
- qrDevice = *o.Device
- }
- qDevice := qrDevice
- if qDevice != "" {
-
- if err := r.SetQueryParam("device", qDevice); err != nil {
- return err
- }
- }
- }
-
- if o.DeviceID != nil {
-
- // query param device_id
- var qrDeviceID string
-
- if o.DeviceID != nil {
- qrDeviceID = *o.DeviceID
- }
- qDeviceID := qrDeviceID
- if qDeviceID != "" {
-
- if err := r.SetQueryParam("device_id", qDeviceID); err != nil {
- return err
- }
- }
- }
-
- if o.Limit != nil {
-
- // query param limit
- var qrLimit int64
-
- if o.Limit != nil {
- qrLimit = *o.Limit
- }
- qLimit := swag.FormatInt64(qrLimit)
- if qLimit != "" {
-
- if err := r.SetQueryParam("limit", qLimit); err != nil {
- return err
- }
- }
- }
-
- if o.Name != nil {
-
- // query param name
- var qrName string
-
- if o.Name != nil {
- qrName = *o.Name
- }
- qName := qrName
- if qName != "" {
-
- if err := r.SetQueryParam("name", qName); err != nil {
- return err
- }
- }
- }
-
- if o.NameEmpty != nil {
-
- // query param name__empty
- var qrNameEmpty string
-
- if o.NameEmpty != nil {
- qrNameEmpty = *o.NameEmpty
- }
- qNameEmpty := qrNameEmpty
- if qNameEmpty != "" {
-
- if err := r.SetQueryParam("name__empty", qNameEmpty); err != nil {
- return err
- }
- }
- }
-
- if o.NameIc != nil {
-
- // query param name__ic
- var qrNameIc string
-
- if o.NameIc != nil {
- qrNameIc = *o.NameIc
- }
- qNameIc := qrNameIc
- if qNameIc != "" {
-
- if err := r.SetQueryParam("name__ic", qNameIc); err != nil {
- return err
- }
- }
- }
-
- if o.NameIe != nil {
-
- // query param name__ie
- var qrNameIe string
-
- if o.NameIe != nil {
- qrNameIe = *o.NameIe
- }
- qNameIe := qrNameIe
- if qNameIe != "" {
-
- if err := r.SetQueryParam("name__ie", qNameIe); err != nil {
- return err
- }
- }
- }
-
- if o.NameIew != nil {
-
- // query param name__iew
- var qrNameIew string
-
- if o.NameIew != nil {
- qrNameIew = *o.NameIew
- }
- qNameIew := qrNameIew
- if qNameIew != "" {
-
- if err := r.SetQueryParam("name__iew", qNameIew); err != nil {
- return err
- }
- }
- }
-
- if o.NameIsw != nil {
-
- // query param name__isw
- var qrNameIsw string
-
- if o.NameIsw != nil {
- qrNameIsw = *o.NameIsw
- }
- qNameIsw := qrNameIsw
- if qNameIsw != "" {
-
- if err := r.SetQueryParam("name__isw", qNameIsw); err != nil {
- return err
- }
- }
- }
-
- if o.Namen != nil {
-
- // query param name__n
- var qrNamen string
-
- if o.Namen != nil {
- qrNamen = *o.Namen
- }
- qNamen := qrNamen
- if qNamen != "" {
-
- if err := r.SetQueryParam("name__n", qNamen); err != nil {
- return err
- }
- }
- }
-
- if o.NameNic != nil {
-
- // query param name__nic
- var qrNameNic string
-
- if o.NameNic != nil {
- qrNameNic = *o.NameNic
- }
- qNameNic := qrNameNic
- if qNameNic != "" {
-
- if err := r.SetQueryParam("name__nic", qNameNic); err != nil {
- return err
- }
- }
- }
-
- if o.NameNie != nil {
-
- // query param name__nie
- var qrNameNie string
-
- if o.NameNie != nil {
- qrNameNie = *o.NameNie
- }
- qNameNie := qrNameNie
- if qNameNie != "" {
-
- if err := r.SetQueryParam("name__nie", qNameNie); err != nil {
- return err
- }
- }
- }
-
- if o.NameNiew != nil {
-
- // query param name__niew
- var qrNameNiew string
-
- if o.NameNiew != nil {
- qrNameNiew = *o.NameNiew
- }
- qNameNiew := qrNameNiew
- if qNameNiew != "" {
-
- if err := r.SetQueryParam("name__niew", qNameNiew); err != nil {
- return err
- }
- }
- }
-
- if o.NameNisw != nil {
-
- // query param name__nisw
- var qrNameNisw string
-
- if o.NameNisw != nil {
- qrNameNisw = *o.NameNisw
- }
- qNameNisw := qrNameNisw
- if qNameNisw != "" {
-
- if err := r.SetQueryParam("name__nisw", qNameNisw); err != nil {
- return err
- }
- }
- }
-
- if o.Offset != nil {
-
- // query param offset
- var qrOffset int64
-
- if o.Offset != nil {
- qrOffset = *o.Offset
- }
- qOffset := swag.FormatInt64(qrOffset)
- if qOffset != "" {
-
- if err := r.SetQueryParam("offset", qOffset); err != nil {
- return err
- }
- }
- }
-
- if o.Site != nil {
-
- // query param site
- var qrSite string
-
- if o.Site != nil {
- qrSite = *o.Site
- }
- qSite := qrSite
- if qSite != "" {
-
- if err := r.SetQueryParam("site", qSite); err != nil {
- return err
- }
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_responses.go
deleted file mode 100644
index 0b447ab6c..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_connections_list_responses.go
+++ /dev/null
@@ -1,243 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "fmt"
- "io"
- "strconv"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// DcimConsoleConnectionsListReader is a Reader for the DcimConsoleConnectionsList structure.
-type DcimConsoleConnectionsListReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *DcimConsoleConnectionsListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewDcimConsoleConnectionsListOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewDcimConsoleConnectionsListOK creates a DcimConsoleConnectionsListOK with default headers values
-func NewDcimConsoleConnectionsListOK() *DcimConsoleConnectionsListOK {
- return &DcimConsoleConnectionsListOK{}
-}
-
-/* DcimConsoleConnectionsListOK describes a response with status code 200, with default header values.
-
-DcimConsoleConnectionsListOK dcim console connections list o k
-*/
-type DcimConsoleConnectionsListOK struct {
- Payload *DcimConsoleConnectionsListOKBody
-}
-
-func (o *DcimConsoleConnectionsListOK) Error() string {
- return fmt.Sprintf("[GET /dcim/console-connections/][%d] dcimConsoleConnectionsListOK %+v", 200, o.Payload)
-}
-func (o *DcimConsoleConnectionsListOK) GetPayload() *DcimConsoleConnectionsListOKBody {
- return o.Payload
-}
-
-func (o *DcimConsoleConnectionsListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(DcimConsoleConnectionsListOKBody)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
-
-/*DcimConsoleConnectionsListOKBody dcim console connections list o k body
-swagger:model DcimConsoleConnectionsListOKBody
-*/
-type DcimConsoleConnectionsListOKBody struct {
-
- // count
- // Required: true
- Count *int64 `json:"count"`
-
- // next
- // Format: uri
- Next *strfmt.URI `json:"next,omitempty"`
-
- // previous
- // Format: uri
- Previous *strfmt.URI `json:"previous,omitempty"`
-
- // results
- // Required: true
- Results []*models.ConsolePort `json:"results"`
-}
-
-// Validate validates this dcim console connections list o k body
-func (o *DcimConsoleConnectionsListOKBody) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := o.validateCount(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateNext(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validatePrevious(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateResults(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimConsoleConnectionsListOKBody) validateCount(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimConsoleConnectionsListOK"+"."+"count", "body", o.Count); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimConsoleConnectionsListOKBody) validateNext(formats strfmt.Registry) error {
- if swag.IsZero(o.Next) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimConsoleConnectionsListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimConsoleConnectionsListOKBody) validatePrevious(formats strfmt.Registry) error {
- if swag.IsZero(o.Previous) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimConsoleConnectionsListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimConsoleConnectionsListOKBody) validateResults(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimConsoleConnectionsListOK"+"."+"results", "body", o.Results); err != nil {
- return err
- }
-
- for i := 0; i < len(o.Results); i++ {
- if swag.IsZero(o.Results[i]) { // not required
- continue
- }
-
- if o.Results[i] != nil {
- if err := o.Results[i].Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimConsoleConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// ContextValidate validate this dcim console connections list o k body based on the context it is used
-func (o *DcimConsoleConnectionsListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := o.contextValidateResults(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimConsoleConnectionsListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
-
- for i := 0; i < len(o.Results); i++ {
-
- if o.Results[i] != nil {
- if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimConsoleConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (o *DcimConsoleConnectionsListOKBody) MarshalBinary() ([]byte, error) {
- if o == nil {
- return nil, nil
- }
- return swag.WriteJSON(o)
-}
-
-// UnmarshalBinary interface implementation
-func (o *DcimConsoleConnectionsListOKBody) UnmarshalBinary(b []byte) error {
- var res DcimConsoleConnectionsListOKBody
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *o = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_parameters.go
index 7223ce6e5..946b97ace 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_parameters.go
@@ -162,6 +162,9 @@ type DcimConsolePortTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -518,6 +521,17 @@ func (o *DcimConsolePortTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim console port templates list params
+func (o *DcimConsolePortTemplatesListParams) WithQ(q *string) *DcimConsolePortTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim console port templates list params
+func (o *DcimConsolePortTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim console port templates list params
func (o *DcimConsolePortTemplatesListParams) WithType(typeVar *string) *DcimConsolePortTemplatesListParams {
o.SetType(typeVar)
@@ -1007,6 +1021,23 @@ func (o *DcimConsolePortTemplatesListParams) WriteToRequest(r runtime.ClientRequ
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_responses.go
index 55cd0ba2c..ea882e0e9 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_port_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimConsolePortTemplatesListOKBody) validateResults(formats strfmt.Regi
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsolePortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsolePortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimConsolePortTemplatesListOKBody) contextValidateResults(ctx context.
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsolePortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsolePortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_parameters.go
index 6fcafa129..b9fcdddcb 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_parameters.go
@@ -201,6 +201,18 @@ type DcimConsolePortsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -291,6 +303,18 @@ type DcimConsolePortsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -795,6 +819,50 @@ func (o *DcimConsolePortsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithLocation(location *string) *DcimConsolePortsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithLocationn(locationn *string) *DcimConsolePortsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithLocationID(locationID *string) *DcimConsolePortsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithLocationIDn(locationIDn *string) *DcimConsolePortsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim console ports list params
func (o *DcimConsolePortsListParams) WithName(name *string) *DcimConsolePortsListParams {
o.SetName(name)
@@ -1114,6 +1182,50 @@ func (o *DcimConsolePortsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithVirtualChassis(virtualChassis *string) *DcimConsolePortsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimConsolePortsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimConsolePortsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim console ports list params
+func (o *DcimConsolePortsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimConsolePortsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim console ports list params
+func (o *DcimConsolePortsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimConsolePortsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1819,6 +1931,74 @@ func (o *DcimConsolePortsListParams) WriteToRequest(r runtime.ClientRequest, reg
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2312,6 +2492,74 @@ func (o *DcimConsolePortsListParams) WriteToRequest(r runtime.ClientRequest, reg
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_responses.go
index 8ed04eae2..927f0bedc 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_ports_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimConsolePortsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsolePortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsolePortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimConsolePortsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsolePortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsolePortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_parameters.go
index 3fe754d15..dffada57f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_parameters.go
@@ -162,6 +162,9 @@ type DcimConsoleServerPortTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -518,6 +521,17 @@ func (o *DcimConsoleServerPortTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim console server port templates list params
+func (o *DcimConsoleServerPortTemplatesListParams) WithQ(q *string) *DcimConsoleServerPortTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim console server port templates list params
+func (o *DcimConsoleServerPortTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim console server port templates list params
func (o *DcimConsoleServerPortTemplatesListParams) WithType(typeVar *string) *DcimConsoleServerPortTemplatesListParams {
o.SetType(typeVar)
@@ -1007,6 +1021,23 @@ func (o *DcimConsoleServerPortTemplatesListParams) WriteToRequest(r runtime.Clie
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_responses.go
index ca032fdce..f29ef90eb 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_port_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimConsoleServerPortTemplatesListOKBody) validateResults(formats strfm
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsoleServerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsoleServerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimConsoleServerPortTemplatesListOKBody) contextValidateResults(ctx co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsoleServerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsoleServerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_parameters.go
index a770d0e49..516919ff6 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_parameters.go
@@ -201,6 +201,18 @@ type DcimConsoleServerPortsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -291,6 +303,18 @@ type DcimConsoleServerPortsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -795,6 +819,50 @@ func (o *DcimConsoleServerPortsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithLocation(location *string) *DcimConsoleServerPortsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithLocationn(locationn *string) *DcimConsoleServerPortsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithLocationID(locationID *string) *DcimConsoleServerPortsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithLocationIDn(locationIDn *string) *DcimConsoleServerPortsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim console server ports list params
func (o *DcimConsoleServerPortsListParams) WithName(name *string) *DcimConsoleServerPortsListParams {
o.SetName(name)
@@ -1114,6 +1182,50 @@ func (o *DcimConsoleServerPortsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithVirtualChassis(virtualChassis *string) *DcimConsoleServerPortsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimConsoleServerPortsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimConsoleServerPortsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimConsoleServerPortsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim console server ports list params
+func (o *DcimConsoleServerPortsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimConsoleServerPortsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1819,6 +1931,74 @@ func (o *DcimConsoleServerPortsListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2312,6 +2492,74 @@ func (o *DcimConsoleServerPortsListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_responses.go
index 8685faccd..b67794d59 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_console_server_ports_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimConsoleServerPortsListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsoleServerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsoleServerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimConsoleServerPortsListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimConsoleServerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimConsoleServerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_parameters.go
index 2f586300f..cdf83cf63 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_parameters.go
@@ -162,6 +162,9 @@ type DcimDeviceBayTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -512,6 +515,17 @@ func (o *DcimDeviceBayTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim device bay templates list params
+func (o *DcimDeviceBayTemplatesListParams) WithQ(q *string) *DcimDeviceBayTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim device bay templates list params
+func (o *DcimDeviceBayTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimDeviceBayTemplatesListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -979,6 +993,23 @@ func (o *DcimDeviceBayTemplatesListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_responses.go
index 88c14b445..728851e24 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bay_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimDeviceBayTemplatesListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceBayTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceBayTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimDeviceBayTemplatesListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceBayTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceBayTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_parameters.go
index 7f9e7ab41..b857d7b28 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_parameters.go
@@ -195,6 +195,18 @@ type DcimDeviceBaysListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -279,6 +291,18 @@ type DcimDeviceBaysListParams struct {
// Tagn.
Tagn *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -761,6 +785,50 @@ func (o *DcimDeviceBaysListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithLocation(location *string) *DcimDeviceBaysListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithLocationn(locationn *string) *DcimDeviceBaysListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithLocationID(locationID *string) *DcimDeviceBaysListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithLocationIDn(locationIDn *string) *DcimDeviceBaysListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim device bays list params
func (o *DcimDeviceBaysListParams) WithName(name *string) *DcimDeviceBaysListParams {
o.SetName(name)
@@ -1058,6 +1126,50 @@ func (o *DcimDeviceBaysListParams) SetTagn(tagn *string) {
o.Tagn = tagn
}
+// WithVirtualChassis adds the virtualChassis to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithVirtualChassis(virtualChassis *string) *DcimDeviceBaysListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithVirtualChassisn(virtualChassisn *string) *DcimDeviceBaysListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithVirtualChassisID(virtualChassisID *string) *DcimDeviceBaysListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimDeviceBaysListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim device bays list params
+func (o *DcimDeviceBaysListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimDeviceBaysListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1729,6 +1841,74 @@ func (o *DcimDeviceBaysListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2188,6 +2368,74 @@ func (o *DcimDeviceBaysListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_responses.go
index 34d14576e..ce127eed1 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_bays_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimDeviceBaysListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceBaysListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceBaysListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimDeviceBaysListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceBaysListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceBaysListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_roles_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_roles_list_responses.go
index 5f684a8ef..37b3fca05 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_roles_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_roles_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimDeviceRolesListOKBody) validateResults(formats strfmt.Registry) err
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimDeviceRolesListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_types_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_types_list_responses.go
index a43db445a..3b3317868 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_types_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_device_types_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimDeviceTypesListOKBody) validateResults(formats strfmt.Registry) err
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimDeviceTypesListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDeviceTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDeviceTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_devices_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_devices_list_responses.go
index afbf8a377..401bfd1e6 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_devices_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_devices_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimDevicesListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDevicesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDevicesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimDevicesListOKBody) contextValidateResults(ctx context.Context, form
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimDevicesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimDevicesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_parameters.go
index 099f3fe0a..adbc97db9 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_parameters.go
@@ -75,6 +75,39 @@ func NewDcimFrontPortTemplatesListParamsWithHTTPClient(client *http.Client) *Dci
*/
type DcimFrontPortTemplatesListParams struct {
+ // Color.
+ Color *string
+
+ // ColorEmpty.
+ ColorEmpty *string
+
+ // ColorIc.
+ ColorIc *string
+
+ // ColorIe.
+ ColorIe *string
+
+ // ColorIew.
+ ColorIew *string
+
+ // ColorIsw.
+ ColorIsw *string
+
+ // Colorn.
+ Colorn *string
+
+ // ColorNic.
+ ColorNic *string
+
+ // ColorNie.
+ ColorNie *string
+
+ // ColorNiew.
+ ColorNiew *string
+
+ // ColorNisw.
+ ColorNisw *string
+
// Created.
Created *string
@@ -162,6 +195,9 @@ type DcimFrontPortTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -221,6 +257,127 @@ func (o *DcimFrontPortTemplatesListParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
+// WithColor adds the color to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColor(color *string) *DcimFrontPortTemplatesListParams {
+ o.SetColor(color)
+ return o
+}
+
+// SetColor adds the color to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColor(color *string) {
+ o.Color = color
+}
+
+// WithColorEmpty adds the colorEmpty to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorEmpty(colorEmpty *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorEmpty(colorEmpty)
+ return o
+}
+
+// SetColorEmpty adds the colorEmpty to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorEmpty(colorEmpty *string) {
+ o.ColorEmpty = colorEmpty
+}
+
+// WithColorIc adds the colorIc to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorIc(colorIc *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorIc(colorIc)
+ return o
+}
+
+// SetColorIc adds the colorIc to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorIc(colorIc *string) {
+ o.ColorIc = colorIc
+}
+
+// WithColorIe adds the colorIe to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorIe(colorIe *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorIe(colorIe)
+ return o
+}
+
+// SetColorIe adds the colorIe to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorIe(colorIe *string) {
+ o.ColorIe = colorIe
+}
+
+// WithColorIew adds the colorIew to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorIew(colorIew *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorIew(colorIew)
+ return o
+}
+
+// SetColorIew adds the colorIew to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorIew(colorIew *string) {
+ o.ColorIew = colorIew
+}
+
+// WithColorIsw adds the colorIsw to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorIsw(colorIsw *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorIsw(colorIsw)
+ return o
+}
+
+// SetColorIsw adds the colorIsw to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorIsw(colorIsw *string) {
+ o.ColorIsw = colorIsw
+}
+
+// WithColorn adds the colorn to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorn(colorn *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorn(colorn)
+ return o
+}
+
+// SetColorn adds the colorN to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorn(colorn *string) {
+ o.Colorn = colorn
+}
+
+// WithColorNic adds the colorNic to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorNic(colorNic *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorNic(colorNic)
+ return o
+}
+
+// SetColorNic adds the colorNic to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorNic(colorNic *string) {
+ o.ColorNic = colorNic
+}
+
+// WithColorNie adds the colorNie to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorNie(colorNie *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorNie(colorNie)
+ return o
+}
+
+// SetColorNie adds the colorNie to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorNie(colorNie *string) {
+ o.ColorNie = colorNie
+}
+
+// WithColorNiew adds the colorNiew to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorNiew(colorNiew *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorNiew(colorNiew)
+ return o
+}
+
+// SetColorNiew adds the colorNiew to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorNiew(colorNiew *string) {
+ o.ColorNiew = colorNiew
+}
+
+// WithColorNisw adds the colorNisw to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithColorNisw(colorNisw *string) *DcimFrontPortTemplatesListParams {
+ o.SetColorNisw(colorNisw)
+ return o
+}
+
+// SetColorNisw adds the colorNisw to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetColorNisw(colorNisw *string) {
+ o.ColorNisw = colorNisw
+}
+
// WithCreated adds the created to the dcim front port templates list params
func (o *DcimFrontPortTemplatesListParams) WithCreated(created *string) *DcimFrontPortTemplatesListParams {
o.SetCreated(created)
@@ -518,6 +675,17 @@ func (o *DcimFrontPortTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) WithQ(q *string) *DcimFrontPortTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim front port templates list params
+func (o *DcimFrontPortTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim front port templates list params
func (o *DcimFrontPortTemplatesListParams) WithType(typeVar *string) *DcimFrontPortTemplatesListParams {
o.SetType(typeVar)
@@ -548,6 +716,193 @@ func (o *DcimFrontPortTemplatesListParams) WriteToRequest(r runtime.ClientReques
}
var res []error
+ if o.Color != nil {
+
+ // query param color
+ var qrColor string
+
+ if o.Color != nil {
+ qrColor = *o.Color
+ }
+ qColor := qrColor
+ if qColor != "" {
+
+ if err := r.SetQueryParam("color", qColor); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorEmpty != nil {
+
+ // query param color__empty
+ var qrColorEmpty string
+
+ if o.ColorEmpty != nil {
+ qrColorEmpty = *o.ColorEmpty
+ }
+ qColorEmpty := qrColorEmpty
+ if qColorEmpty != "" {
+
+ if err := r.SetQueryParam("color__empty", qColorEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIc != nil {
+
+ // query param color__ic
+ var qrColorIc string
+
+ if o.ColorIc != nil {
+ qrColorIc = *o.ColorIc
+ }
+ qColorIc := qrColorIc
+ if qColorIc != "" {
+
+ if err := r.SetQueryParam("color__ic", qColorIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIe != nil {
+
+ // query param color__ie
+ var qrColorIe string
+
+ if o.ColorIe != nil {
+ qrColorIe = *o.ColorIe
+ }
+ qColorIe := qrColorIe
+ if qColorIe != "" {
+
+ if err := r.SetQueryParam("color__ie", qColorIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIew != nil {
+
+ // query param color__iew
+ var qrColorIew string
+
+ if o.ColorIew != nil {
+ qrColorIew = *o.ColorIew
+ }
+ qColorIew := qrColorIew
+ if qColorIew != "" {
+
+ if err := r.SetQueryParam("color__iew", qColorIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIsw != nil {
+
+ // query param color__isw
+ var qrColorIsw string
+
+ if o.ColorIsw != nil {
+ qrColorIsw = *o.ColorIsw
+ }
+ qColorIsw := qrColorIsw
+ if qColorIsw != "" {
+
+ if err := r.SetQueryParam("color__isw", qColorIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Colorn != nil {
+
+ // query param color__n
+ var qrColorn string
+
+ if o.Colorn != nil {
+ qrColorn = *o.Colorn
+ }
+ qColorn := qrColorn
+ if qColorn != "" {
+
+ if err := r.SetQueryParam("color__n", qColorn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNic != nil {
+
+ // query param color__nic
+ var qrColorNic string
+
+ if o.ColorNic != nil {
+ qrColorNic = *o.ColorNic
+ }
+ qColorNic := qrColorNic
+ if qColorNic != "" {
+
+ if err := r.SetQueryParam("color__nic", qColorNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNie != nil {
+
+ // query param color__nie
+ var qrColorNie string
+
+ if o.ColorNie != nil {
+ qrColorNie = *o.ColorNie
+ }
+ qColorNie := qrColorNie
+ if qColorNie != "" {
+
+ if err := r.SetQueryParam("color__nie", qColorNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNiew != nil {
+
+ // query param color__niew
+ var qrColorNiew string
+
+ if o.ColorNiew != nil {
+ qrColorNiew = *o.ColorNiew
+ }
+ qColorNiew := qrColorNiew
+ if qColorNiew != "" {
+
+ if err := r.SetQueryParam("color__niew", qColorNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNisw != nil {
+
+ // query param color__nisw
+ var qrColorNisw string
+
+ if o.ColorNisw != nil {
+ qrColorNisw = *o.ColorNisw
+ }
+ qColorNisw := qrColorNisw
+ if qColorNisw != "" {
+
+ if err := r.SetQueryParam("color__nisw", qColorNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Created != nil {
// query param created
@@ -1007,6 +1362,23 @@ func (o *DcimFrontPortTemplatesListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_responses.go
index 197d206de..311e13e04 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_port_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimFrontPortTemplatesListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimFrontPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimFrontPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimFrontPortTemplatesListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimFrontPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimFrontPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_parameters.go
index 9e6b1655c..e699bdef7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_parameters.go
@@ -78,6 +78,39 @@ type DcimFrontPortsListParams struct {
// Cabled.
Cabled *string
+ // Color.
+ Color *string
+
+ // ColorEmpty.
+ ColorEmpty *string
+
+ // ColorIc.
+ ColorIc *string
+
+ // ColorIe.
+ ColorIe *string
+
+ // ColorIew.
+ ColorIew *string
+
+ // ColorIsw.
+ ColorIsw *string
+
+ // Colorn.
+ Colorn *string
+
+ // ColorNic.
+ ColorNic *string
+
+ // ColorNie.
+ ColorNie *string
+
+ // ColorNiew.
+ ColorNiew *string
+
+ // ColorNisw.
+ ColorNisw *string
+
// Created.
Created *string
@@ -198,6 +231,18 @@ type DcimFrontPortsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -288,6 +333,18 @@ type DcimFrontPortsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -352,6 +409,127 @@ func (o *DcimFrontPortsListParams) SetCabled(cabled *string) {
o.Cabled = cabled
}
+// WithColor adds the color to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColor(color *string) *DcimFrontPortsListParams {
+ o.SetColor(color)
+ return o
+}
+
+// SetColor adds the color to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColor(color *string) {
+ o.Color = color
+}
+
+// WithColorEmpty adds the colorEmpty to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorEmpty(colorEmpty *string) *DcimFrontPortsListParams {
+ o.SetColorEmpty(colorEmpty)
+ return o
+}
+
+// SetColorEmpty adds the colorEmpty to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorEmpty(colorEmpty *string) {
+ o.ColorEmpty = colorEmpty
+}
+
+// WithColorIc adds the colorIc to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorIc(colorIc *string) *DcimFrontPortsListParams {
+ o.SetColorIc(colorIc)
+ return o
+}
+
+// SetColorIc adds the colorIc to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorIc(colorIc *string) {
+ o.ColorIc = colorIc
+}
+
+// WithColorIe adds the colorIe to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorIe(colorIe *string) *DcimFrontPortsListParams {
+ o.SetColorIe(colorIe)
+ return o
+}
+
+// SetColorIe adds the colorIe to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorIe(colorIe *string) {
+ o.ColorIe = colorIe
+}
+
+// WithColorIew adds the colorIew to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorIew(colorIew *string) *DcimFrontPortsListParams {
+ o.SetColorIew(colorIew)
+ return o
+}
+
+// SetColorIew adds the colorIew to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorIew(colorIew *string) {
+ o.ColorIew = colorIew
+}
+
+// WithColorIsw adds the colorIsw to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorIsw(colorIsw *string) *DcimFrontPortsListParams {
+ o.SetColorIsw(colorIsw)
+ return o
+}
+
+// SetColorIsw adds the colorIsw to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorIsw(colorIsw *string) {
+ o.ColorIsw = colorIsw
+}
+
+// WithColorn adds the colorn to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorn(colorn *string) *DcimFrontPortsListParams {
+ o.SetColorn(colorn)
+ return o
+}
+
+// SetColorn adds the colorN to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorn(colorn *string) {
+ o.Colorn = colorn
+}
+
+// WithColorNic adds the colorNic to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorNic(colorNic *string) *DcimFrontPortsListParams {
+ o.SetColorNic(colorNic)
+ return o
+}
+
+// SetColorNic adds the colorNic to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorNic(colorNic *string) {
+ o.ColorNic = colorNic
+}
+
+// WithColorNie adds the colorNie to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorNie(colorNie *string) *DcimFrontPortsListParams {
+ o.SetColorNie(colorNie)
+ return o
+}
+
+// SetColorNie adds the colorNie to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorNie(colorNie *string) {
+ o.ColorNie = colorNie
+}
+
+// WithColorNiew adds the colorNiew to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorNiew(colorNiew *string) *DcimFrontPortsListParams {
+ o.SetColorNiew(colorNiew)
+ return o
+}
+
+// SetColorNiew adds the colorNiew to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorNiew(colorNiew *string) {
+ o.ColorNiew = colorNiew
+}
+
+// WithColorNisw adds the colorNisw to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithColorNisw(colorNisw *string) *DcimFrontPortsListParams {
+ o.SetColorNisw(colorNisw)
+ return o
+}
+
+// SetColorNisw adds the colorNisw to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetColorNisw(colorNisw *string) {
+ o.ColorNisw = colorNisw
+}
+
// WithCreated adds the created to the dcim front ports list params
func (o *DcimFrontPortsListParams) WithCreated(created *string) *DcimFrontPortsListParams {
o.SetCreated(created)
@@ -781,6 +959,50 @@ func (o *DcimFrontPortsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithLocation(location *string) *DcimFrontPortsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithLocationn(locationn *string) *DcimFrontPortsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithLocationID(locationID *string) *DcimFrontPortsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithLocationIDn(locationIDn *string) *DcimFrontPortsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim front ports list params
func (o *DcimFrontPortsListParams) WithName(name *string) *DcimFrontPortsListParams {
o.SetName(name)
@@ -1100,6 +1322,50 @@ func (o *DcimFrontPortsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithVirtualChassis(virtualChassis *string) *DcimFrontPortsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimFrontPortsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimFrontPortsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim front ports list params
+func (o *DcimFrontPortsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimFrontPortsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim front ports list params
+func (o *DcimFrontPortsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimFrontPortsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1125,6 +1391,193 @@ func (o *DcimFrontPortsListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Color != nil {
+
+ // query param color
+ var qrColor string
+
+ if o.Color != nil {
+ qrColor = *o.Color
+ }
+ qColor := qrColor
+ if qColor != "" {
+
+ if err := r.SetQueryParam("color", qColor); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorEmpty != nil {
+
+ // query param color__empty
+ var qrColorEmpty string
+
+ if o.ColorEmpty != nil {
+ qrColorEmpty = *o.ColorEmpty
+ }
+ qColorEmpty := qrColorEmpty
+ if qColorEmpty != "" {
+
+ if err := r.SetQueryParam("color__empty", qColorEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIc != nil {
+
+ // query param color__ic
+ var qrColorIc string
+
+ if o.ColorIc != nil {
+ qrColorIc = *o.ColorIc
+ }
+ qColorIc := qrColorIc
+ if qColorIc != "" {
+
+ if err := r.SetQueryParam("color__ic", qColorIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIe != nil {
+
+ // query param color__ie
+ var qrColorIe string
+
+ if o.ColorIe != nil {
+ qrColorIe = *o.ColorIe
+ }
+ qColorIe := qrColorIe
+ if qColorIe != "" {
+
+ if err := r.SetQueryParam("color__ie", qColorIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIew != nil {
+
+ // query param color__iew
+ var qrColorIew string
+
+ if o.ColorIew != nil {
+ qrColorIew = *o.ColorIew
+ }
+ qColorIew := qrColorIew
+ if qColorIew != "" {
+
+ if err := r.SetQueryParam("color__iew", qColorIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIsw != nil {
+
+ // query param color__isw
+ var qrColorIsw string
+
+ if o.ColorIsw != nil {
+ qrColorIsw = *o.ColorIsw
+ }
+ qColorIsw := qrColorIsw
+ if qColorIsw != "" {
+
+ if err := r.SetQueryParam("color__isw", qColorIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Colorn != nil {
+
+ // query param color__n
+ var qrColorn string
+
+ if o.Colorn != nil {
+ qrColorn = *o.Colorn
+ }
+ qColorn := qrColorn
+ if qColorn != "" {
+
+ if err := r.SetQueryParam("color__n", qColorn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNic != nil {
+
+ // query param color__nic
+ var qrColorNic string
+
+ if o.ColorNic != nil {
+ qrColorNic = *o.ColorNic
+ }
+ qColorNic := qrColorNic
+ if qColorNic != "" {
+
+ if err := r.SetQueryParam("color__nic", qColorNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNie != nil {
+
+ // query param color__nie
+ var qrColorNie string
+
+ if o.ColorNie != nil {
+ qrColorNie = *o.ColorNie
+ }
+ qColorNie := qrColorNie
+ if qColorNie != "" {
+
+ if err := r.SetQueryParam("color__nie", qColorNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNiew != nil {
+
+ // query param color__niew
+ var qrColorNiew string
+
+ if o.ColorNiew != nil {
+ qrColorNiew = *o.ColorNiew
+ }
+ qColorNiew := qrColorNiew
+ if qColorNiew != "" {
+
+ if err := r.SetQueryParam("color__niew", qColorNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNisw != nil {
+
+ // query param color__nisw
+ var qrColorNisw string
+
+ if o.ColorNisw != nil {
+ qrColorNisw = *o.ColorNisw
+ }
+ qColorNisw := qrColorNisw
+ if qColorNisw != "" {
+
+ if err := r.SetQueryParam("color__nisw", qColorNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Created != nil {
// query param created
@@ -1788,6 +2241,74 @@ func (o *DcimFrontPortsListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2281,6 +2802,74 @@ func (o *DcimFrontPortsListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_responses.go
index 88e7f2109..0885a4d11 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_front_ports_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimFrontPortsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimFrontPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimFrontPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimFrontPortsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimFrontPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimFrontPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_parameters.go
deleted file mode 100644
index f7030818c..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_parameters.go
+++ /dev/null
@@ -1,304 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewDcimInterfaceConnectionsListParams creates a new DcimInterfaceConnectionsListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewDcimInterfaceConnectionsListParams() *DcimInterfaceConnectionsListParams {
- return &DcimInterfaceConnectionsListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewDcimInterfaceConnectionsListParamsWithTimeout creates a new DcimInterfaceConnectionsListParams object
-// with the ability to set a timeout on a request.
-func NewDcimInterfaceConnectionsListParamsWithTimeout(timeout time.Duration) *DcimInterfaceConnectionsListParams {
- return &DcimInterfaceConnectionsListParams{
- timeout: timeout,
- }
-}
-
-// NewDcimInterfaceConnectionsListParamsWithContext creates a new DcimInterfaceConnectionsListParams object
-// with the ability to set a context for a request.
-func NewDcimInterfaceConnectionsListParamsWithContext(ctx context.Context) *DcimInterfaceConnectionsListParams {
- return &DcimInterfaceConnectionsListParams{
- Context: ctx,
- }
-}
-
-// NewDcimInterfaceConnectionsListParamsWithHTTPClient creates a new DcimInterfaceConnectionsListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewDcimInterfaceConnectionsListParamsWithHTTPClient(client *http.Client) *DcimInterfaceConnectionsListParams {
- return &DcimInterfaceConnectionsListParams{
- HTTPClient: client,
- }
-}
-
-/* DcimInterfaceConnectionsListParams contains all the parameters to send to the API endpoint
- for the dcim interface connections list operation.
-
- Typically these are written to a http.Request.
-*/
-type DcimInterfaceConnectionsListParams struct {
-
- // Device.
- Device *string
-
- // DeviceID.
- DeviceID *string
-
- /* Limit.
-
- Number of results to return per page.
- */
- Limit *int64
-
- /* Offset.
-
- The initial index from which to return the results.
- */
- Offset *int64
-
- // Site.
- Site *string
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the dcim interface connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimInterfaceConnectionsListParams) WithDefaults() *DcimInterfaceConnectionsListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the dcim interface connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimInterfaceConnectionsListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithTimeout(timeout time.Duration) *DcimInterfaceConnectionsListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithContext(ctx context.Context) *DcimInterfaceConnectionsListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithHTTPClient(client *http.Client) *DcimInterfaceConnectionsListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithDevice adds the device to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithDevice(device *string) *DcimInterfaceConnectionsListParams {
- o.SetDevice(device)
- return o
-}
-
-// SetDevice adds the device to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetDevice(device *string) {
- o.Device = device
-}
-
-// WithDeviceID adds the deviceID to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithDeviceID(deviceID *string) *DcimInterfaceConnectionsListParams {
- o.SetDeviceID(deviceID)
- return o
-}
-
-// SetDeviceID adds the deviceId to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetDeviceID(deviceID *string) {
- o.DeviceID = deviceID
-}
-
-// WithLimit adds the limit to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithLimit(limit *int64) *DcimInterfaceConnectionsListParams {
- o.SetLimit(limit)
- return o
-}
-
-// SetLimit adds the limit to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetLimit(limit *int64) {
- o.Limit = limit
-}
-
-// WithOffset adds the offset to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithOffset(offset *int64) *DcimInterfaceConnectionsListParams {
- o.SetOffset(offset)
- return o
-}
-
-// SetOffset adds the offset to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetOffset(offset *int64) {
- o.Offset = offset
-}
-
-// WithSite adds the site to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) WithSite(site *string) *DcimInterfaceConnectionsListParams {
- o.SetSite(site)
- return o
-}
-
-// SetSite adds the site to the dcim interface connections list params
-func (o *DcimInterfaceConnectionsListParams) SetSite(site *string) {
- o.Site = site
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *DcimInterfaceConnectionsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if o.Device != nil {
-
- // query param device
- var qrDevice string
-
- if o.Device != nil {
- qrDevice = *o.Device
- }
- qDevice := qrDevice
- if qDevice != "" {
-
- if err := r.SetQueryParam("device", qDevice); err != nil {
- return err
- }
- }
- }
-
- if o.DeviceID != nil {
-
- // query param device_id
- var qrDeviceID string
-
- if o.DeviceID != nil {
- qrDeviceID = *o.DeviceID
- }
- qDeviceID := qrDeviceID
- if qDeviceID != "" {
-
- if err := r.SetQueryParam("device_id", qDeviceID); err != nil {
- return err
- }
- }
- }
-
- if o.Limit != nil {
-
- // query param limit
- var qrLimit int64
-
- if o.Limit != nil {
- qrLimit = *o.Limit
- }
- qLimit := swag.FormatInt64(qrLimit)
- if qLimit != "" {
-
- if err := r.SetQueryParam("limit", qLimit); err != nil {
- return err
- }
- }
- }
-
- if o.Offset != nil {
-
- // query param offset
- var qrOffset int64
-
- if o.Offset != nil {
- qrOffset = *o.Offset
- }
- qOffset := swag.FormatInt64(qrOffset)
- if qOffset != "" {
-
- if err := r.SetQueryParam("offset", qOffset); err != nil {
- return err
- }
- }
- }
-
- if o.Site != nil {
-
- // query param site
- var qrSite string
-
- if o.Site != nil {
- qrSite = *o.Site
- }
- qSite := qrSite
- if qSite != "" {
-
- if err := r.SetQueryParam("site", qSite); err != nil {
- return err
- }
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_responses.go
deleted file mode 100644
index b871bc73b..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_connections_list_responses.go
+++ /dev/null
@@ -1,243 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "fmt"
- "io"
- "strconv"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// DcimInterfaceConnectionsListReader is a Reader for the DcimInterfaceConnectionsList structure.
-type DcimInterfaceConnectionsListReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *DcimInterfaceConnectionsListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewDcimInterfaceConnectionsListOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewDcimInterfaceConnectionsListOK creates a DcimInterfaceConnectionsListOK with default headers values
-func NewDcimInterfaceConnectionsListOK() *DcimInterfaceConnectionsListOK {
- return &DcimInterfaceConnectionsListOK{}
-}
-
-/* DcimInterfaceConnectionsListOK describes a response with status code 200, with default header values.
-
-DcimInterfaceConnectionsListOK dcim interface connections list o k
-*/
-type DcimInterfaceConnectionsListOK struct {
- Payload *DcimInterfaceConnectionsListOKBody
-}
-
-func (o *DcimInterfaceConnectionsListOK) Error() string {
- return fmt.Sprintf("[GET /dcim/interface-connections/][%d] dcimInterfaceConnectionsListOK %+v", 200, o.Payload)
-}
-func (o *DcimInterfaceConnectionsListOK) GetPayload() *DcimInterfaceConnectionsListOKBody {
- return o.Payload
-}
-
-func (o *DcimInterfaceConnectionsListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(DcimInterfaceConnectionsListOKBody)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
-
-/*DcimInterfaceConnectionsListOKBody dcim interface connections list o k body
-swagger:model DcimInterfaceConnectionsListOKBody
-*/
-type DcimInterfaceConnectionsListOKBody struct {
-
- // count
- // Required: true
- Count *int64 `json:"count"`
-
- // next
- // Format: uri
- Next *strfmt.URI `json:"next,omitempty"`
-
- // previous
- // Format: uri
- Previous *strfmt.URI `json:"previous,omitempty"`
-
- // results
- // Required: true
- Results []*models.InterfaceConnection `json:"results"`
-}
-
-// Validate validates this dcim interface connections list o k body
-func (o *DcimInterfaceConnectionsListOKBody) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := o.validateCount(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateNext(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validatePrevious(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateResults(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimInterfaceConnectionsListOKBody) validateCount(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimInterfaceConnectionsListOK"+"."+"count", "body", o.Count); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimInterfaceConnectionsListOKBody) validateNext(formats strfmt.Registry) error {
- if swag.IsZero(o.Next) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimInterfaceConnectionsListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimInterfaceConnectionsListOKBody) validatePrevious(formats strfmt.Registry) error {
- if swag.IsZero(o.Previous) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimInterfaceConnectionsListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimInterfaceConnectionsListOKBody) validateResults(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimInterfaceConnectionsListOK"+"."+"results", "body", o.Results); err != nil {
- return err
- }
-
- for i := 0; i < len(o.Results); i++ {
- if swag.IsZero(o.Results[i]) { // not required
- continue
- }
-
- if o.Results[i] != nil {
- if err := o.Results[i].Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimInterfaceConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// ContextValidate validate this dcim interface connections list o k body based on the context it is used
-func (o *DcimInterfaceConnectionsListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := o.contextValidateResults(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimInterfaceConnectionsListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
-
- for i := 0; i < len(o.Results); i++ {
-
- if o.Results[i] != nil {
- if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimInterfaceConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (o *DcimInterfaceConnectionsListOKBody) MarshalBinary() ([]byte, error) {
- if o == nil {
- return nil, nil
- }
- return swag.WriteJSON(o)
-}
-
-// UnmarshalBinary interface implementation
-func (o *DcimInterfaceConnectionsListOKBody) UnmarshalBinary(b []byte) error {
- var res DcimInterfaceConnectionsListOKBody
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *o = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_parameters.go
index 040519b91..fdee16bdd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_parameters.go
@@ -165,6 +165,9 @@ type DcimInterfaceTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -532,6 +535,17 @@ func (o *DcimInterfaceTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim interface templates list params
+func (o *DcimInterfaceTemplatesListParams) WithQ(q *string) *DcimInterfaceTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim interface templates list params
+func (o *DcimInterfaceTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim interface templates list params
func (o *DcimInterfaceTemplatesListParams) WithType(typeVar *string) *DcimInterfaceTemplatesListParams {
o.SetType(typeVar)
@@ -1038,6 +1052,23 @@ func (o *DcimInterfaceTemplatesListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_responses.go
index 8b0f397f4..df34f4ff7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interface_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimInterfaceTemplatesListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInterfaceTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInterfaceTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimInterfaceTemplatesListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInterfaceTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInterfaceTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_parameters.go
index 4c816ecaa..ca1a4d88d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_parameters.go
@@ -207,6 +207,18 @@ type DcimInterfacesListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// MacAddress.
MacAddress *string
@@ -360,6 +372,18 @@ type DcimInterfacesListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
// Vlan.
Vlan *string
@@ -892,6 +916,50 @@ func (o *DcimInterfacesListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithLocation(location *string) *DcimInterfacesListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithLocationn(locationn *string) *DcimInterfacesListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithLocationID(locationID *string) *DcimInterfacesListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithLocationIDn(locationIDn *string) *DcimInterfacesListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithMacAddress adds the macAddress to the dcim interfaces list params
func (o *DcimInterfacesListParams) WithMacAddress(macAddress *string) *DcimInterfacesListParams {
o.SetMacAddress(macAddress)
@@ -1442,6 +1510,50 @@ func (o *DcimInterfacesListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithVirtualChassis(virtualChassis *string) *DcimInterfacesListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithVirtualChassisn(virtualChassisn *string) *DcimInterfacesListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithVirtualChassisID(virtualChassisID *string) *DcimInterfacesListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim interfaces list params
+func (o *DcimInterfacesListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimInterfacesListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim interfaces list params
+func (o *DcimInterfacesListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WithVlan adds the vlan to the dcim interfaces list params
func (o *DcimInterfacesListParams) WithVlan(vlan *string) *DcimInterfacesListParams {
o.SetVlan(vlan)
@@ -2203,6 +2315,74 @@ func (o *DcimInterfacesListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.MacAddress != nil {
// query param mac_address
@@ -3053,6 +3233,74 @@ func (o *DcimInterfacesListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Vlan != nil {
// query param vlan
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_responses.go
index 76d5ecde7..21b56e041 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_interfaces_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimInterfacesListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimInterfacesListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_parameters.go
index 7232c2a01..c01dff80e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_parameters.go
@@ -198,6 +198,18 @@ type DcimInventoryItemsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Manufacturer.
Manufacturer *string
@@ -336,6 +348,18 @@ type DcimInventoryItemsListParams struct {
// Tagn.
Tagn *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -829,6 +853,50 @@ func (o *DcimInventoryItemsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithLocation(location *string) *DcimInventoryItemsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithLocationn(locationn *string) *DcimInventoryItemsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithLocationID(locationID *string) *DcimInventoryItemsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithLocationIDn(locationIDn *string) *DcimInventoryItemsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithManufacturer adds the manufacturer to the dcim inventory items list params
func (o *DcimInventoryItemsListParams) WithManufacturer(manufacturer *string) *DcimInventoryItemsListParams {
o.SetManufacturer(manufacturer)
@@ -1324,6 +1392,50 @@ func (o *DcimInventoryItemsListParams) SetTagn(tagn *string) {
o.Tagn = tagn
}
+// WithVirtualChassis adds the virtualChassis to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithVirtualChassis(virtualChassis *string) *DcimInventoryItemsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimInventoryItemsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimInventoryItemsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimInventoryItemsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim inventory items list params
+func (o *DcimInventoryItemsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimInventoryItemsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -2012,6 +2124,74 @@ func (o *DcimInventoryItemsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Manufacturer != nil {
// query param manufacturer
@@ -2777,6 +2957,74 @@ func (o *DcimInventoryItemsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_responses.go
index 3fc25ae52..472bc3705 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_inventory_items_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimInventoryItemsListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInventoryItemsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInventoryItemsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimInventoryItemsListOKBody) contextValidateResults(ctx context.Contex
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimInventoryItemsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimInventoryItemsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_locations_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_locations_list_responses.go
index 5dc4e8a68..26de7e08d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_locations_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_locations_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimLocationsListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimLocationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimLocationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimLocationsListOKBody) contextValidateResults(ctx context.Context, fo
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimLocationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimLocationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_manufacturers_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_manufacturers_list_responses.go
index 7a5afb523..d241dbe32 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_manufacturers_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_manufacturers_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimManufacturersListOKBody) validateResults(formats strfmt.Registry) e
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimManufacturersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimManufacturersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimManufacturersListOKBody) contextValidateResults(ctx context.Context
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimManufacturersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimManufacturersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_platforms_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_platforms_list_responses.go
index c3e996765..e984ed92b 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_platforms_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_platforms_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPlatformsListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPlatformsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPlatformsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPlatformsListOKBody) contextValidateResults(ctx context.Context, fo
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPlatformsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPlatformsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_parameters.go
deleted file mode 100644
index 23f9dfa01..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_parameters.go
+++ /dev/null
@@ -1,645 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewDcimPowerConnectionsListParams creates a new DcimPowerConnectionsListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewDcimPowerConnectionsListParams() *DcimPowerConnectionsListParams {
- return &DcimPowerConnectionsListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewDcimPowerConnectionsListParamsWithTimeout creates a new DcimPowerConnectionsListParams object
-// with the ability to set a timeout on a request.
-func NewDcimPowerConnectionsListParamsWithTimeout(timeout time.Duration) *DcimPowerConnectionsListParams {
- return &DcimPowerConnectionsListParams{
- timeout: timeout,
- }
-}
-
-// NewDcimPowerConnectionsListParamsWithContext creates a new DcimPowerConnectionsListParams object
-// with the ability to set a context for a request.
-func NewDcimPowerConnectionsListParamsWithContext(ctx context.Context) *DcimPowerConnectionsListParams {
- return &DcimPowerConnectionsListParams{
- Context: ctx,
- }
-}
-
-// NewDcimPowerConnectionsListParamsWithHTTPClient creates a new DcimPowerConnectionsListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewDcimPowerConnectionsListParamsWithHTTPClient(client *http.Client) *DcimPowerConnectionsListParams {
- return &DcimPowerConnectionsListParams{
- HTTPClient: client,
- }
-}
-
-/* DcimPowerConnectionsListParams contains all the parameters to send to the API endpoint
- for the dcim power connections list operation.
-
- Typically these are written to a http.Request.
-*/
-type DcimPowerConnectionsListParams struct {
-
- // Device.
- Device *string
-
- // DeviceID.
- DeviceID *string
-
- /* Limit.
-
- Number of results to return per page.
- */
- Limit *int64
-
- // Name.
- Name *string
-
- // NameEmpty.
- NameEmpty *string
-
- // NameIc.
- NameIc *string
-
- // NameIe.
- NameIe *string
-
- // NameIew.
- NameIew *string
-
- // NameIsw.
- NameIsw *string
-
- // Namen.
- Namen *string
-
- // NameNic.
- NameNic *string
-
- // NameNie.
- NameNie *string
-
- // NameNiew.
- NameNiew *string
-
- // NameNisw.
- NameNisw *string
-
- /* Offset.
-
- The initial index from which to return the results.
- */
- Offset *int64
-
- // Site.
- Site *string
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the dcim power connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimPowerConnectionsListParams) WithDefaults() *DcimPowerConnectionsListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the dcim power connections list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *DcimPowerConnectionsListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithTimeout(timeout time.Duration) *DcimPowerConnectionsListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithContext(ctx context.Context) *DcimPowerConnectionsListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithHTTPClient(client *http.Client) *DcimPowerConnectionsListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithDevice adds the device to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithDevice(device *string) *DcimPowerConnectionsListParams {
- o.SetDevice(device)
- return o
-}
-
-// SetDevice adds the device to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetDevice(device *string) {
- o.Device = device
-}
-
-// WithDeviceID adds the deviceID to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithDeviceID(deviceID *string) *DcimPowerConnectionsListParams {
- o.SetDeviceID(deviceID)
- return o
-}
-
-// SetDeviceID adds the deviceId to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetDeviceID(deviceID *string) {
- o.DeviceID = deviceID
-}
-
-// WithLimit adds the limit to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithLimit(limit *int64) *DcimPowerConnectionsListParams {
- o.SetLimit(limit)
- return o
-}
-
-// SetLimit adds the limit to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetLimit(limit *int64) {
- o.Limit = limit
-}
-
-// WithName adds the name to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithName(name *string) *DcimPowerConnectionsListParams {
- o.SetName(name)
- return o
-}
-
-// SetName adds the name to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetName(name *string) {
- o.Name = name
-}
-
-// WithNameEmpty adds the nameEmpty to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameEmpty(nameEmpty *string) *DcimPowerConnectionsListParams {
- o.SetNameEmpty(nameEmpty)
- return o
-}
-
-// SetNameEmpty adds the nameEmpty to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameEmpty(nameEmpty *string) {
- o.NameEmpty = nameEmpty
-}
-
-// WithNameIc adds the nameIc to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameIc(nameIc *string) *DcimPowerConnectionsListParams {
- o.SetNameIc(nameIc)
- return o
-}
-
-// SetNameIc adds the nameIc to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameIc(nameIc *string) {
- o.NameIc = nameIc
-}
-
-// WithNameIe adds the nameIe to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameIe(nameIe *string) *DcimPowerConnectionsListParams {
- o.SetNameIe(nameIe)
- return o
-}
-
-// SetNameIe adds the nameIe to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameIe(nameIe *string) {
- o.NameIe = nameIe
-}
-
-// WithNameIew adds the nameIew to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameIew(nameIew *string) *DcimPowerConnectionsListParams {
- o.SetNameIew(nameIew)
- return o
-}
-
-// SetNameIew adds the nameIew to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameIew(nameIew *string) {
- o.NameIew = nameIew
-}
-
-// WithNameIsw adds the nameIsw to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameIsw(nameIsw *string) *DcimPowerConnectionsListParams {
- o.SetNameIsw(nameIsw)
- return o
-}
-
-// SetNameIsw adds the nameIsw to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameIsw(nameIsw *string) {
- o.NameIsw = nameIsw
-}
-
-// WithNamen adds the namen to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNamen(namen *string) *DcimPowerConnectionsListParams {
- o.SetNamen(namen)
- return o
-}
-
-// SetNamen adds the nameN to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNamen(namen *string) {
- o.Namen = namen
-}
-
-// WithNameNic adds the nameNic to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameNic(nameNic *string) *DcimPowerConnectionsListParams {
- o.SetNameNic(nameNic)
- return o
-}
-
-// SetNameNic adds the nameNic to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameNic(nameNic *string) {
- o.NameNic = nameNic
-}
-
-// WithNameNie adds the nameNie to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameNie(nameNie *string) *DcimPowerConnectionsListParams {
- o.SetNameNie(nameNie)
- return o
-}
-
-// SetNameNie adds the nameNie to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameNie(nameNie *string) {
- o.NameNie = nameNie
-}
-
-// WithNameNiew adds the nameNiew to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameNiew(nameNiew *string) *DcimPowerConnectionsListParams {
- o.SetNameNiew(nameNiew)
- return o
-}
-
-// SetNameNiew adds the nameNiew to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameNiew(nameNiew *string) {
- o.NameNiew = nameNiew
-}
-
-// WithNameNisw adds the nameNisw to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithNameNisw(nameNisw *string) *DcimPowerConnectionsListParams {
- o.SetNameNisw(nameNisw)
- return o
-}
-
-// SetNameNisw adds the nameNisw to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetNameNisw(nameNisw *string) {
- o.NameNisw = nameNisw
-}
-
-// WithOffset adds the offset to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithOffset(offset *int64) *DcimPowerConnectionsListParams {
- o.SetOffset(offset)
- return o
-}
-
-// SetOffset adds the offset to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetOffset(offset *int64) {
- o.Offset = offset
-}
-
-// WithSite adds the site to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) WithSite(site *string) *DcimPowerConnectionsListParams {
- o.SetSite(site)
- return o
-}
-
-// SetSite adds the site to the dcim power connections list params
-func (o *DcimPowerConnectionsListParams) SetSite(site *string) {
- o.Site = site
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *DcimPowerConnectionsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if o.Device != nil {
-
- // query param device
- var qrDevice string
-
- if o.Device != nil {
- qrDevice = *o.Device
- }
- qDevice := qrDevice
- if qDevice != "" {
-
- if err := r.SetQueryParam("device", qDevice); err != nil {
- return err
- }
- }
- }
-
- if o.DeviceID != nil {
-
- // query param device_id
- var qrDeviceID string
-
- if o.DeviceID != nil {
- qrDeviceID = *o.DeviceID
- }
- qDeviceID := qrDeviceID
- if qDeviceID != "" {
-
- if err := r.SetQueryParam("device_id", qDeviceID); err != nil {
- return err
- }
- }
- }
-
- if o.Limit != nil {
-
- // query param limit
- var qrLimit int64
-
- if o.Limit != nil {
- qrLimit = *o.Limit
- }
- qLimit := swag.FormatInt64(qrLimit)
- if qLimit != "" {
-
- if err := r.SetQueryParam("limit", qLimit); err != nil {
- return err
- }
- }
- }
-
- if o.Name != nil {
-
- // query param name
- var qrName string
-
- if o.Name != nil {
- qrName = *o.Name
- }
- qName := qrName
- if qName != "" {
-
- if err := r.SetQueryParam("name", qName); err != nil {
- return err
- }
- }
- }
-
- if o.NameEmpty != nil {
-
- // query param name__empty
- var qrNameEmpty string
-
- if o.NameEmpty != nil {
- qrNameEmpty = *o.NameEmpty
- }
- qNameEmpty := qrNameEmpty
- if qNameEmpty != "" {
-
- if err := r.SetQueryParam("name__empty", qNameEmpty); err != nil {
- return err
- }
- }
- }
-
- if o.NameIc != nil {
-
- // query param name__ic
- var qrNameIc string
-
- if o.NameIc != nil {
- qrNameIc = *o.NameIc
- }
- qNameIc := qrNameIc
- if qNameIc != "" {
-
- if err := r.SetQueryParam("name__ic", qNameIc); err != nil {
- return err
- }
- }
- }
-
- if o.NameIe != nil {
-
- // query param name__ie
- var qrNameIe string
-
- if o.NameIe != nil {
- qrNameIe = *o.NameIe
- }
- qNameIe := qrNameIe
- if qNameIe != "" {
-
- if err := r.SetQueryParam("name__ie", qNameIe); err != nil {
- return err
- }
- }
- }
-
- if o.NameIew != nil {
-
- // query param name__iew
- var qrNameIew string
-
- if o.NameIew != nil {
- qrNameIew = *o.NameIew
- }
- qNameIew := qrNameIew
- if qNameIew != "" {
-
- if err := r.SetQueryParam("name__iew", qNameIew); err != nil {
- return err
- }
- }
- }
-
- if o.NameIsw != nil {
-
- // query param name__isw
- var qrNameIsw string
-
- if o.NameIsw != nil {
- qrNameIsw = *o.NameIsw
- }
- qNameIsw := qrNameIsw
- if qNameIsw != "" {
-
- if err := r.SetQueryParam("name__isw", qNameIsw); err != nil {
- return err
- }
- }
- }
-
- if o.Namen != nil {
-
- // query param name__n
- var qrNamen string
-
- if o.Namen != nil {
- qrNamen = *o.Namen
- }
- qNamen := qrNamen
- if qNamen != "" {
-
- if err := r.SetQueryParam("name__n", qNamen); err != nil {
- return err
- }
- }
- }
-
- if o.NameNic != nil {
-
- // query param name__nic
- var qrNameNic string
-
- if o.NameNic != nil {
- qrNameNic = *o.NameNic
- }
- qNameNic := qrNameNic
- if qNameNic != "" {
-
- if err := r.SetQueryParam("name__nic", qNameNic); err != nil {
- return err
- }
- }
- }
-
- if o.NameNie != nil {
-
- // query param name__nie
- var qrNameNie string
-
- if o.NameNie != nil {
- qrNameNie = *o.NameNie
- }
- qNameNie := qrNameNie
- if qNameNie != "" {
-
- if err := r.SetQueryParam("name__nie", qNameNie); err != nil {
- return err
- }
- }
- }
-
- if o.NameNiew != nil {
-
- // query param name__niew
- var qrNameNiew string
-
- if o.NameNiew != nil {
- qrNameNiew = *o.NameNiew
- }
- qNameNiew := qrNameNiew
- if qNameNiew != "" {
-
- if err := r.SetQueryParam("name__niew", qNameNiew); err != nil {
- return err
- }
- }
- }
-
- if o.NameNisw != nil {
-
- // query param name__nisw
- var qrNameNisw string
-
- if o.NameNisw != nil {
- qrNameNisw = *o.NameNisw
- }
- qNameNisw := qrNameNisw
- if qNameNisw != "" {
-
- if err := r.SetQueryParam("name__nisw", qNameNisw); err != nil {
- return err
- }
- }
- }
-
- if o.Offset != nil {
-
- // query param offset
- var qrOffset int64
-
- if o.Offset != nil {
- qrOffset = *o.Offset
- }
- qOffset := swag.FormatInt64(qrOffset)
- if qOffset != "" {
-
- if err := r.SetQueryParam("offset", qOffset); err != nil {
- return err
- }
- }
- }
-
- if o.Site != nil {
-
- // query param site
- var qrSite string
-
- if o.Site != nil {
- qrSite = *o.Site
- }
- qSite := qrSite
- if qSite != "" {
-
- if err := r.SetQueryParam("site", qSite); err != nil {
- return err
- }
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_responses.go
deleted file mode 100644
index a709dec63..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_connections_list_responses.go
+++ /dev/null
@@ -1,243 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package dcim
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "fmt"
- "io"
- "strconv"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// DcimPowerConnectionsListReader is a Reader for the DcimPowerConnectionsList structure.
-type DcimPowerConnectionsListReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *DcimPowerConnectionsListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewDcimPowerConnectionsListOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewDcimPowerConnectionsListOK creates a DcimPowerConnectionsListOK with default headers values
-func NewDcimPowerConnectionsListOK() *DcimPowerConnectionsListOK {
- return &DcimPowerConnectionsListOK{}
-}
-
-/* DcimPowerConnectionsListOK describes a response with status code 200, with default header values.
-
-DcimPowerConnectionsListOK dcim power connections list o k
-*/
-type DcimPowerConnectionsListOK struct {
- Payload *DcimPowerConnectionsListOKBody
-}
-
-func (o *DcimPowerConnectionsListOK) Error() string {
- return fmt.Sprintf("[GET /dcim/power-connections/][%d] dcimPowerConnectionsListOK %+v", 200, o.Payload)
-}
-func (o *DcimPowerConnectionsListOK) GetPayload() *DcimPowerConnectionsListOKBody {
- return o.Payload
-}
-
-func (o *DcimPowerConnectionsListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(DcimPowerConnectionsListOKBody)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
-
-/*DcimPowerConnectionsListOKBody dcim power connections list o k body
-swagger:model DcimPowerConnectionsListOKBody
-*/
-type DcimPowerConnectionsListOKBody struct {
-
- // count
- // Required: true
- Count *int64 `json:"count"`
-
- // next
- // Format: uri
- Next *strfmt.URI `json:"next,omitempty"`
-
- // previous
- // Format: uri
- Previous *strfmt.URI `json:"previous,omitempty"`
-
- // results
- // Required: true
- Results []*models.PowerPort `json:"results"`
-}
-
-// Validate validates this dcim power connections list o k body
-func (o *DcimPowerConnectionsListOKBody) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := o.validateCount(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateNext(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validatePrevious(formats); err != nil {
- res = append(res, err)
- }
-
- if err := o.validateResults(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimPowerConnectionsListOKBody) validateCount(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimPowerConnectionsListOK"+"."+"count", "body", o.Count); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimPowerConnectionsListOKBody) validateNext(formats strfmt.Registry) error {
- if swag.IsZero(o.Next) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimPowerConnectionsListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimPowerConnectionsListOKBody) validatePrevious(formats strfmt.Registry) error {
- if swag.IsZero(o.Previous) { // not required
- return nil
- }
-
- if err := validate.FormatOf("dcimPowerConnectionsListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (o *DcimPowerConnectionsListOKBody) validateResults(formats strfmt.Registry) error {
-
- if err := validate.Required("dcimPowerConnectionsListOK"+"."+"results", "body", o.Results); err != nil {
- return err
- }
-
- for i := 0; i < len(o.Results); i++ {
- if swag.IsZero(o.Results[i]) { // not required
- continue
- }
-
- if o.Results[i] != nil {
- if err := o.Results[i].Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimPowerConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// ContextValidate validate this dcim power connections list o k body based on the context it is used
-func (o *DcimPowerConnectionsListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := o.contextValidateResults(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (o *DcimPowerConnectionsListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
-
- for i := 0; i < len(o.Results); i++ {
-
- if o.Results[i] != nil {
- if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("dcimPowerConnectionsListOK" + "." + "results" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (o *DcimPowerConnectionsListOKBody) MarshalBinary() ([]byte, error) {
- if o == nil {
- return nil, nil
- }
- return swag.WriteJSON(o)
-}
-
-// UnmarshalBinary interface implementation
-func (o *DcimPowerConnectionsListOKBody) UnmarshalBinary(b []byte) error {
- var res DcimPowerConnectionsListOKBody
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *o = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_feeds_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_feeds_list_responses.go
index c876cd145..3baf698e1 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_feeds_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_feeds_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerFeedsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerFeedsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerFeedsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerFeedsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerFeedsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerFeedsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_parameters.go
index 192e980fe..b161e6dac 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_parameters.go
@@ -168,6 +168,9 @@ type DcimPowerOutletTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -546,6 +549,17 @@ func (o *DcimPowerOutletTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim power outlet templates list params
+func (o *DcimPowerOutletTemplatesListParams) WithQ(q *string) *DcimPowerOutletTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim power outlet templates list params
+func (o *DcimPowerOutletTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim power outlet templates list params
func (o *DcimPowerOutletTemplatesListParams) WithType(typeVar *string) *DcimPowerOutletTemplatesListParams {
o.SetType(typeVar)
@@ -1069,6 +1083,23 @@ func (o *DcimPowerOutletTemplatesListParams) WriteToRequest(r runtime.ClientRequ
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_responses.go
index 0fd621364..f9fc86ee3 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlet_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerOutletTemplatesListOKBody) validateResults(formats strfmt.Regi
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerOutletTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerOutletTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerOutletTemplatesListOKBody) contextValidateResults(ctx context.
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerOutletTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerOutletTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_parameters.go
index 88071c880..cff557b6a 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_parameters.go
@@ -207,6 +207,18 @@ type DcimPowerOutletsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -297,6 +309,18 @@ type DcimPowerOutletsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -823,6 +847,50 @@ func (o *DcimPowerOutletsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithLocation(location *string) *DcimPowerOutletsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithLocationn(locationn *string) *DcimPowerOutletsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithLocationID(locationID *string) *DcimPowerOutletsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithLocationIDn(locationIDn *string) *DcimPowerOutletsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim power outlets list params
func (o *DcimPowerOutletsListParams) WithName(name *string) *DcimPowerOutletsListParams {
o.SetName(name)
@@ -1142,6 +1210,50 @@ func (o *DcimPowerOutletsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithVirtualChassis(virtualChassis *string) *DcimPowerOutletsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimPowerOutletsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimPowerOutletsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimPowerOutletsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim power outlets list params
+func (o *DcimPowerOutletsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimPowerOutletsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1881,6 +1993,74 @@ func (o *DcimPowerOutletsListParams) WriteToRequest(r runtime.ClientRequest, reg
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2374,6 +2554,74 @@ func (o *DcimPowerOutletsListParams) WriteToRequest(r runtime.ClientRequest, reg
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_responses.go
index 2c2e46a29..a01f1f763 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_outlets_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerOutletsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerOutletsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerOutletsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerOutletsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerOutletsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerOutletsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_panels_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_panels_list_responses.go
index ca8e585d9..8ed763b55 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_panels_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_panels_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerPanelsListOKBody) validateResults(formats strfmt.Registry) err
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPanelsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPanelsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerPanelsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPanelsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPanelsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_parameters.go
index 48290419d..131418698 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_parameters.go
@@ -198,6 +198,9 @@ type DcimPowerPortTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -686,6 +689,17 @@ func (o *DcimPowerPortTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the dcim power port templates list params
+func (o *DcimPowerPortTemplatesListParams) WithQ(q *string) *DcimPowerPortTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim power port templates list params
+func (o *DcimPowerPortTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim power port templates list params
func (o *DcimPowerPortTemplatesListParams) WithType(typeVar *string) *DcimPowerPortTemplatesListParams {
o.SetType(typeVar)
@@ -1379,6 +1393,23 @@ func (o *DcimPowerPortTemplatesListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_responses.go
index 579dba5f0..f33416279 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_port_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerPortTemplatesListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerPortTemplatesListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_parameters.go
index c31788fb3..41f201324 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_parameters.go
@@ -219,6 +219,18 @@ type DcimPowerPortsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// MaximumDraw.
MaximumDraw *string
@@ -327,6 +339,18 @@ type DcimPowerPortsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -897,6 +921,50 @@ func (o *DcimPowerPortsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithLocation(location *string) *DcimPowerPortsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithLocationn(locationn *string) *DcimPowerPortsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithLocationID(locationID *string) *DcimPowerPortsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithLocationIDn(locationIDn *string) *DcimPowerPortsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithMaximumDraw adds the maximumDraw to the dcim power ports list params
func (o *DcimPowerPortsListParams) WithMaximumDraw(maximumDraw *string) *DcimPowerPortsListParams {
o.SetMaximumDraw(maximumDraw)
@@ -1282,6 +1350,50 @@ func (o *DcimPowerPortsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithVirtualChassis(virtualChassis *string) *DcimPowerPortsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimPowerPortsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimPowerPortsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim power ports list params
+func (o *DcimPowerPortsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimPowerPortsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim power ports list params
+func (o *DcimPowerPortsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimPowerPortsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -2089,6 +2201,74 @@ func (o *DcimPowerPortsListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.MaximumDraw != nil {
// query param maximum_draw
@@ -2684,6 +2864,74 @@ func (o *DcimPowerPortsListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_responses.go
index 6dd07463d..05b0f9ae4 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_power_ports_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimPowerPortsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimPowerPortsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimPowerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimPowerPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_reservations_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_reservations_list_responses.go
index df9b3ac8c..623d9c080 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_reservations_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_reservations_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRackReservationsListOKBody) validateResults(formats strfmt.Registry
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRackReservationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRackReservationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRackReservationsListOKBody) contextValidateResults(ctx context.Cont
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRackReservationsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRackReservationsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_roles_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_roles_list_responses.go
index 7a904d546..d82ad258d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_roles_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rack_roles_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRackRolesListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRackRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRackRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRackRolesListOKBody) contextValidateResults(ctx context.Context, fo
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRackRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRackRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_racks_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_racks_list_responses.go
index b26ecc2aa..12c5d4ee0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_racks_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_racks_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRacksListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRacksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRacksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRacksListOKBody) contextValidateResults(ctx context.Context, format
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRacksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRacksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_parameters.go
index 1348b1484..8ffe1518e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_parameters.go
@@ -75,6 +75,39 @@ func NewDcimRearPortTemplatesListParamsWithHTTPClient(client *http.Client) *Dcim
*/
type DcimRearPortTemplatesListParams struct {
+ // Color.
+ Color *string
+
+ // ColorEmpty.
+ ColorEmpty *string
+
+ // ColorIc.
+ ColorIc *string
+
+ // ColorIe.
+ ColorIe *string
+
+ // ColorIew.
+ ColorIew *string
+
+ // ColorIsw.
+ ColorIsw *string
+
+ // Colorn.
+ Colorn *string
+
+ // ColorNic.
+ ColorNic *string
+
+ // ColorNie.
+ ColorNie *string
+
+ // ColorNiew.
+ ColorNiew *string
+
+ // ColorNisw.
+ ColorNisw *string
+
// Created.
Created *string
@@ -180,6 +213,9 @@ type DcimRearPortTemplatesListParams struct {
// Positionsn.
Positionsn *string
+ // Q.
+ Q *string
+
// Type.
Type *string
@@ -239,6 +275,127 @@ func (o *DcimRearPortTemplatesListParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
+// WithColor adds the color to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColor(color *string) *DcimRearPortTemplatesListParams {
+ o.SetColor(color)
+ return o
+}
+
+// SetColor adds the color to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColor(color *string) {
+ o.Color = color
+}
+
+// WithColorEmpty adds the colorEmpty to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorEmpty(colorEmpty *string) *DcimRearPortTemplatesListParams {
+ o.SetColorEmpty(colorEmpty)
+ return o
+}
+
+// SetColorEmpty adds the colorEmpty to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorEmpty(colorEmpty *string) {
+ o.ColorEmpty = colorEmpty
+}
+
+// WithColorIc adds the colorIc to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorIc(colorIc *string) *DcimRearPortTemplatesListParams {
+ o.SetColorIc(colorIc)
+ return o
+}
+
+// SetColorIc adds the colorIc to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorIc(colorIc *string) {
+ o.ColorIc = colorIc
+}
+
+// WithColorIe adds the colorIe to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorIe(colorIe *string) *DcimRearPortTemplatesListParams {
+ o.SetColorIe(colorIe)
+ return o
+}
+
+// SetColorIe adds the colorIe to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorIe(colorIe *string) {
+ o.ColorIe = colorIe
+}
+
+// WithColorIew adds the colorIew to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorIew(colorIew *string) *DcimRearPortTemplatesListParams {
+ o.SetColorIew(colorIew)
+ return o
+}
+
+// SetColorIew adds the colorIew to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorIew(colorIew *string) {
+ o.ColorIew = colorIew
+}
+
+// WithColorIsw adds the colorIsw to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorIsw(colorIsw *string) *DcimRearPortTemplatesListParams {
+ o.SetColorIsw(colorIsw)
+ return o
+}
+
+// SetColorIsw adds the colorIsw to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorIsw(colorIsw *string) {
+ o.ColorIsw = colorIsw
+}
+
+// WithColorn adds the colorn to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorn(colorn *string) *DcimRearPortTemplatesListParams {
+ o.SetColorn(colorn)
+ return o
+}
+
+// SetColorn adds the colorN to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorn(colorn *string) {
+ o.Colorn = colorn
+}
+
+// WithColorNic adds the colorNic to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorNic(colorNic *string) *DcimRearPortTemplatesListParams {
+ o.SetColorNic(colorNic)
+ return o
+}
+
+// SetColorNic adds the colorNic to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorNic(colorNic *string) {
+ o.ColorNic = colorNic
+}
+
+// WithColorNie adds the colorNie to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorNie(colorNie *string) *DcimRearPortTemplatesListParams {
+ o.SetColorNie(colorNie)
+ return o
+}
+
+// SetColorNie adds the colorNie to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorNie(colorNie *string) {
+ o.ColorNie = colorNie
+}
+
+// WithColorNiew adds the colorNiew to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorNiew(colorNiew *string) *DcimRearPortTemplatesListParams {
+ o.SetColorNiew(colorNiew)
+ return o
+}
+
+// SetColorNiew adds the colorNiew to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorNiew(colorNiew *string) {
+ o.ColorNiew = colorNiew
+}
+
+// WithColorNisw adds the colorNisw to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithColorNisw(colorNisw *string) *DcimRearPortTemplatesListParams {
+ o.SetColorNisw(colorNisw)
+ return o
+}
+
+// SetColorNisw adds the colorNisw to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetColorNisw(colorNisw *string) {
+ o.ColorNisw = colorNisw
+}
+
// WithCreated adds the created to the dcim rear port templates list params
func (o *DcimRearPortTemplatesListParams) WithCreated(created *string) *DcimRearPortTemplatesListParams {
o.SetCreated(created)
@@ -602,6 +759,17 @@ func (o *DcimRearPortTemplatesListParams) SetPositionsn(positionsn *string) {
o.Positionsn = positionsn
}
+// WithQ adds the q to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) WithQ(q *string) *DcimRearPortTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the dcim rear port templates list params
+func (o *DcimRearPortTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithType adds the typeVar to the dcim rear port templates list params
func (o *DcimRearPortTemplatesListParams) WithType(typeVar *string) *DcimRearPortTemplatesListParams {
o.SetType(typeVar)
@@ -632,6 +800,193 @@ func (o *DcimRearPortTemplatesListParams) WriteToRequest(r runtime.ClientRequest
}
var res []error
+ if o.Color != nil {
+
+ // query param color
+ var qrColor string
+
+ if o.Color != nil {
+ qrColor = *o.Color
+ }
+ qColor := qrColor
+ if qColor != "" {
+
+ if err := r.SetQueryParam("color", qColor); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorEmpty != nil {
+
+ // query param color__empty
+ var qrColorEmpty string
+
+ if o.ColorEmpty != nil {
+ qrColorEmpty = *o.ColorEmpty
+ }
+ qColorEmpty := qrColorEmpty
+ if qColorEmpty != "" {
+
+ if err := r.SetQueryParam("color__empty", qColorEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIc != nil {
+
+ // query param color__ic
+ var qrColorIc string
+
+ if o.ColorIc != nil {
+ qrColorIc = *o.ColorIc
+ }
+ qColorIc := qrColorIc
+ if qColorIc != "" {
+
+ if err := r.SetQueryParam("color__ic", qColorIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIe != nil {
+
+ // query param color__ie
+ var qrColorIe string
+
+ if o.ColorIe != nil {
+ qrColorIe = *o.ColorIe
+ }
+ qColorIe := qrColorIe
+ if qColorIe != "" {
+
+ if err := r.SetQueryParam("color__ie", qColorIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIew != nil {
+
+ // query param color__iew
+ var qrColorIew string
+
+ if o.ColorIew != nil {
+ qrColorIew = *o.ColorIew
+ }
+ qColorIew := qrColorIew
+ if qColorIew != "" {
+
+ if err := r.SetQueryParam("color__iew", qColorIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIsw != nil {
+
+ // query param color__isw
+ var qrColorIsw string
+
+ if o.ColorIsw != nil {
+ qrColorIsw = *o.ColorIsw
+ }
+ qColorIsw := qrColorIsw
+ if qColorIsw != "" {
+
+ if err := r.SetQueryParam("color__isw", qColorIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Colorn != nil {
+
+ // query param color__n
+ var qrColorn string
+
+ if o.Colorn != nil {
+ qrColorn = *o.Colorn
+ }
+ qColorn := qrColorn
+ if qColorn != "" {
+
+ if err := r.SetQueryParam("color__n", qColorn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNic != nil {
+
+ // query param color__nic
+ var qrColorNic string
+
+ if o.ColorNic != nil {
+ qrColorNic = *o.ColorNic
+ }
+ qColorNic := qrColorNic
+ if qColorNic != "" {
+
+ if err := r.SetQueryParam("color__nic", qColorNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNie != nil {
+
+ // query param color__nie
+ var qrColorNie string
+
+ if o.ColorNie != nil {
+ qrColorNie = *o.ColorNie
+ }
+ qColorNie := qrColorNie
+ if qColorNie != "" {
+
+ if err := r.SetQueryParam("color__nie", qColorNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNiew != nil {
+
+ // query param color__niew
+ var qrColorNiew string
+
+ if o.ColorNiew != nil {
+ qrColorNiew = *o.ColorNiew
+ }
+ qColorNiew := qrColorNiew
+ if qColorNiew != "" {
+
+ if err := r.SetQueryParam("color__niew", qColorNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNisw != nil {
+
+ // query param color__nisw
+ var qrColorNisw string
+
+ if o.ColorNisw != nil {
+ qrColorNisw = *o.ColorNisw
+ }
+ qColorNisw := qrColorNisw
+ if qColorNisw != "" {
+
+ if err := r.SetQueryParam("color__nisw", qColorNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Created != nil {
// query param created
@@ -1193,6 +1548,23 @@ func (o *DcimRearPortTemplatesListParams) WriteToRequest(r runtime.ClientRequest
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Type != nil {
// query param type
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_responses.go
index 8805c73f5..b951dcceb 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_port_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRearPortTemplatesListOKBody) validateResults(formats strfmt.Registr
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRearPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRearPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRearPortTemplatesListOKBody) contextValidateResults(ctx context.Con
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRearPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRearPortTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_parameters.go
index 7ee4a0886..ed6ba8285 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_parameters.go
@@ -78,6 +78,39 @@ type DcimRearPortsListParams struct {
// Cabled.
Cabled *string
+ // Color.
+ Color *string
+
+ // ColorEmpty.
+ ColorEmpty *string
+
+ // ColorIc.
+ ColorIc *string
+
+ // ColorIe.
+ ColorIe *string
+
+ // ColorIew.
+ ColorIew *string
+
+ // ColorIsw.
+ ColorIsw *string
+
+ // Colorn.
+ Colorn *string
+
+ // ColorNic.
+ ColorNic *string
+
+ // ColorNie.
+ ColorNie *string
+
+ // ColorNiew.
+ ColorNiew *string
+
+ // ColorNisw.
+ ColorNisw *string
+
// Created.
Created *string
@@ -198,6 +231,18 @@ type DcimRearPortsListParams struct {
*/
Limit *int64
+ // Location.
+ Location *string
+
+ // Locationn.
+ Locationn *string
+
+ // LocationID.
+ LocationID *string
+
+ // LocationIDn.
+ LocationIDn *string
+
// Name.
Name *string
@@ -306,6 +351,18 @@ type DcimRearPortsListParams struct {
// Typen.
Typen *string
+ // VirtualChassis.
+ VirtualChassis *string
+
+ // VirtualChassisn.
+ VirtualChassisn *string
+
+ // VirtualChassisID.
+ VirtualChassisID *string
+
+ // VirtualChassisIDn.
+ VirtualChassisIDn *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -370,6 +427,127 @@ func (o *DcimRearPortsListParams) SetCabled(cabled *string) {
o.Cabled = cabled
}
+// WithColor adds the color to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColor(color *string) *DcimRearPortsListParams {
+ o.SetColor(color)
+ return o
+}
+
+// SetColor adds the color to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColor(color *string) {
+ o.Color = color
+}
+
+// WithColorEmpty adds the colorEmpty to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorEmpty(colorEmpty *string) *DcimRearPortsListParams {
+ o.SetColorEmpty(colorEmpty)
+ return o
+}
+
+// SetColorEmpty adds the colorEmpty to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorEmpty(colorEmpty *string) {
+ o.ColorEmpty = colorEmpty
+}
+
+// WithColorIc adds the colorIc to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorIc(colorIc *string) *DcimRearPortsListParams {
+ o.SetColorIc(colorIc)
+ return o
+}
+
+// SetColorIc adds the colorIc to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorIc(colorIc *string) {
+ o.ColorIc = colorIc
+}
+
+// WithColorIe adds the colorIe to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorIe(colorIe *string) *DcimRearPortsListParams {
+ o.SetColorIe(colorIe)
+ return o
+}
+
+// SetColorIe adds the colorIe to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorIe(colorIe *string) {
+ o.ColorIe = colorIe
+}
+
+// WithColorIew adds the colorIew to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorIew(colorIew *string) *DcimRearPortsListParams {
+ o.SetColorIew(colorIew)
+ return o
+}
+
+// SetColorIew adds the colorIew to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorIew(colorIew *string) {
+ o.ColorIew = colorIew
+}
+
+// WithColorIsw adds the colorIsw to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorIsw(colorIsw *string) *DcimRearPortsListParams {
+ o.SetColorIsw(colorIsw)
+ return o
+}
+
+// SetColorIsw adds the colorIsw to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorIsw(colorIsw *string) {
+ o.ColorIsw = colorIsw
+}
+
+// WithColorn adds the colorn to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorn(colorn *string) *DcimRearPortsListParams {
+ o.SetColorn(colorn)
+ return o
+}
+
+// SetColorn adds the colorN to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorn(colorn *string) {
+ o.Colorn = colorn
+}
+
+// WithColorNic adds the colorNic to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorNic(colorNic *string) *DcimRearPortsListParams {
+ o.SetColorNic(colorNic)
+ return o
+}
+
+// SetColorNic adds the colorNic to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorNic(colorNic *string) {
+ o.ColorNic = colorNic
+}
+
+// WithColorNie adds the colorNie to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorNie(colorNie *string) *DcimRearPortsListParams {
+ o.SetColorNie(colorNie)
+ return o
+}
+
+// SetColorNie adds the colorNie to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorNie(colorNie *string) {
+ o.ColorNie = colorNie
+}
+
+// WithColorNiew adds the colorNiew to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorNiew(colorNiew *string) *DcimRearPortsListParams {
+ o.SetColorNiew(colorNiew)
+ return o
+}
+
+// SetColorNiew adds the colorNiew to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorNiew(colorNiew *string) {
+ o.ColorNiew = colorNiew
+}
+
+// WithColorNisw adds the colorNisw to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithColorNisw(colorNisw *string) *DcimRearPortsListParams {
+ o.SetColorNisw(colorNisw)
+ return o
+}
+
+// SetColorNisw adds the colorNisw to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetColorNisw(colorNisw *string) {
+ o.ColorNisw = colorNisw
+}
+
// WithCreated adds the created to the dcim rear ports list params
func (o *DcimRearPortsListParams) WithCreated(created *string) *DcimRearPortsListParams {
o.SetCreated(created)
@@ -799,6 +977,50 @@ func (o *DcimRearPortsListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithLocation adds the location to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithLocation(location *string) *DcimRearPortsListParams {
+ o.SetLocation(location)
+ return o
+}
+
+// SetLocation adds the location to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetLocation(location *string) {
+ o.Location = location
+}
+
+// WithLocationn adds the locationn to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithLocationn(locationn *string) *DcimRearPortsListParams {
+ o.SetLocationn(locationn)
+ return o
+}
+
+// SetLocationn adds the locationN to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetLocationn(locationn *string) {
+ o.Locationn = locationn
+}
+
+// WithLocationID adds the locationID to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithLocationID(locationID *string) *DcimRearPortsListParams {
+ o.SetLocationID(locationID)
+ return o
+}
+
+// SetLocationID adds the locationId to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetLocationID(locationID *string) {
+ o.LocationID = locationID
+}
+
+// WithLocationIDn adds the locationIDn to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithLocationIDn(locationIDn *string) *DcimRearPortsListParams {
+ o.SetLocationIDn(locationIDn)
+ return o
+}
+
+// SetLocationIDn adds the locationIdN to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetLocationIDn(locationIDn *string) {
+ o.LocationIDn = locationIDn
+}
+
// WithName adds the name to the dcim rear ports list params
func (o *DcimRearPortsListParams) WithName(name *string) *DcimRearPortsListParams {
o.SetName(name)
@@ -1184,6 +1406,50 @@ func (o *DcimRearPortsListParams) SetTypen(typen *string) {
o.Typen = typen
}
+// WithVirtualChassis adds the virtualChassis to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithVirtualChassis(virtualChassis *string) *DcimRearPortsListParams {
+ o.SetVirtualChassis(virtualChassis)
+ return o
+}
+
+// SetVirtualChassis adds the virtualChassis to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetVirtualChassis(virtualChassis *string) {
+ o.VirtualChassis = virtualChassis
+}
+
+// WithVirtualChassisn adds the virtualChassisn to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithVirtualChassisn(virtualChassisn *string) *DcimRearPortsListParams {
+ o.SetVirtualChassisn(virtualChassisn)
+ return o
+}
+
+// SetVirtualChassisn adds the virtualChassisN to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetVirtualChassisn(virtualChassisn *string) {
+ o.VirtualChassisn = virtualChassisn
+}
+
+// WithVirtualChassisID adds the virtualChassisID to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithVirtualChassisID(virtualChassisID *string) *DcimRearPortsListParams {
+ o.SetVirtualChassisID(virtualChassisID)
+ return o
+}
+
+// SetVirtualChassisID adds the virtualChassisId to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetVirtualChassisID(virtualChassisID *string) {
+ o.VirtualChassisID = virtualChassisID
+}
+
+// WithVirtualChassisIDn adds the virtualChassisIDn to the dcim rear ports list params
+func (o *DcimRearPortsListParams) WithVirtualChassisIDn(virtualChassisIDn *string) *DcimRearPortsListParams {
+ o.SetVirtualChassisIDn(virtualChassisIDn)
+ return o
+}
+
+// SetVirtualChassisIDn adds the virtualChassisIdN to the dcim rear ports list params
+func (o *DcimRearPortsListParams) SetVirtualChassisIDn(virtualChassisIDn *string) {
+ o.VirtualChassisIDn = virtualChassisIDn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *DcimRearPortsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1209,6 +1475,193 @@ func (o *DcimRearPortsListParams) WriteToRequest(r runtime.ClientRequest, reg st
}
}
+ if o.Color != nil {
+
+ // query param color
+ var qrColor string
+
+ if o.Color != nil {
+ qrColor = *o.Color
+ }
+ qColor := qrColor
+ if qColor != "" {
+
+ if err := r.SetQueryParam("color", qColor); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorEmpty != nil {
+
+ // query param color__empty
+ var qrColorEmpty string
+
+ if o.ColorEmpty != nil {
+ qrColorEmpty = *o.ColorEmpty
+ }
+ qColorEmpty := qrColorEmpty
+ if qColorEmpty != "" {
+
+ if err := r.SetQueryParam("color__empty", qColorEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIc != nil {
+
+ // query param color__ic
+ var qrColorIc string
+
+ if o.ColorIc != nil {
+ qrColorIc = *o.ColorIc
+ }
+ qColorIc := qrColorIc
+ if qColorIc != "" {
+
+ if err := r.SetQueryParam("color__ic", qColorIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIe != nil {
+
+ // query param color__ie
+ var qrColorIe string
+
+ if o.ColorIe != nil {
+ qrColorIe = *o.ColorIe
+ }
+ qColorIe := qrColorIe
+ if qColorIe != "" {
+
+ if err := r.SetQueryParam("color__ie", qColorIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIew != nil {
+
+ // query param color__iew
+ var qrColorIew string
+
+ if o.ColorIew != nil {
+ qrColorIew = *o.ColorIew
+ }
+ qColorIew := qrColorIew
+ if qColorIew != "" {
+
+ if err := r.SetQueryParam("color__iew", qColorIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorIsw != nil {
+
+ // query param color__isw
+ var qrColorIsw string
+
+ if o.ColorIsw != nil {
+ qrColorIsw = *o.ColorIsw
+ }
+ qColorIsw := qrColorIsw
+ if qColorIsw != "" {
+
+ if err := r.SetQueryParam("color__isw", qColorIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Colorn != nil {
+
+ // query param color__n
+ var qrColorn string
+
+ if o.Colorn != nil {
+ qrColorn = *o.Colorn
+ }
+ qColorn := qrColorn
+ if qColorn != "" {
+
+ if err := r.SetQueryParam("color__n", qColorn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNic != nil {
+
+ // query param color__nic
+ var qrColorNic string
+
+ if o.ColorNic != nil {
+ qrColorNic = *o.ColorNic
+ }
+ qColorNic := qrColorNic
+ if qColorNic != "" {
+
+ if err := r.SetQueryParam("color__nic", qColorNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNie != nil {
+
+ // query param color__nie
+ var qrColorNie string
+
+ if o.ColorNie != nil {
+ qrColorNie = *o.ColorNie
+ }
+ qColorNie := qrColorNie
+ if qColorNie != "" {
+
+ if err := r.SetQueryParam("color__nie", qColorNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNiew != nil {
+
+ // query param color__niew
+ var qrColorNiew string
+
+ if o.ColorNiew != nil {
+ qrColorNiew = *o.ColorNiew
+ }
+ qColorNiew := qrColorNiew
+ if qColorNiew != "" {
+
+ if err := r.SetQueryParam("color__niew", qColorNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ColorNisw != nil {
+
+ // query param color__nisw
+ var qrColorNisw string
+
+ if o.ColorNisw != nil {
+ qrColorNisw = *o.ColorNisw
+ }
+ qColorNisw := qrColorNisw
+ if qColorNisw != "" {
+
+ if err := r.SetQueryParam("color__nisw", qColorNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Created != nil {
// query param created
@@ -1872,6 +2325,74 @@ func (o *DcimRearPortsListParams) WriteToRequest(r runtime.ClientRequest, reg st
}
}
+ if o.Location != nil {
+
+ // query param location
+ var qrLocation string
+
+ if o.Location != nil {
+ qrLocation = *o.Location
+ }
+ qLocation := qrLocation
+ if qLocation != "" {
+
+ if err := r.SetQueryParam("location", qLocation); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Locationn != nil {
+
+ // query param location__n
+ var qrLocationn string
+
+ if o.Locationn != nil {
+ qrLocationn = *o.Locationn
+ }
+ qLocationn := qrLocationn
+ if qLocationn != "" {
+
+ if err := r.SetQueryParam("location__n", qLocationn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationID != nil {
+
+ // query param location_id
+ var qrLocationID string
+
+ if o.LocationID != nil {
+ qrLocationID = *o.LocationID
+ }
+ qLocationID := qrLocationID
+ if qLocationID != "" {
+
+ if err := r.SetQueryParam("location_id", qLocationID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LocationIDn != nil {
+
+ // query param location_id__n
+ var qrLocationIDn string
+
+ if o.LocationIDn != nil {
+ qrLocationIDn = *o.LocationIDn
+ }
+ qLocationIDn := qrLocationIDn
+ if qLocationIDn != "" {
+
+ if err := r.SetQueryParam("location_id__n", qLocationIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Name != nil {
// query param name
@@ -2467,6 +2988,74 @@ func (o *DcimRearPortsListParams) WriteToRequest(r runtime.ClientRequest, reg st
}
}
+ if o.VirtualChassis != nil {
+
+ // query param virtual_chassis
+ var qrVirtualChassis string
+
+ if o.VirtualChassis != nil {
+ qrVirtualChassis = *o.VirtualChassis
+ }
+ qVirtualChassis := qrVirtualChassis
+ if qVirtualChassis != "" {
+
+ if err := r.SetQueryParam("virtual_chassis", qVirtualChassis); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisn != nil {
+
+ // query param virtual_chassis__n
+ var qrVirtualChassisn string
+
+ if o.VirtualChassisn != nil {
+ qrVirtualChassisn = *o.VirtualChassisn
+ }
+ qVirtualChassisn := qrVirtualChassisn
+ if qVirtualChassisn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis__n", qVirtualChassisn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisID != nil {
+
+ // query param virtual_chassis_id
+ var qrVirtualChassisID string
+
+ if o.VirtualChassisID != nil {
+ qrVirtualChassisID = *o.VirtualChassisID
+ }
+ qVirtualChassisID := qrVirtualChassisID
+ if qVirtualChassisID != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id", qVirtualChassisID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VirtualChassisIDn != nil {
+
+ // query param virtual_chassis_id__n
+ var qrVirtualChassisIDn string
+
+ if o.VirtualChassisIDn != nil {
+ qrVirtualChassisIDn = *o.VirtualChassisIDn
+ }
+ qVirtualChassisIDn := qrVirtualChassisIDn
+ if qVirtualChassisIDn != "" {
+
+ if err := r.SetQueryParam("virtual_chassis_id__n", qVirtualChassisIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_responses.go
index b127f38c3..fe1681c47 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_rear_ports_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRearPortsListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRearPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRearPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRearPortsListOKBody) contextValidateResults(ctx context.Context, fo
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRearPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRearPortsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_regions_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_regions_list_responses.go
index 8b2c15df3..ad2c46c67 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_regions_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_regions_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimRegionsListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRegionsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRegionsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimRegionsListOKBody) contextValidateResults(ctx context.Context, form
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimRegionsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimRegionsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_site_groups_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_site_groups_list_responses.go
index c5646be6f..2e8e0fdb5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_site_groups_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_site_groups_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimSiteGroupsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimSiteGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimSiteGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimSiteGroupsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimSiteGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimSiteGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_sites_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_sites_list_responses.go
index b0485c0bc..385960810 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_sites_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_sites_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimSitesListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimSitesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimSitesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimSitesListOKBody) contextValidateResults(ctx context.Context, format
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimSitesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimSitesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_virtual_chassis_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_virtual_chassis_list_responses.go
index 54dbc033a..8d4b5c084 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_virtual_chassis_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/dcim/dcim_virtual_chassis_list_responses.go
@@ -182,6 +182,8 @@ func (o *DcimVirtualChassisListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimVirtualChassisListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimVirtualChassisListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *DcimVirtualChassisListOKBody) contextValidateResults(ctx context.Contex
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("dcimVirtualChassisListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("dcimVirtualChassisListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_client.go
index aa3a08c4d..05d965954 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_client.go
@@ -410,7 +410,7 @@ func (a *Client) ExtrasConfigContextsDelete(params *ExtrasConfigContextsDeletePa
}
/*
- ExtrasConfigContextsList extras config contexts list API
+ ExtrasConfigContextsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasConfigContextsList(params *ExtrasConfigContextsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasConfigContextsListOK, error) {
// TODO: Validate the params before sending
@@ -839,7 +839,7 @@ func (a *Client) ExtrasCustomFieldsDelete(params *ExtrasCustomFieldsDeleteParams
}
/*
- ExtrasCustomFieldsList extras custom fields list API
+ ExtrasCustomFieldsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasCustomFieldsList(params *ExtrasCustomFieldsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasCustomFieldsListOK, error) {
// TODO: Validate the params before sending
@@ -1190,7 +1190,7 @@ func (a *Client) ExtrasCustomLinksDelete(params *ExtrasCustomLinksDeleteParams,
}
/*
- ExtrasCustomLinksList extras custom links list API
+ ExtrasCustomLinksList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasCustomLinksList(params *ExtrasCustomLinksListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasCustomLinksListOK, error) {
// TODO: Validate the params before sending
@@ -1541,7 +1541,7 @@ func (a *Client) ExtrasExportTemplatesDelete(params *ExtrasExportTemplatesDelete
}
/*
- ExtrasExportTemplatesList extras export templates list API
+ ExtrasExportTemplatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasExportTemplatesList(params *ExtrasExportTemplatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasExportTemplatesListOK, error) {
// TODO: Validate the params before sending
@@ -1892,7 +1892,7 @@ func (a *Client) ExtrasImageAttachmentsDelete(params *ExtrasImageAttachmentsDele
}
/*
- ExtrasImageAttachmentsList extras image attachments list API
+ ExtrasImageAttachmentsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasImageAttachmentsList(params *ExtrasImageAttachmentsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasImageAttachmentsListOK, error) {
// TODO: Validate the params before sending
@@ -2321,7 +2321,7 @@ func (a *Client) ExtrasJournalEntriesDelete(params *ExtrasJournalEntriesDeletePa
}
/*
- ExtrasJournalEntriesList extras journal entries list API
+ ExtrasJournalEntriesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasJournalEntriesList(params *ExtrasJournalEntriesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasJournalEntriesListOK, error) {
// TODO: Validate the params before sending
@@ -2945,7 +2945,7 @@ func (a *Client) ExtrasTagsDelete(params *ExtrasTagsDeleteParams, authInfo runti
}
/*
- ExtrasTagsList extras tags list API
+ ExtrasTagsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasTagsList(params *ExtrasTagsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasTagsListOK, error) {
// TODO: Validate the params before sending
@@ -3296,7 +3296,7 @@ func (a *Client) ExtrasWebhooksDelete(params *ExtrasWebhooksDeleteParams, authIn
}
/*
- ExtrasWebhooksList extras webhooks list API
+ ExtrasWebhooksList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) ExtrasWebhooksList(params *ExtrasWebhooksListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*ExtrasWebhooksListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_config_contexts_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_config_contexts_list_responses.go
index cd3c799e6..c4507ddaa 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_config_contexts_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_config_contexts_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasConfigContextsListOKBody) validateResults(formats strfmt.Registry
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasConfigContextsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasConfigContextsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasConfigContextsListOKBody) contextValidateResults(ctx context.Cont
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasConfigContextsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasConfigContextsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_parameters.go
index 75f69cff5..a4ffe7d7a 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_parameters.go
@@ -96,6 +96,9 @@ type ExtrasContentTypesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -204,6 +207,17 @@ func (o *ExtrasContentTypesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the extras content types list params
+func (o *ExtrasContentTypesListParams) WithQ(q *string) *ExtrasContentTypesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras content types list params
+func (o *ExtrasContentTypesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WriteToRequest writes these params to a swagger request
func (o *ExtrasContentTypesListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -297,6 +311,23 @@ func (o *ExtrasContentTypesListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_responses.go
index 5fd277b6d..c95c9e8dd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_content_types_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasContentTypesListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasContentTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasContentTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasContentTypesListOKBody) contextValidateResults(ctx context.Contex
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasContentTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasContentTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_parameters.go
index fc742f929..a84a62c57 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_parameters.go
@@ -78,11 +78,56 @@ type ExtrasCustomFieldsListParams struct {
// ContentTypes.
ContentTypes *string
+ // ContentTypesIc.
+ ContentTypesIc *string
+
+ // ContentTypesIe.
+ ContentTypesIe *string
+
+ // ContentTypesIew.
+ ContentTypesIew *string
+
+ // ContentTypesIsw.
+ ContentTypesIsw *string
+
+ // ContentTypesn.
+ ContentTypesn *string
+
+ // ContentTypesNic.
+ ContentTypesNic *string
+
+ // ContentTypesNie.
+ ContentTypesNie *string
+
+ // ContentTypesNiew.
+ ContentTypesNiew *string
+
+ // ContentTypesNisw.
+ ContentTypesNisw *string
+
// FilterLogic.
FilterLogic *string
+ // FilterLogicn.
+ FilterLogicn *string
+
// ID.
- ID *float64
+ ID *string
+
+ // IDGt.
+ IDGt *string
+
+ // IDGte.
+ IDGte *string
+
+ // IDLt.
+ IDLt *string
+
+ // IDLte.
+ IDLte *string
+
+ // IDn.
+ IDn *string
/* Limit.
@@ -93,17 +138,65 @@ type ExtrasCustomFieldsListParams struct {
// Name.
Name *string
+ // NameEmpty.
+ NameEmpty *string
+
+ // NameIc.
+ NameIc *string
+
+ // NameIe.
+ NameIe *string
+
+ // NameIew.
+ NameIew *string
+
+ // NameIsw.
+ NameIsw *string
+
+ // Namen.
+ Namen *string
+
+ // NameNic.
+ NameNic *string
+
+ // NameNie.
+ NameNie *string
+
+ // NameNiew.
+ NameNiew *string
+
+ // NameNisw.
+ NameNisw *string
+
/* Offset.
The initial index from which to return the results.
*/
Offset *int64
+ // Q.
+ Q *string
+
// Required.
Required *string
// Weight.
- Weight *float64
+ Weight *string
+
+ // WeightGt.
+ WeightGt *string
+
+ // WeightGte.
+ WeightGte *string
+
+ // WeightLt.
+ WeightLt *string
+
+ // WeightLte.
+ WeightLte *string
+
+ // Weightn.
+ Weightn *string
timeout time.Duration
Context context.Context
@@ -169,6 +262,105 @@ func (o *ExtrasCustomFieldsListParams) SetContentTypes(contentTypes *string) {
o.ContentTypes = contentTypes
}
+// WithContentTypesIc adds the contentTypesIc to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesIc(contentTypesIc *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesIc(contentTypesIc)
+ return o
+}
+
+// SetContentTypesIc adds the contentTypesIc to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesIc(contentTypesIc *string) {
+ o.ContentTypesIc = contentTypesIc
+}
+
+// WithContentTypesIe adds the contentTypesIe to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesIe(contentTypesIe *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesIe(contentTypesIe)
+ return o
+}
+
+// SetContentTypesIe adds the contentTypesIe to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesIe(contentTypesIe *string) {
+ o.ContentTypesIe = contentTypesIe
+}
+
+// WithContentTypesIew adds the contentTypesIew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesIew(contentTypesIew *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesIew(contentTypesIew)
+ return o
+}
+
+// SetContentTypesIew adds the contentTypesIew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesIew(contentTypesIew *string) {
+ o.ContentTypesIew = contentTypesIew
+}
+
+// WithContentTypesIsw adds the contentTypesIsw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesIsw(contentTypesIsw *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesIsw(contentTypesIsw)
+ return o
+}
+
+// SetContentTypesIsw adds the contentTypesIsw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesIsw(contentTypesIsw *string) {
+ o.ContentTypesIsw = contentTypesIsw
+}
+
+// WithContentTypesn adds the contentTypesn to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesn(contentTypesn *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesn(contentTypesn)
+ return o
+}
+
+// SetContentTypesn adds the contentTypesN to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesn(contentTypesn *string) {
+ o.ContentTypesn = contentTypesn
+}
+
+// WithContentTypesNic adds the contentTypesNic to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesNic(contentTypesNic *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesNic(contentTypesNic)
+ return o
+}
+
+// SetContentTypesNic adds the contentTypesNic to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesNic(contentTypesNic *string) {
+ o.ContentTypesNic = contentTypesNic
+}
+
+// WithContentTypesNie adds the contentTypesNie to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesNie(contentTypesNie *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesNie(contentTypesNie)
+ return o
+}
+
+// SetContentTypesNie adds the contentTypesNie to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesNie(contentTypesNie *string) {
+ o.ContentTypesNie = contentTypesNie
+}
+
+// WithContentTypesNiew adds the contentTypesNiew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesNiew(contentTypesNiew *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesNiew(contentTypesNiew)
+ return o
+}
+
+// SetContentTypesNiew adds the contentTypesNiew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesNiew(contentTypesNiew *string) {
+ o.ContentTypesNiew = contentTypesNiew
+}
+
+// WithContentTypesNisw adds the contentTypesNisw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithContentTypesNisw(contentTypesNisw *string) *ExtrasCustomFieldsListParams {
+ o.SetContentTypesNisw(contentTypesNisw)
+ return o
+}
+
+// SetContentTypesNisw adds the contentTypesNisw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetContentTypesNisw(contentTypesNisw *string) {
+ o.ContentTypesNisw = contentTypesNisw
+}
+
// WithFilterLogic adds the filterLogic to the extras custom fields list params
func (o *ExtrasCustomFieldsListParams) WithFilterLogic(filterLogic *string) *ExtrasCustomFieldsListParams {
o.SetFilterLogic(filterLogic)
@@ -180,17 +372,83 @@ func (o *ExtrasCustomFieldsListParams) SetFilterLogic(filterLogic *string) {
o.FilterLogic = filterLogic
}
+// WithFilterLogicn adds the filterLogicn to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithFilterLogicn(filterLogicn *string) *ExtrasCustomFieldsListParams {
+ o.SetFilterLogicn(filterLogicn)
+ return o
+}
+
+// SetFilterLogicn adds the filterLogicN to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetFilterLogicn(filterLogicn *string) {
+ o.FilterLogicn = filterLogicn
+}
+
// WithID adds the id to the extras custom fields list params
-func (o *ExtrasCustomFieldsListParams) WithID(id *float64) *ExtrasCustomFieldsListParams {
+func (o *ExtrasCustomFieldsListParams) WithID(id *string) *ExtrasCustomFieldsListParams {
o.SetID(id)
return o
}
// SetID adds the id to the extras custom fields list params
-func (o *ExtrasCustomFieldsListParams) SetID(id *float64) {
+func (o *ExtrasCustomFieldsListParams) SetID(id *string) {
o.ID = id
}
+// WithIDGt adds the iDGt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithIDGt(iDGt *string) *ExtrasCustomFieldsListParams {
+ o.SetIDGt(iDGt)
+ return o
+}
+
+// SetIDGt adds the idGt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetIDGt(iDGt *string) {
+ o.IDGt = iDGt
+}
+
+// WithIDGte adds the iDGte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithIDGte(iDGte *string) *ExtrasCustomFieldsListParams {
+ o.SetIDGte(iDGte)
+ return o
+}
+
+// SetIDGte adds the idGte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetIDGte(iDGte *string) {
+ o.IDGte = iDGte
+}
+
+// WithIDLt adds the iDLt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithIDLt(iDLt *string) *ExtrasCustomFieldsListParams {
+ o.SetIDLt(iDLt)
+ return o
+}
+
+// SetIDLt adds the idLt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetIDLt(iDLt *string) {
+ o.IDLt = iDLt
+}
+
+// WithIDLte adds the iDLte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithIDLte(iDLte *string) *ExtrasCustomFieldsListParams {
+ o.SetIDLte(iDLte)
+ return o
+}
+
+// SetIDLte adds the idLte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetIDLte(iDLte *string) {
+ o.IDLte = iDLte
+}
+
+// WithIDn adds the iDn to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithIDn(iDn *string) *ExtrasCustomFieldsListParams {
+ o.SetIDn(iDn)
+ return o
+}
+
+// SetIDn adds the idN to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetIDn(iDn *string) {
+ o.IDn = iDn
+}
+
// WithLimit adds the limit to the extras custom fields list params
func (o *ExtrasCustomFieldsListParams) WithLimit(limit *int64) *ExtrasCustomFieldsListParams {
o.SetLimit(limit)
@@ -213,6 +471,116 @@ func (o *ExtrasCustomFieldsListParams) SetName(name *string) {
o.Name = name
}
+// WithNameEmpty adds the nameEmpty to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameEmpty(nameEmpty *string) *ExtrasCustomFieldsListParams {
+ o.SetNameEmpty(nameEmpty)
+ return o
+}
+
+// SetNameEmpty adds the nameEmpty to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameEmpty(nameEmpty *string) {
+ o.NameEmpty = nameEmpty
+}
+
+// WithNameIc adds the nameIc to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameIc(nameIc *string) *ExtrasCustomFieldsListParams {
+ o.SetNameIc(nameIc)
+ return o
+}
+
+// SetNameIc adds the nameIc to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameIc(nameIc *string) {
+ o.NameIc = nameIc
+}
+
+// WithNameIe adds the nameIe to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameIe(nameIe *string) *ExtrasCustomFieldsListParams {
+ o.SetNameIe(nameIe)
+ return o
+}
+
+// SetNameIe adds the nameIe to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameIe(nameIe *string) {
+ o.NameIe = nameIe
+}
+
+// WithNameIew adds the nameIew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameIew(nameIew *string) *ExtrasCustomFieldsListParams {
+ o.SetNameIew(nameIew)
+ return o
+}
+
+// SetNameIew adds the nameIew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameIew(nameIew *string) {
+ o.NameIew = nameIew
+}
+
+// WithNameIsw adds the nameIsw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameIsw(nameIsw *string) *ExtrasCustomFieldsListParams {
+ o.SetNameIsw(nameIsw)
+ return o
+}
+
+// SetNameIsw adds the nameIsw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameIsw(nameIsw *string) {
+ o.NameIsw = nameIsw
+}
+
+// WithNamen adds the namen to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNamen(namen *string) *ExtrasCustomFieldsListParams {
+ o.SetNamen(namen)
+ return o
+}
+
+// SetNamen adds the nameN to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNamen(namen *string) {
+ o.Namen = namen
+}
+
+// WithNameNic adds the nameNic to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameNic(nameNic *string) *ExtrasCustomFieldsListParams {
+ o.SetNameNic(nameNic)
+ return o
+}
+
+// SetNameNic adds the nameNic to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameNic(nameNic *string) {
+ o.NameNic = nameNic
+}
+
+// WithNameNie adds the nameNie to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameNie(nameNie *string) *ExtrasCustomFieldsListParams {
+ o.SetNameNie(nameNie)
+ return o
+}
+
+// SetNameNie adds the nameNie to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameNie(nameNie *string) {
+ o.NameNie = nameNie
+}
+
+// WithNameNiew adds the nameNiew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameNiew(nameNiew *string) *ExtrasCustomFieldsListParams {
+ o.SetNameNiew(nameNiew)
+ return o
+}
+
+// SetNameNiew adds the nameNiew to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameNiew(nameNiew *string) {
+ o.NameNiew = nameNiew
+}
+
+// WithNameNisw adds the nameNisw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithNameNisw(nameNisw *string) *ExtrasCustomFieldsListParams {
+ o.SetNameNisw(nameNisw)
+ return o
+}
+
+// SetNameNisw adds the nameNisw to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetNameNisw(nameNisw *string) {
+ o.NameNisw = nameNisw
+}
+
// WithOffset adds the offset to the extras custom fields list params
func (o *ExtrasCustomFieldsListParams) WithOffset(offset *int64) *ExtrasCustomFieldsListParams {
o.SetOffset(offset)
@@ -224,6 +592,17 @@ func (o *ExtrasCustomFieldsListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithQ(q *string) *ExtrasCustomFieldsListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithRequired adds the required to the extras custom fields list params
func (o *ExtrasCustomFieldsListParams) WithRequired(required *string) *ExtrasCustomFieldsListParams {
o.SetRequired(required)
@@ -236,16 +615,71 @@ func (o *ExtrasCustomFieldsListParams) SetRequired(required *string) {
}
// WithWeight adds the weight to the extras custom fields list params
-func (o *ExtrasCustomFieldsListParams) WithWeight(weight *float64) *ExtrasCustomFieldsListParams {
+func (o *ExtrasCustomFieldsListParams) WithWeight(weight *string) *ExtrasCustomFieldsListParams {
o.SetWeight(weight)
return o
}
// SetWeight adds the weight to the extras custom fields list params
-func (o *ExtrasCustomFieldsListParams) SetWeight(weight *float64) {
+func (o *ExtrasCustomFieldsListParams) SetWeight(weight *string) {
o.Weight = weight
}
+// WithWeightGt adds the weightGt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithWeightGt(weightGt *string) *ExtrasCustomFieldsListParams {
+ o.SetWeightGt(weightGt)
+ return o
+}
+
+// SetWeightGt adds the weightGt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetWeightGt(weightGt *string) {
+ o.WeightGt = weightGt
+}
+
+// WithWeightGte adds the weightGte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithWeightGte(weightGte *string) *ExtrasCustomFieldsListParams {
+ o.SetWeightGte(weightGte)
+ return o
+}
+
+// SetWeightGte adds the weightGte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetWeightGte(weightGte *string) {
+ o.WeightGte = weightGte
+}
+
+// WithWeightLt adds the weightLt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithWeightLt(weightLt *string) *ExtrasCustomFieldsListParams {
+ o.SetWeightLt(weightLt)
+ return o
+}
+
+// SetWeightLt adds the weightLt to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetWeightLt(weightLt *string) {
+ o.WeightLt = weightLt
+}
+
+// WithWeightLte adds the weightLte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithWeightLte(weightLte *string) *ExtrasCustomFieldsListParams {
+ o.SetWeightLte(weightLte)
+ return o
+}
+
+// SetWeightLte adds the weightLte to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetWeightLte(weightLte *string) {
+ o.WeightLte = weightLte
+}
+
+// WithWeightn adds the weightn to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) WithWeightn(weightn *string) *ExtrasCustomFieldsListParams {
+ o.SetWeightn(weightn)
+ return o
+}
+
+// SetWeightn adds the weightN to the extras custom fields list params
+func (o *ExtrasCustomFieldsListParams) SetWeightn(weightn *string) {
+ o.Weightn = weightn
+}
+
// WriteToRequest writes these params to a swagger request
func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -271,6 +705,159 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.ContentTypesIc != nil {
+
+ // query param content_types__ic
+ var qrContentTypesIc string
+
+ if o.ContentTypesIc != nil {
+ qrContentTypesIc = *o.ContentTypesIc
+ }
+ qContentTypesIc := qrContentTypesIc
+ if qContentTypesIc != "" {
+
+ if err := r.SetQueryParam("content_types__ic", qContentTypesIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesIe != nil {
+
+ // query param content_types__ie
+ var qrContentTypesIe string
+
+ if o.ContentTypesIe != nil {
+ qrContentTypesIe = *o.ContentTypesIe
+ }
+ qContentTypesIe := qrContentTypesIe
+ if qContentTypesIe != "" {
+
+ if err := r.SetQueryParam("content_types__ie", qContentTypesIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesIew != nil {
+
+ // query param content_types__iew
+ var qrContentTypesIew string
+
+ if o.ContentTypesIew != nil {
+ qrContentTypesIew = *o.ContentTypesIew
+ }
+ qContentTypesIew := qrContentTypesIew
+ if qContentTypesIew != "" {
+
+ if err := r.SetQueryParam("content_types__iew", qContentTypesIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesIsw != nil {
+
+ // query param content_types__isw
+ var qrContentTypesIsw string
+
+ if o.ContentTypesIsw != nil {
+ qrContentTypesIsw = *o.ContentTypesIsw
+ }
+ qContentTypesIsw := qrContentTypesIsw
+ if qContentTypesIsw != "" {
+
+ if err := r.SetQueryParam("content_types__isw", qContentTypesIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesn != nil {
+
+ // query param content_types__n
+ var qrContentTypesn string
+
+ if o.ContentTypesn != nil {
+ qrContentTypesn = *o.ContentTypesn
+ }
+ qContentTypesn := qrContentTypesn
+ if qContentTypesn != "" {
+
+ if err := r.SetQueryParam("content_types__n", qContentTypesn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesNic != nil {
+
+ // query param content_types__nic
+ var qrContentTypesNic string
+
+ if o.ContentTypesNic != nil {
+ qrContentTypesNic = *o.ContentTypesNic
+ }
+ qContentTypesNic := qrContentTypesNic
+ if qContentTypesNic != "" {
+
+ if err := r.SetQueryParam("content_types__nic", qContentTypesNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesNie != nil {
+
+ // query param content_types__nie
+ var qrContentTypesNie string
+
+ if o.ContentTypesNie != nil {
+ qrContentTypesNie = *o.ContentTypesNie
+ }
+ qContentTypesNie := qrContentTypesNie
+ if qContentTypesNie != "" {
+
+ if err := r.SetQueryParam("content_types__nie", qContentTypesNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesNiew != nil {
+
+ // query param content_types__niew
+ var qrContentTypesNiew string
+
+ if o.ContentTypesNiew != nil {
+ qrContentTypesNiew = *o.ContentTypesNiew
+ }
+ qContentTypesNiew := qrContentTypesNiew
+ if qContentTypesNiew != "" {
+
+ if err := r.SetQueryParam("content_types__niew", qContentTypesNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ContentTypesNisw != nil {
+
+ // query param content_types__nisw
+ var qrContentTypesNisw string
+
+ if o.ContentTypesNisw != nil {
+ qrContentTypesNisw = *o.ContentTypesNisw
+ }
+ qContentTypesNisw := qrContentTypesNisw
+ if qContentTypesNisw != "" {
+
+ if err := r.SetQueryParam("content_types__nisw", qContentTypesNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.FilterLogic != nil {
// query param filter_logic
@@ -288,15 +875,32 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.FilterLogicn != nil {
+
+ // query param filter_logic__n
+ var qrFilterLogicn string
+
+ if o.FilterLogicn != nil {
+ qrFilterLogicn = *o.FilterLogicn
+ }
+ qFilterLogicn := qrFilterLogicn
+ if qFilterLogicn != "" {
+
+ if err := r.SetQueryParam("filter_logic__n", qFilterLogicn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.ID != nil {
// query param id
- var qrID float64
+ var qrID string
if o.ID != nil {
qrID = *o.ID
}
- qID := swag.FormatFloat64(qrID)
+ qID := qrID
if qID != "" {
if err := r.SetQueryParam("id", qID); err != nil {
@@ -305,6 +909,91 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.IDGt != nil {
+
+ // query param id__gt
+ var qrIDGt string
+
+ if o.IDGt != nil {
+ qrIDGt = *o.IDGt
+ }
+ qIDGt := qrIDGt
+ if qIDGt != "" {
+
+ if err := r.SetQueryParam("id__gt", qIDGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDGte != nil {
+
+ // query param id__gte
+ var qrIDGte string
+
+ if o.IDGte != nil {
+ qrIDGte = *o.IDGte
+ }
+ qIDGte := qrIDGte
+ if qIDGte != "" {
+
+ if err := r.SetQueryParam("id__gte", qIDGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLt != nil {
+
+ // query param id__lt
+ var qrIDLt string
+
+ if o.IDLt != nil {
+ qrIDLt = *o.IDLt
+ }
+ qIDLt := qrIDLt
+ if qIDLt != "" {
+
+ if err := r.SetQueryParam("id__lt", qIDLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLte != nil {
+
+ // query param id__lte
+ var qrIDLte string
+
+ if o.IDLte != nil {
+ qrIDLte = *o.IDLte
+ }
+ qIDLte := qrIDLte
+ if qIDLte != "" {
+
+ if err := r.SetQueryParam("id__lte", qIDLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDn != nil {
+
+ // query param id__n
+ var qrIDn string
+
+ if o.IDn != nil {
+ qrIDn = *o.IDn
+ }
+ qIDn := qrIDn
+ if qIDn != "" {
+
+ if err := r.SetQueryParam("id__n", qIDn); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Limit != nil {
// query param limit
@@ -339,6 +1028,176 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.NameEmpty != nil {
+
+ // query param name__empty
+ var qrNameEmpty string
+
+ if o.NameEmpty != nil {
+ qrNameEmpty = *o.NameEmpty
+ }
+ qNameEmpty := qrNameEmpty
+ if qNameEmpty != "" {
+
+ if err := r.SetQueryParam("name__empty", qNameEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameIc != nil {
+
+ // query param name__ic
+ var qrNameIc string
+
+ if o.NameIc != nil {
+ qrNameIc = *o.NameIc
+ }
+ qNameIc := qrNameIc
+ if qNameIc != "" {
+
+ if err := r.SetQueryParam("name__ic", qNameIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameIe != nil {
+
+ // query param name__ie
+ var qrNameIe string
+
+ if o.NameIe != nil {
+ qrNameIe = *o.NameIe
+ }
+ qNameIe := qrNameIe
+ if qNameIe != "" {
+
+ if err := r.SetQueryParam("name__ie", qNameIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameIew != nil {
+
+ // query param name__iew
+ var qrNameIew string
+
+ if o.NameIew != nil {
+ qrNameIew = *o.NameIew
+ }
+ qNameIew := qrNameIew
+ if qNameIew != "" {
+
+ if err := r.SetQueryParam("name__iew", qNameIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameIsw != nil {
+
+ // query param name__isw
+ var qrNameIsw string
+
+ if o.NameIsw != nil {
+ qrNameIsw = *o.NameIsw
+ }
+ qNameIsw := qrNameIsw
+ if qNameIsw != "" {
+
+ if err := r.SetQueryParam("name__isw", qNameIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Namen != nil {
+
+ // query param name__n
+ var qrNamen string
+
+ if o.Namen != nil {
+ qrNamen = *o.Namen
+ }
+ qNamen := qrNamen
+ if qNamen != "" {
+
+ if err := r.SetQueryParam("name__n", qNamen); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameNic != nil {
+
+ // query param name__nic
+ var qrNameNic string
+
+ if o.NameNic != nil {
+ qrNameNic = *o.NameNic
+ }
+ qNameNic := qrNameNic
+ if qNameNic != "" {
+
+ if err := r.SetQueryParam("name__nic", qNameNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameNie != nil {
+
+ // query param name__nie
+ var qrNameNie string
+
+ if o.NameNie != nil {
+ qrNameNie = *o.NameNie
+ }
+ qNameNie := qrNameNie
+ if qNameNie != "" {
+
+ if err := r.SetQueryParam("name__nie", qNameNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameNiew != nil {
+
+ // query param name__niew
+ var qrNameNiew string
+
+ if o.NameNiew != nil {
+ qrNameNiew = *o.NameNiew
+ }
+ qNameNiew := qrNameNiew
+ if qNameNiew != "" {
+
+ if err := r.SetQueryParam("name__niew", qNameNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.NameNisw != nil {
+
+ // query param name__nisw
+ var qrNameNisw string
+
+ if o.NameNisw != nil {
+ qrNameNisw = *o.NameNisw
+ }
+ qNameNisw := qrNameNisw
+ if qNameNisw != "" {
+
+ if err := r.SetQueryParam("name__nisw", qNameNisw); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Offset != nil {
// query param offset
@@ -356,6 +1215,23 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Required != nil {
// query param required
@@ -376,12 +1252,12 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
if o.Weight != nil {
// query param weight
- var qrWeight float64
+ var qrWeight string
if o.Weight != nil {
qrWeight = *o.Weight
}
- qWeight := swag.FormatFloat64(qrWeight)
+ qWeight := qrWeight
if qWeight != "" {
if err := r.SetQueryParam("weight", qWeight); err != nil {
@@ -390,6 +1266,91 @@ func (o *ExtrasCustomFieldsListParams) WriteToRequest(r runtime.ClientRequest, r
}
}
+ if o.WeightGt != nil {
+
+ // query param weight__gt
+ var qrWeightGt string
+
+ if o.WeightGt != nil {
+ qrWeightGt = *o.WeightGt
+ }
+ qWeightGt := qrWeightGt
+ if qWeightGt != "" {
+
+ if err := r.SetQueryParam("weight__gt", qWeightGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.WeightGte != nil {
+
+ // query param weight__gte
+ var qrWeightGte string
+
+ if o.WeightGte != nil {
+ qrWeightGte = *o.WeightGte
+ }
+ qWeightGte := qrWeightGte
+ if qWeightGte != "" {
+
+ if err := r.SetQueryParam("weight__gte", qWeightGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.WeightLt != nil {
+
+ // query param weight__lt
+ var qrWeightLt string
+
+ if o.WeightLt != nil {
+ qrWeightLt = *o.WeightLt
+ }
+ qWeightLt := qrWeightLt
+ if qWeightLt != "" {
+
+ if err := r.SetQueryParam("weight__lt", qWeightLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.WeightLte != nil {
+
+ // query param weight__lte
+ var qrWeightLte string
+
+ if o.WeightLte != nil {
+ qrWeightLte = *o.WeightLte
+ }
+ qWeightLte := qrWeightLte
+ if qWeightLte != "" {
+
+ if err := r.SetQueryParam("weight__lte", qWeightLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Weightn != nil {
+
+ // query param weight__n
+ var qrWeightn string
+
+ if o.Weightn != nil {
+ qrWeightn = *o.Weightn
+ }
+ qWeightn := qrWeightn
+ if qWeightn != "" {
+
+ if err := r.SetQueryParam("weight__n", qWeightn); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_responses.go
index e95739d03..5007d608b 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_fields_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasCustomFieldsListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasCustomFieldsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasCustomFieldsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasCustomFieldsListOKBody) contextValidateResults(ctx context.Contex
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasCustomFieldsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasCustomFieldsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_parameters.go
index a7ce37ef3..f80555420 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_parameters.go
@@ -246,6 +246,9 @@ type ExtrasCustomLinksListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// Weight.
Weight *string
@@ -922,6 +925,17 @@ func (o *ExtrasCustomLinksListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the extras custom links list params
+func (o *ExtrasCustomLinksListParams) WithQ(q *string) *ExtrasCustomLinksListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras custom links list params
+func (o *ExtrasCustomLinksListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithWeight adds the weight to the extras custom links list params
func (o *ExtrasCustomLinksListParams) WithWeight(weight *string) *ExtrasCustomLinksListParams {
o.SetWeight(weight)
@@ -1931,6 +1945,23 @@ func (o *ExtrasCustomLinksListParams) WriteToRequest(r runtime.ClientRequest, re
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Weight != nil {
// query param weight
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_responses.go
index 03870938c..4d751c040 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_custom_links_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasCustomLinksListOKBody) validateResults(formats strfmt.Registry) e
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasCustomLinksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasCustomLinksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasCustomLinksListOKBody) contextValidateResults(ctx context.Context
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasCustomLinksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasCustomLinksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_parameters.go
index 76c2de50a..9a6048113 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_parameters.go
@@ -144,6 +144,9 @@ type ExtrasExportTemplatesListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -428,6 +431,17 @@ func (o *ExtrasExportTemplatesListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the extras export templates list params
+func (o *ExtrasExportTemplatesListParams) WithQ(q *string) *ExtrasExportTemplatesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras export templates list params
+func (o *ExtrasExportTemplatesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WriteToRequest writes these params to a swagger request
func (o *ExtrasExportTemplatesListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -793,6 +807,23 @@ func (o *ExtrasExportTemplatesListParams) WriteToRequest(r runtime.ClientRequest
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_responses.go
index 478e47cc4..8578c1589 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_export_templates_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasExportTemplatesListOKBody) validateResults(formats strfmt.Registr
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasExportTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasExportTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasExportTemplatesListOKBody) contextValidateResults(ctx context.Con
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasExportTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasExportTemplatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_parameters.go
index 765a8fa4a..7381bda45 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_parameters.go
@@ -171,6 +171,9 @@ type ExtrasImageAttachmentsListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
timeout time.Duration
Context context.Context
HTTPClient *http.Client
@@ -554,6 +557,17 @@ func (o *ExtrasImageAttachmentsListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the extras image attachments list params
+func (o *ExtrasImageAttachmentsListParams) WithQ(q *string) *ExtrasImageAttachmentsListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras image attachments list params
+func (o *ExtrasImageAttachmentsListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WriteToRequest writes these params to a swagger request
func (o *ExtrasImageAttachmentsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
@@ -1072,6 +1086,23 @@ func (o *ExtrasImageAttachmentsListParams) WriteToRequest(r runtime.ClientReques
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_responses.go
index 858561473..4a7c954e5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_image_attachments_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasImageAttachmentsListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasImageAttachmentsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasImageAttachmentsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasImageAttachmentsListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasImageAttachmentsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasImageAttachmentsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_job_results_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_job_results_list_responses.go
index 75dddae8b..4cb211a22 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_job_results_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_job_results_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasJobResultsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasJobResultsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasJobResultsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasJobResultsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasJobResultsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasJobResultsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_journal_entries_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_journal_entries_list_responses.go
index 4a59c64d7..2d1ca3a68 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_journal_entries_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_journal_entries_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasJournalEntriesListOKBody) validateResults(formats strfmt.Registry
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasJournalEntriesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasJournalEntriesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasJournalEntriesListOKBody) contextValidateResults(ctx context.Cont
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasJournalEntriesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasJournalEntriesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_object_changes_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_object_changes_list_responses.go
index eecd3ed5c..258562123 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_object_changes_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_object_changes_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasObjectChangesListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasObjectChangesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasObjectChangesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasObjectChangesListOKBody) contextValidateResults(ctx context.Conte
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasObjectChangesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasObjectChangesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_tags_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_tags_list_responses.go
index 3dbdf0c93..5e9976863 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_tags_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_tags_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasTagsListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasTagsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasTagsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasTagsListOKBody) contextValidateResults(ctx context.Context, forma
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasTagsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasTagsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_parameters.go
index ea25707e5..1d7986bf7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_parameters.go
@@ -276,6 +276,9 @@ type ExtrasWebhooksListParams struct {
// PayloadURLNisw.
PayloadURLNisw *string
+ // Q.
+ Q *string
+
// Secret.
Secret *string
@@ -1089,6 +1092,17 @@ func (o *ExtrasWebhooksListParams) SetPayloadURLNisw(payloadURLNisw *string) {
o.PayloadURLNisw = payloadURLNisw
}
+// WithQ adds the q to the extras webhooks list params
+func (o *ExtrasWebhooksListParams) WithQ(q *string) *ExtrasWebhooksListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the extras webhooks list params
+func (o *ExtrasWebhooksListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithSecret adds the secret to the extras webhooks list params
func (o *ExtrasWebhooksListParams) WithSecret(secret *string) *ExtrasWebhooksListParams {
o.SetSecret(secret)
@@ -2367,6 +2381,23 @@ func (o *ExtrasWebhooksListParams) WriteToRequest(r runtime.ClientRequest, reg s
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.Secret != nil {
// query param secret
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_responses.go
index 3a138d524..cb67c1bd7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/extras/extras_webhooks_list_responses.go
@@ -182,6 +182,8 @@ func (o *ExtrasWebhooksListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasWebhooksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasWebhooksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *ExtrasWebhooksListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("extrasWebhooksListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("extrasWebhooksListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_aggregates_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_aggregates_list_responses.go
index becf13787..76f7bf3e9 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_aggregates_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_aggregates_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamAggregatesListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamAggregatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamAggregatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamAggregatesListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamAggregatesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamAggregatesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_client.go
index 365754b1c..5e08cc229 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_client.go
@@ -81,6 +81,28 @@ type ClientService interface {
IpamIPAddressesUpdate(params *IpamIPAddressesUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPAddressesUpdateOK, error)
+ IpamIPRangesAvailableIpsCreate(params *IpamIPRangesAvailableIpsCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesAvailableIpsCreateCreated, error)
+
+ IpamIPRangesAvailableIpsRead(params *IpamIPRangesAvailableIpsReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesAvailableIpsReadOK, error)
+
+ IpamIPRangesBulkDelete(params *IpamIPRangesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkDeleteNoContent, error)
+
+ IpamIPRangesBulkPartialUpdate(params *IpamIPRangesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkPartialUpdateOK, error)
+
+ IpamIPRangesBulkUpdate(params *IpamIPRangesBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkUpdateOK, error)
+
+ IpamIPRangesCreate(params *IpamIPRangesCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesCreateCreated, error)
+
+ IpamIPRangesDelete(params *IpamIPRangesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesDeleteNoContent, error)
+
+ IpamIPRangesList(params *IpamIPRangesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesListOK, error)
+
+ IpamIPRangesPartialUpdate(params *IpamIPRangesPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesPartialUpdateOK, error)
+
+ IpamIPRangesRead(params *IpamIPRangesReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesReadOK, error)
+
+ IpamIPRangesUpdate(params *IpamIPRangesUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesUpdateOK, error)
+
IpamPrefixesAvailableIpsCreate(params *IpamPrefixesAvailableIpsCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamPrefixesAvailableIpsCreateCreated, error)
IpamPrefixesAvailableIpsRead(params *IpamPrefixesAvailableIpsReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamPrefixesAvailableIpsReadOK, error)
@@ -432,7 +454,7 @@ func (a *Client) IpamAggregatesDelete(params *IpamAggregatesDeleteParams, authIn
}
/*
- IpamAggregatesList ipam aggregates list API
+ IpamAggregatesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamAggregatesList(params *IpamAggregatesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamAggregatesListOK, error) {
// TODO: Validate the params before sending
@@ -783,7 +805,7 @@ func (a *Client) IpamIPAddressesDelete(params *IpamIPAddressesDeleteParams, auth
}
/*
- IpamIPAddressesList ipam ip addresses list API
+ IpamIPAddressesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamIPAddressesList(params *IpamIPAddressesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPAddressesListOK, error) {
// TODO: Validate the params before sending
@@ -939,9 +961,448 @@ func (a *Client) IpamIPAddressesUpdate(params *IpamIPAddressesUpdateParams, auth
}
/*
- IpamPrefixesAvailableIpsCreate A convenience method for returning available IP addresses within a prefix. By default, the number of IPs
-returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be passed,
-however results will not be paginated.
+ IpamIPRangesAvailableIpsCreate A convenience method for returning available IP addresses within a Prefix or IPRange. By default, the number of
+IPs returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be
+passed, however results will not be paginated.
+
+The advisory lock decorator uses a PostgreSQL advisory lock to prevent this API from being
+invoked in parallel, which results in a race condition where multiple insertions can occur.
+*/
+func (a *Client) IpamIPRangesAvailableIpsCreate(params *IpamIPRangesAvailableIpsCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesAvailableIpsCreateCreated, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesAvailableIpsCreateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_available-ips_create",
+ Method: "POST",
+ PathPattern: "/ipam/ip-ranges/{id}/available-ips/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesAvailableIpsCreateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesAvailableIpsCreateCreated)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_available-ips_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesAvailableIpsRead A convenience method for returning available IP addresses within a Prefix or IPRange. By default, the number of
+IPs returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be
+passed, however results will not be paginated.
+
+The advisory lock decorator uses a PostgreSQL advisory lock to prevent this API from being
+invoked in parallel, which results in a race condition where multiple insertions can occur.
+*/
+func (a *Client) IpamIPRangesAvailableIpsRead(params *IpamIPRangesAvailableIpsReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesAvailableIpsReadOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesAvailableIpsReadParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_available-ips_read",
+ Method: "GET",
+ PathPattern: "/ipam/ip-ranges/{id}/available-ips/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesAvailableIpsReadReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesAvailableIpsReadOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_available-ips_read: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesBulkDelete ipam ip ranges bulk delete API
+*/
+func (a *Client) IpamIPRangesBulkDelete(params *IpamIPRangesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkDeleteNoContent, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesBulkDeleteParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_bulk_delete",
+ Method: "DELETE",
+ PathPattern: "/ipam/ip-ranges/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesBulkDeleteReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesBulkDeleteNoContent)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_bulk_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesBulkPartialUpdate ipam ip ranges bulk partial update API
+*/
+func (a *Client) IpamIPRangesBulkPartialUpdate(params *IpamIPRangesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkPartialUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesBulkPartialUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_bulk_partial_update",
+ Method: "PATCH",
+ PathPattern: "/ipam/ip-ranges/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesBulkPartialUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesBulkPartialUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_bulk_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesBulkUpdate ipam ip ranges bulk update API
+*/
+func (a *Client) IpamIPRangesBulkUpdate(params *IpamIPRangesBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesBulkUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesBulkUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_bulk_update",
+ Method: "PUT",
+ PathPattern: "/ipam/ip-ranges/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesBulkUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesBulkUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_bulk_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesCreate ipam ip ranges create API
+*/
+func (a *Client) IpamIPRangesCreate(params *IpamIPRangesCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesCreateCreated, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesCreateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_create",
+ Method: "POST",
+ PathPattern: "/ipam/ip-ranges/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesCreateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesCreateCreated)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesDelete ipam ip ranges delete API
+*/
+func (a *Client) IpamIPRangesDelete(params *IpamIPRangesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesDeleteNoContent, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesDeleteParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_delete",
+ Method: "DELETE",
+ PathPattern: "/ipam/ip-ranges/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesDeleteReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesDeleteNoContent)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesList Overrides ListModelMixin to allow processing ExportTemplates.
+*/
+func (a *Client) IpamIPRangesList(params *IpamIPRangesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesListOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesListParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_list",
+ Method: "GET",
+ PathPattern: "/ipam/ip-ranges/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesListReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesListOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesPartialUpdate ipam ip ranges partial update API
+*/
+func (a *Client) IpamIPRangesPartialUpdate(params *IpamIPRangesPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesPartialUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesPartialUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_partial_update",
+ Method: "PATCH",
+ PathPattern: "/ipam/ip-ranges/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesPartialUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesPartialUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesRead ipam ip ranges read API
+*/
+func (a *Client) IpamIPRangesRead(params *IpamIPRangesReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesReadOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesReadParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_read",
+ Method: "GET",
+ PathPattern: "/ipam/ip-ranges/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesReadReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesReadOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_read: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamIPRangesUpdate ipam ip ranges update API
+*/
+func (a *Client) IpamIPRangesUpdate(params *IpamIPRangesUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamIPRangesUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewIpamIPRangesUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "ipam_ip-ranges_update",
+ Method: "PUT",
+ PathPattern: "/ipam/ip-ranges/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &IpamIPRangesUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*IpamIPRangesUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for ipam_ip-ranges_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ IpamPrefixesAvailableIpsCreate A convenience method for returning available IP addresses within a Prefix or IPRange. By default, the number of
+IPs returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be
+passed, however results will not be paginated.
The advisory lock decorator uses a PostgreSQL advisory lock to prevent this API from being
invoked in parallel, which results in a race condition where multiple insertions can occur.
@@ -983,9 +1444,9 @@ func (a *Client) IpamPrefixesAvailableIpsCreate(params *IpamPrefixesAvailableIps
}
/*
- IpamPrefixesAvailableIpsRead A convenience method for returning available IP addresses within a prefix. By default, the number of IPs
-returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be passed,
-however results will not be paginated.
+ IpamPrefixesAvailableIpsRead A convenience method for returning available IP addresses within a Prefix or IPRange. By default, the number of
+IPs returned will be equivalent to PAGINATE_COUNT. An arbitrary limit (up to MAX_PAGE_SIZE, if set) may be
+passed, however results will not be paginated.
The advisory lock decorator uses a PostgreSQL advisory lock to prevent this API from being
invoked in parallel, which results in a race condition where multiple insertions can occur.
@@ -1306,7 +1767,7 @@ func (a *Client) IpamPrefixesDelete(params *IpamPrefixesDeleteParams, authInfo r
}
/*
- IpamPrefixesList ipam prefixes list API
+ IpamPrefixesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamPrefixesList(params *IpamPrefixesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamPrefixesListOK, error) {
// TODO: Validate the params before sending
@@ -1657,7 +2118,7 @@ func (a *Client) IpamRirsDelete(params *IpamRirsDeleteParams, authInfo runtime.C
}
/*
- IpamRirsList ipam rirs list API
+ IpamRirsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamRirsList(params *IpamRirsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamRirsListOK, error) {
// TODO: Validate the params before sending
@@ -2008,7 +2469,7 @@ func (a *Client) IpamRolesDelete(params *IpamRolesDeleteParams, authInfo runtime
}
/*
- IpamRolesList ipam roles list API
+ IpamRolesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamRolesList(params *IpamRolesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamRolesListOK, error) {
// TODO: Validate the params before sending
@@ -2359,7 +2820,7 @@ func (a *Client) IpamRouteTargetsDelete(params *IpamRouteTargetsDeleteParams, au
}
/*
- IpamRouteTargetsList ipam route targets list API
+ IpamRouteTargetsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamRouteTargetsList(params *IpamRouteTargetsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamRouteTargetsListOK, error) {
// TODO: Validate the params before sending
@@ -2710,7 +3171,7 @@ func (a *Client) IpamServicesDelete(params *IpamServicesDeleteParams, authInfo r
}
/*
- IpamServicesList ipam services list API
+ IpamServicesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamServicesList(params *IpamServicesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamServicesListOK, error) {
// TODO: Validate the params before sending
@@ -3061,7 +3522,7 @@ func (a *Client) IpamVlanGroupsDelete(params *IpamVlanGroupsDeleteParams, authIn
}
/*
- IpamVlanGroupsList ipam vlan groups list API
+ IpamVlanGroupsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamVlanGroupsList(params *IpamVlanGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamVlanGroupsListOK, error) {
// TODO: Validate the params before sending
@@ -3412,7 +3873,7 @@ func (a *Client) IpamVlansDelete(params *IpamVlansDeleteParams, authInfo runtime
}
/*
- IpamVlansList ipam vlans list API
+ IpamVlansList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamVlansList(params *IpamVlansListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamVlansListOK, error) {
// TODO: Validate the params before sending
@@ -3763,7 +4224,7 @@ func (a *Client) IpamVrfsDelete(params *IpamVrfsDeleteParams, authInfo runtime.C
}
/*
- IpamVrfsList ipam vrfs list API
+ IpamVrfsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) IpamVrfsList(params *IpamVrfsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*IpamVrfsListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_addresses_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_addresses_list_responses.go
index 37b32b362..1e7538718 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_addresses_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_addresses_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamIPAddressesListOKBody) validateResults(formats strfmt.Registry) err
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamIpAddressesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamIpAddressesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamIPAddressesListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamIpAddressesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamIpAddressesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_parameters.go
new file mode 100644
index 000000000..8a7e3a329
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_parameters.go
@@ -0,0 +1,186 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesAvailableIpsCreateParams creates a new IpamIPRangesAvailableIpsCreateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesAvailableIpsCreateParams() *IpamIPRangesAvailableIpsCreateParams {
+ return &IpamIPRangesAvailableIpsCreateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsCreateParamsWithTimeout creates a new IpamIPRangesAvailableIpsCreateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesAvailableIpsCreateParamsWithTimeout(timeout time.Duration) *IpamIPRangesAvailableIpsCreateParams {
+ return &IpamIPRangesAvailableIpsCreateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsCreateParamsWithContext creates a new IpamIPRangesAvailableIpsCreateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesAvailableIpsCreateParamsWithContext(ctx context.Context) *IpamIPRangesAvailableIpsCreateParams {
+ return &IpamIPRangesAvailableIpsCreateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsCreateParamsWithHTTPClient creates a new IpamIPRangesAvailableIpsCreateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesAvailableIpsCreateParamsWithHTTPClient(client *http.Client) *IpamIPRangesAvailableIpsCreateParams {
+ return &IpamIPRangesAvailableIpsCreateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesAvailableIpsCreateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges available ips create operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesAvailableIpsCreateParams struct {
+
+ // Data.
+ Data []*models.AvailableIP
+
+ /* ID.
+
+ A unique integer value identifying this IP range.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges available ips create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesAvailableIpsCreateParams) WithDefaults() *IpamIPRangesAvailableIpsCreateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges available ips create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesAvailableIpsCreateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) WithTimeout(timeout time.Duration) *IpamIPRangesAvailableIpsCreateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) WithContext(ctx context.Context) *IpamIPRangesAvailableIpsCreateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) WithHTTPClient(client *http.Client) *IpamIPRangesAvailableIpsCreateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) WithData(data []*models.AvailableIP) *IpamIPRangesAvailableIpsCreateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) SetData(data []*models.AvailableIP) {
+ o.Data = data
+}
+
+// WithID adds the id to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) WithID(id int64) *IpamIPRangesAvailableIpsCreateParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges available ips create params
+func (o *IpamIPRangesAvailableIpsCreateParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesAvailableIpsCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_responses.go
similarity index 55%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_responses.go
index 0badbc7c2..9c39252c4 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_create_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesBulkPartialUpdateReader is a Reader for the SecretsSecretRolesBulkPartialUpdate structure.
-type SecretsSecretRolesBulkPartialUpdateReader struct {
+// IpamIPRangesAvailableIpsCreateReader is a Reader for the IpamIPRangesAvailableIpsCreate structure.
+type IpamIPRangesAvailableIpsCreateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesBulkPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesAvailableIpsCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
- case 200:
- result := NewSecretsSecretRolesBulkPartialUpdateOK()
+ case 201:
+ result := NewIpamIPRangesAvailableIpsCreateCreated()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,32 +49,30 @@ func (o *SecretsSecretRolesBulkPartialUpdateReader) ReadResponse(response runtim
}
}
-// NewSecretsSecretRolesBulkPartialUpdateOK creates a SecretsSecretRolesBulkPartialUpdateOK with default headers values
-func NewSecretsSecretRolesBulkPartialUpdateOK() *SecretsSecretRolesBulkPartialUpdateOK {
- return &SecretsSecretRolesBulkPartialUpdateOK{}
+// NewIpamIPRangesAvailableIpsCreateCreated creates a IpamIPRangesAvailableIpsCreateCreated with default headers values
+func NewIpamIPRangesAvailableIpsCreateCreated() *IpamIPRangesAvailableIpsCreateCreated {
+ return &IpamIPRangesAvailableIpsCreateCreated{}
}
-/* SecretsSecretRolesBulkPartialUpdateOK describes a response with status code 200, with default header values.
+/* IpamIPRangesAvailableIpsCreateCreated describes a response with status code 201, with default header values.
-SecretsSecretRolesBulkPartialUpdateOK secrets secret roles bulk partial update o k
+IpamIPRangesAvailableIpsCreateCreated ipam Ip ranges available ips create created
*/
-type SecretsSecretRolesBulkPartialUpdateOK struct {
- Payload *models.SecretRole
+type IpamIPRangesAvailableIpsCreateCreated struct {
+ Payload []*models.AvailableIP
}
-func (o *SecretsSecretRolesBulkPartialUpdateOK) Error() string {
- return fmt.Sprintf("[PATCH /secrets/secret-roles/][%d] secretsSecretRolesBulkPartialUpdateOK %+v", 200, o.Payload)
+func (o *IpamIPRangesAvailableIpsCreateCreated) Error() string {
+ return fmt.Sprintf("[POST /ipam/ip-ranges/{id}/available-ips/][%d] ipamIpRangesAvailableIpsCreateCreated %+v", 201, o.Payload)
}
-func (o *SecretsSecretRolesBulkPartialUpdateOK) GetPayload() *models.SecretRole {
+func (o *IpamIPRangesAvailableIpsCreateCreated) GetPayload() []*models.AvailableIP {
return o.Payload
}
-func (o *SecretsSecretRolesBulkPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(models.SecretRole)
+func (o *IpamIPRangesAvailableIpsCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
// response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_parameters.go
new file mode 100644
index 000000000..499945cf4
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_parameters.go
@@ -0,0 +1,165 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewIpamIPRangesAvailableIpsReadParams creates a new IpamIPRangesAvailableIpsReadParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesAvailableIpsReadParams() *IpamIPRangesAvailableIpsReadParams {
+ return &IpamIPRangesAvailableIpsReadParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsReadParamsWithTimeout creates a new IpamIPRangesAvailableIpsReadParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesAvailableIpsReadParamsWithTimeout(timeout time.Duration) *IpamIPRangesAvailableIpsReadParams {
+ return &IpamIPRangesAvailableIpsReadParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsReadParamsWithContext creates a new IpamIPRangesAvailableIpsReadParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesAvailableIpsReadParamsWithContext(ctx context.Context) *IpamIPRangesAvailableIpsReadParams {
+ return &IpamIPRangesAvailableIpsReadParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesAvailableIpsReadParamsWithHTTPClient creates a new IpamIPRangesAvailableIpsReadParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesAvailableIpsReadParamsWithHTTPClient(client *http.Client) *IpamIPRangesAvailableIpsReadParams {
+ return &IpamIPRangesAvailableIpsReadParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesAvailableIpsReadParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges available ips read operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesAvailableIpsReadParams struct {
+
+ /* ID.
+
+ A unique integer value identifying this IP range.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges available ips read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesAvailableIpsReadParams) WithDefaults() *IpamIPRangesAvailableIpsReadParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges available ips read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesAvailableIpsReadParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) WithTimeout(timeout time.Duration) *IpamIPRangesAvailableIpsReadParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) WithContext(ctx context.Context) *IpamIPRangesAvailableIpsReadParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) WithHTTPClient(client *http.Client) *IpamIPRangesAvailableIpsReadParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithID adds the id to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) WithID(id int64) *IpamIPRangesAvailableIpsReadParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges available ips read params
+func (o *IpamIPRangesAvailableIpsReadParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesAvailableIpsReadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_responses.go
similarity index 55%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_responses.go
index 0491ed330..b2d1bd541 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_available_ips_read_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesUpdateReader is a Reader for the SecretsSecretRolesUpdate structure.
-type SecretsSecretRolesUpdateReader struct {
+// IpamIPRangesAvailableIpsReadReader is a Reader for the IpamIPRangesAvailableIpsRead structure.
+type IpamIPRangesAvailableIpsReadReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesAvailableIpsReadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretRolesUpdateOK()
+ result := NewIpamIPRangesAvailableIpsReadOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,32 +49,30 @@ func (o *SecretsSecretRolesUpdateReader) ReadResponse(response runtime.ClientRes
}
}
-// NewSecretsSecretRolesUpdateOK creates a SecretsSecretRolesUpdateOK with default headers values
-func NewSecretsSecretRolesUpdateOK() *SecretsSecretRolesUpdateOK {
- return &SecretsSecretRolesUpdateOK{}
+// NewIpamIPRangesAvailableIpsReadOK creates a IpamIPRangesAvailableIpsReadOK with default headers values
+func NewIpamIPRangesAvailableIpsReadOK() *IpamIPRangesAvailableIpsReadOK {
+ return &IpamIPRangesAvailableIpsReadOK{}
}
-/* SecretsSecretRolesUpdateOK describes a response with status code 200, with default header values.
+/* IpamIPRangesAvailableIpsReadOK describes a response with status code 200, with default header values.
-SecretsSecretRolesUpdateOK secrets secret roles update o k
+IpamIPRangesAvailableIpsReadOK ipam Ip ranges available ips read o k
*/
-type SecretsSecretRolesUpdateOK struct {
- Payload *models.SecretRole
+type IpamIPRangesAvailableIpsReadOK struct {
+ Payload []*models.AvailableIP
}
-func (o *SecretsSecretRolesUpdateOK) Error() string {
- return fmt.Sprintf("[PUT /secrets/secret-roles/{id}/][%d] secretsSecretRolesUpdateOK %+v", 200, o.Payload)
+func (o *IpamIPRangesAvailableIpsReadOK) Error() string {
+ return fmt.Sprintf("[GET /ipam/ip-ranges/{id}/available-ips/][%d] ipamIpRangesAvailableIpsReadOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretRolesUpdateOK) GetPayload() *models.SecretRole {
+func (o *IpamIPRangesAvailableIpsReadOK) GetPayload() []*models.AvailableIP {
return o.Payload
}
-func (o *SecretsSecretRolesUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(models.SecretRole)
+func (o *IpamIPRangesAvailableIpsReadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
// response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_parameters.go
new file mode 100644
index 000000000..a88558362
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_parameters.go
@@ -0,0 +1,141 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+)
+
+// NewIpamIPRangesBulkDeleteParams creates a new IpamIPRangesBulkDeleteParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesBulkDeleteParams() *IpamIPRangesBulkDeleteParams {
+ return &IpamIPRangesBulkDeleteParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesBulkDeleteParamsWithTimeout creates a new IpamIPRangesBulkDeleteParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesBulkDeleteParamsWithTimeout(timeout time.Duration) *IpamIPRangesBulkDeleteParams {
+ return &IpamIPRangesBulkDeleteParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesBulkDeleteParamsWithContext creates a new IpamIPRangesBulkDeleteParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesBulkDeleteParamsWithContext(ctx context.Context) *IpamIPRangesBulkDeleteParams {
+ return &IpamIPRangesBulkDeleteParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesBulkDeleteParamsWithHTTPClient creates a new IpamIPRangesBulkDeleteParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesBulkDeleteParamsWithHTTPClient(client *http.Client) *IpamIPRangesBulkDeleteParams {
+ return &IpamIPRangesBulkDeleteParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesBulkDeleteParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges bulk delete operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesBulkDeleteParams struct {
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges bulk delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkDeleteParams) WithDefaults() *IpamIPRangesBulkDeleteParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges bulk delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkDeleteParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) WithTimeout(timeout time.Duration) *IpamIPRangesBulkDeleteParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) WithContext(ctx context.Context) *IpamIPRangesBulkDeleteParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) WithHTTPClient(client *http.Client) *IpamIPRangesBulkDeleteParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges bulk delete params
+func (o *IpamIPRangesBulkDeleteParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesBulkDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_responses.go
similarity index 60%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_responses.go
index 41939c521..7cd9f9b50 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_delete_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -27,16 +27,16 @@ import (
"github.com/go-openapi/strfmt"
)
-// SecretsGenerateRsaKeyPairListReader is a Reader for the SecretsGenerateRsaKeyPairList structure.
-type SecretsGenerateRsaKeyPairListReader struct {
+// IpamIPRangesBulkDeleteReader is a Reader for the IpamIPRangesBulkDelete structure.
+type IpamIPRangesBulkDeleteReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsGenerateRsaKeyPairListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesBulkDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
- case 200:
- result := NewSecretsGenerateRsaKeyPairListOK()
+ case 204:
+ result := NewIpamIPRangesBulkDeleteNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -46,23 +46,23 @@ func (o *SecretsGenerateRsaKeyPairListReader) ReadResponse(response runtime.Clie
}
}
-// NewSecretsGenerateRsaKeyPairListOK creates a SecretsGenerateRsaKeyPairListOK with default headers values
-func NewSecretsGenerateRsaKeyPairListOK() *SecretsGenerateRsaKeyPairListOK {
- return &SecretsGenerateRsaKeyPairListOK{}
+// NewIpamIPRangesBulkDeleteNoContent creates a IpamIPRangesBulkDeleteNoContent with default headers values
+func NewIpamIPRangesBulkDeleteNoContent() *IpamIPRangesBulkDeleteNoContent {
+ return &IpamIPRangesBulkDeleteNoContent{}
}
-/* SecretsGenerateRsaKeyPairListOK describes a response with status code 200, with default header values.
+/* IpamIPRangesBulkDeleteNoContent describes a response with status code 204, with default header values.
-SecretsGenerateRsaKeyPairListOK secrets generate rsa key pair list o k
+IpamIPRangesBulkDeleteNoContent ipam Ip ranges bulk delete no content
*/
-type SecretsGenerateRsaKeyPairListOK struct {
+type IpamIPRangesBulkDeleteNoContent struct {
}
-func (o *SecretsGenerateRsaKeyPairListOK) Error() string {
- return fmt.Sprintf("[GET /secrets/generate-rsa-key-pair/][%d] secretsGenerateRsaKeyPairListOK ", 200)
+func (o *IpamIPRangesBulkDeleteNoContent) Error() string {
+ return fmt.Sprintf("[DELETE /ipam/ip-ranges/][%d] ipamIpRangesBulkDeleteNoContent ", 204)
}
-func (o *SecretsGenerateRsaKeyPairListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesBulkDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_parameters.go
new file mode 100644
index 000000000..9c3deecfe
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesBulkPartialUpdateParams creates a new IpamIPRangesBulkPartialUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesBulkPartialUpdateParams() *IpamIPRangesBulkPartialUpdateParams {
+ return &IpamIPRangesBulkPartialUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesBulkPartialUpdateParamsWithTimeout creates a new IpamIPRangesBulkPartialUpdateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesBulkPartialUpdateParamsWithTimeout(timeout time.Duration) *IpamIPRangesBulkPartialUpdateParams {
+ return &IpamIPRangesBulkPartialUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesBulkPartialUpdateParamsWithContext creates a new IpamIPRangesBulkPartialUpdateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesBulkPartialUpdateParamsWithContext(ctx context.Context) *IpamIPRangesBulkPartialUpdateParams {
+ return &IpamIPRangesBulkPartialUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesBulkPartialUpdateParamsWithHTTPClient creates a new IpamIPRangesBulkPartialUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesBulkPartialUpdateParamsWithHTTPClient(client *http.Client) *IpamIPRangesBulkPartialUpdateParams {
+ return &IpamIPRangesBulkPartialUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesBulkPartialUpdateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges bulk partial update operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesBulkPartialUpdateParams struct {
+
+ // Data.
+ Data *models.WritableIPRange
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges bulk partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkPartialUpdateParams) WithDefaults() *IpamIPRangesBulkPartialUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges bulk partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkPartialUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) WithTimeout(timeout time.Duration) *IpamIPRangesBulkPartialUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) WithContext(ctx context.Context) *IpamIPRangesBulkPartialUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) WithHTTPClient(client *http.Client) *IpamIPRangesBulkPartialUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) WithData(data *models.WritableIPRange) *IpamIPRangesBulkPartialUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges bulk partial update params
+func (o *IpamIPRangesBulkPartialUpdateParams) SetData(data *models.WritableIPRange) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesBulkPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_responses.go
similarity index 60%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_responses.go
index df3fc0db1..837d6d144 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_partial_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesCreateReader is a Reader for the SecretsSecretRolesCreate structure.
-type SecretsSecretRolesCreateReader struct {
+// IpamIPRangesBulkPartialUpdateReader is a Reader for the IpamIPRangesBulkPartialUpdate structure.
+type IpamIPRangesBulkPartialUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesBulkPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
- case 201:
- result := NewSecretsSecretRolesCreateCreated()
+ case 200:
+ result := NewIpamIPRangesBulkPartialUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretRolesCreateReader) ReadResponse(response runtime.ClientRes
}
}
-// NewSecretsSecretRolesCreateCreated creates a SecretsSecretRolesCreateCreated with default headers values
-func NewSecretsSecretRolesCreateCreated() *SecretsSecretRolesCreateCreated {
- return &SecretsSecretRolesCreateCreated{}
+// NewIpamIPRangesBulkPartialUpdateOK creates a IpamIPRangesBulkPartialUpdateOK with default headers values
+func NewIpamIPRangesBulkPartialUpdateOK() *IpamIPRangesBulkPartialUpdateOK {
+ return &IpamIPRangesBulkPartialUpdateOK{}
}
-/* SecretsSecretRolesCreateCreated describes a response with status code 201, with default header values.
+/* IpamIPRangesBulkPartialUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretRolesCreateCreated secrets secret roles create created
+IpamIPRangesBulkPartialUpdateOK ipam Ip ranges bulk partial update o k
*/
-type SecretsSecretRolesCreateCreated struct {
- Payload *models.SecretRole
+type IpamIPRangesBulkPartialUpdateOK struct {
+ Payload *models.IPRange
}
-func (o *SecretsSecretRolesCreateCreated) Error() string {
- return fmt.Sprintf("[POST /secrets/secret-roles/][%d] secretsSecretRolesCreateCreated %+v", 201, o.Payload)
+func (o *IpamIPRangesBulkPartialUpdateOK) Error() string {
+ return fmt.Sprintf("[PATCH /ipam/ip-ranges/][%d] ipamIpRangesBulkPartialUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretRolesCreateCreated) GetPayload() *models.SecretRole {
+func (o *IpamIPRangesBulkPartialUpdateOK) GetPayload() *models.IPRange {
return o.Payload
}
-func (o *SecretsSecretRolesCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesBulkPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.SecretRole)
+ o.Payload = new(models.IPRange)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_parameters.go
new file mode 100644
index 000000000..838f0fe3e
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesBulkUpdateParams creates a new IpamIPRangesBulkUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesBulkUpdateParams() *IpamIPRangesBulkUpdateParams {
+ return &IpamIPRangesBulkUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesBulkUpdateParamsWithTimeout creates a new IpamIPRangesBulkUpdateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesBulkUpdateParamsWithTimeout(timeout time.Duration) *IpamIPRangesBulkUpdateParams {
+ return &IpamIPRangesBulkUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesBulkUpdateParamsWithContext creates a new IpamIPRangesBulkUpdateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesBulkUpdateParamsWithContext(ctx context.Context) *IpamIPRangesBulkUpdateParams {
+ return &IpamIPRangesBulkUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesBulkUpdateParamsWithHTTPClient creates a new IpamIPRangesBulkUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesBulkUpdateParamsWithHTTPClient(client *http.Client) *IpamIPRangesBulkUpdateParams {
+ return &IpamIPRangesBulkUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesBulkUpdateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges bulk update operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesBulkUpdateParams struct {
+
+ // Data.
+ Data *models.WritableIPRange
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges bulk update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkUpdateParams) WithDefaults() *IpamIPRangesBulkUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges bulk update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesBulkUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) WithTimeout(timeout time.Duration) *IpamIPRangesBulkUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) WithContext(ctx context.Context) *IpamIPRangesBulkUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) WithHTTPClient(client *http.Client) *IpamIPRangesBulkUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) WithData(data *models.WritableIPRange) *IpamIPRangesBulkUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges bulk update params
+func (o *IpamIPRangesBulkUpdateParams) SetData(data *models.WritableIPRange) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesBulkUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_responses.go
similarity index 67%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_responses.go
index 8de1d7e67..347eb3e0e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_bulk_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesReadReader is a Reader for the SecretsSecretRolesRead structure.
-type SecretsSecretRolesReadReader struct {
+// IpamIPRangesBulkUpdateReader is a Reader for the IpamIPRangesBulkUpdate structure.
+type IpamIPRangesBulkUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesReadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesBulkUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretRolesReadOK()
+ result := NewIpamIPRangesBulkUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretRolesReadReader) ReadResponse(response runtime.ClientRespo
}
}
-// NewSecretsSecretRolesReadOK creates a SecretsSecretRolesReadOK with default headers values
-func NewSecretsSecretRolesReadOK() *SecretsSecretRolesReadOK {
- return &SecretsSecretRolesReadOK{}
+// NewIpamIPRangesBulkUpdateOK creates a IpamIPRangesBulkUpdateOK with default headers values
+func NewIpamIPRangesBulkUpdateOK() *IpamIPRangesBulkUpdateOK {
+ return &IpamIPRangesBulkUpdateOK{}
}
-/* SecretsSecretRolesReadOK describes a response with status code 200, with default header values.
+/* IpamIPRangesBulkUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretRolesReadOK secrets secret roles read o k
+IpamIPRangesBulkUpdateOK ipam Ip ranges bulk update o k
*/
-type SecretsSecretRolesReadOK struct {
- Payload *models.SecretRole
+type IpamIPRangesBulkUpdateOK struct {
+ Payload *models.IPRange
}
-func (o *SecretsSecretRolesReadOK) Error() string {
- return fmt.Sprintf("[GET /secrets/secret-roles/{id}/][%d] secretsSecretRolesReadOK %+v", 200, o.Payload)
+func (o *IpamIPRangesBulkUpdateOK) Error() string {
+ return fmt.Sprintf("[PUT /ipam/ip-ranges/][%d] ipamIpRangesBulkUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretRolesReadOK) GetPayload() *models.SecretRole {
+func (o *IpamIPRangesBulkUpdateOK) GetPayload() *models.IPRange {
return o.Payload
}
-func (o *SecretsSecretRolesReadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesBulkUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.SecretRole)
+ o.Payload = new(models.IPRange)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_parameters.go
new file mode 100644
index 000000000..cbab29a19
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesCreateParams creates a new IpamIPRangesCreateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesCreateParams() *IpamIPRangesCreateParams {
+ return &IpamIPRangesCreateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesCreateParamsWithTimeout creates a new IpamIPRangesCreateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesCreateParamsWithTimeout(timeout time.Duration) *IpamIPRangesCreateParams {
+ return &IpamIPRangesCreateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesCreateParamsWithContext creates a new IpamIPRangesCreateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesCreateParamsWithContext(ctx context.Context) *IpamIPRangesCreateParams {
+ return &IpamIPRangesCreateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesCreateParamsWithHTTPClient creates a new IpamIPRangesCreateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesCreateParamsWithHTTPClient(client *http.Client) *IpamIPRangesCreateParams {
+ return &IpamIPRangesCreateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesCreateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges create operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesCreateParams struct {
+
+ // Data.
+ Data *models.WritableIPRange
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesCreateParams) WithDefaults() *IpamIPRangesCreateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesCreateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) WithTimeout(timeout time.Duration) *IpamIPRangesCreateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) WithContext(ctx context.Context) *IpamIPRangesCreateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) WithHTTPClient(client *http.Client) *IpamIPRangesCreateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) WithData(data *models.WritableIPRange) *IpamIPRangesCreateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges create params
+func (o *IpamIPRangesCreateParams) SetData(data *models.WritableIPRange) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_responses.go
new file mode 100644
index 000000000..dd80c350d
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_create_responses.go
@@ -0,0 +1,82 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/go-openapi/runtime"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// IpamIPRangesCreateReader is a Reader for the IpamIPRangesCreate structure.
+type IpamIPRangesCreateReader struct {
+ formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *IpamIPRangesCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+ switch response.Code() {
+ case 201:
+ result := NewIpamIPRangesCreateCreated()
+ if err := result.readResponse(response, consumer, o.formats); err != nil {
+ return nil, err
+ }
+ return result, nil
+ default:
+ return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
+ }
+}
+
+// NewIpamIPRangesCreateCreated creates a IpamIPRangesCreateCreated with default headers values
+func NewIpamIPRangesCreateCreated() *IpamIPRangesCreateCreated {
+ return &IpamIPRangesCreateCreated{}
+}
+
+/* IpamIPRangesCreateCreated describes a response with status code 201, with default header values.
+
+IpamIPRangesCreateCreated ipam Ip ranges create created
+*/
+type IpamIPRangesCreateCreated struct {
+ Payload *models.IPRange
+}
+
+func (o *IpamIPRangesCreateCreated) Error() string {
+ return fmt.Sprintf("[POST /ipam/ip-ranges/][%d] ipamIpRangesCreateCreated %+v", 201, o.Payload)
+}
+func (o *IpamIPRangesCreateCreated) GetPayload() *models.IPRange {
+ return o.Payload
+}
+
+func (o *IpamIPRangesCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+ o.Payload = new(models.IPRange)
+
+ // response payload
+ if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_parameters.go
similarity index 51%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_parameters.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_parameters.go
index b43a881c1..2dd0f0b75 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_parameters.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -32,52 +32,52 @@ import (
"github.com/go-openapi/swag"
)
-// NewSecretsSecretsReadParams creates a new SecretsSecretsReadParams object,
+// NewIpamIPRangesDeleteParams creates a new IpamIPRangesDeleteParams object,
// with the default timeout for this client.
//
// Default values are not hydrated, since defaults are normally applied by the API server side.
//
// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsReadParams() *SecretsSecretsReadParams {
- return &SecretsSecretsReadParams{
+func NewIpamIPRangesDeleteParams() *IpamIPRangesDeleteParams {
+ return &IpamIPRangesDeleteParams{
timeout: cr.DefaultTimeout,
}
}
-// NewSecretsSecretsReadParamsWithTimeout creates a new SecretsSecretsReadParams object
+// NewIpamIPRangesDeleteParamsWithTimeout creates a new IpamIPRangesDeleteParams object
// with the ability to set a timeout on a request.
-func NewSecretsSecretsReadParamsWithTimeout(timeout time.Duration) *SecretsSecretsReadParams {
- return &SecretsSecretsReadParams{
+func NewIpamIPRangesDeleteParamsWithTimeout(timeout time.Duration) *IpamIPRangesDeleteParams {
+ return &IpamIPRangesDeleteParams{
timeout: timeout,
}
}
-// NewSecretsSecretsReadParamsWithContext creates a new SecretsSecretsReadParams object
+// NewIpamIPRangesDeleteParamsWithContext creates a new IpamIPRangesDeleteParams object
// with the ability to set a context for a request.
-func NewSecretsSecretsReadParamsWithContext(ctx context.Context) *SecretsSecretsReadParams {
- return &SecretsSecretsReadParams{
+func NewIpamIPRangesDeleteParamsWithContext(ctx context.Context) *IpamIPRangesDeleteParams {
+ return &IpamIPRangesDeleteParams{
Context: ctx,
}
}
-// NewSecretsSecretsReadParamsWithHTTPClient creates a new SecretsSecretsReadParams object
+// NewIpamIPRangesDeleteParamsWithHTTPClient creates a new IpamIPRangesDeleteParams object
// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsReadParamsWithHTTPClient(client *http.Client) *SecretsSecretsReadParams {
- return &SecretsSecretsReadParams{
+func NewIpamIPRangesDeleteParamsWithHTTPClient(client *http.Client) *IpamIPRangesDeleteParams {
+ return &IpamIPRangesDeleteParams{
HTTPClient: client,
}
}
-/* SecretsSecretsReadParams contains all the parameters to send to the API endpoint
- for the secrets secrets read operation.
+/* IpamIPRangesDeleteParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges delete operation.
Typically these are written to a http.Request.
*/
-type SecretsSecretsReadParams struct {
+type IpamIPRangesDeleteParams struct {
/* ID.
- A unique integer value identifying this secret.
+ A unique integer value identifying this IP range.
*/
ID int64
@@ -86,67 +86,67 @@ type SecretsSecretsReadParams struct {
HTTPClient *http.Client
}
-// WithDefaults hydrates default values in the secrets secrets read params (not the query body).
+// WithDefaults hydrates default values in the ipam ip ranges delete params (not the query body).
//
// All values with no default are reset to their zero value.
-func (o *SecretsSecretsReadParams) WithDefaults() *SecretsSecretsReadParams {
+func (o *IpamIPRangesDeleteParams) WithDefaults() *IpamIPRangesDeleteParams {
o.SetDefaults()
return o
}
-// SetDefaults hydrates default values in the secrets secrets read params (not the query body).
+// SetDefaults hydrates default values in the ipam ip ranges delete params (not the query body).
//
// All values with no default are reset to their zero value.
-func (o *SecretsSecretsReadParams) SetDefaults() {
+func (o *IpamIPRangesDeleteParams) SetDefaults() {
// no default values defined for this parameter
}
-// WithTimeout adds the timeout to the secrets secrets read params
-func (o *SecretsSecretsReadParams) WithTimeout(timeout time.Duration) *SecretsSecretsReadParams {
+// WithTimeout adds the timeout to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) WithTimeout(timeout time.Duration) *IpamIPRangesDeleteParams {
o.SetTimeout(timeout)
return o
}
-// SetTimeout adds the timeout to the secrets secrets read params
-func (o *SecretsSecretsReadParams) SetTimeout(timeout time.Duration) {
+// SetTimeout adds the timeout to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
-// WithContext adds the context to the secrets secrets read params
-func (o *SecretsSecretsReadParams) WithContext(ctx context.Context) *SecretsSecretsReadParams {
+// WithContext adds the context to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) WithContext(ctx context.Context) *IpamIPRangesDeleteParams {
o.SetContext(ctx)
return o
}
-// SetContext adds the context to the secrets secrets read params
-func (o *SecretsSecretsReadParams) SetContext(ctx context.Context) {
+// SetContext adds the context to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) SetContext(ctx context.Context) {
o.Context = ctx
}
-// WithHTTPClient adds the HTTPClient to the secrets secrets read params
-func (o *SecretsSecretsReadParams) WithHTTPClient(client *http.Client) *SecretsSecretsReadParams {
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) WithHTTPClient(client *http.Client) *IpamIPRangesDeleteParams {
o.SetHTTPClient(client)
return o
}
-// SetHTTPClient adds the HTTPClient to the secrets secrets read params
-func (o *SecretsSecretsReadParams) SetHTTPClient(client *http.Client) {
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
-// WithID adds the id to the secrets secrets read params
-func (o *SecretsSecretsReadParams) WithID(id int64) *SecretsSecretsReadParams {
+// WithID adds the id to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) WithID(id int64) *IpamIPRangesDeleteParams {
o.SetID(id)
return o
}
-// SetID adds the id to the secrets secrets read params
-func (o *SecretsSecretsReadParams) SetID(id int64) {
+// SetID adds the id to the ipam ip ranges delete params
+func (o *IpamIPRangesDeleteParams) SetID(id int64) {
o.ID = id
}
// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsReadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+func (o *IpamIPRangesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_responses.go
similarity index 59%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_responses.go
index ae72f3217..89bd191f7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_delete_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -27,16 +27,16 @@ import (
"github.com/go-openapi/strfmt"
)
-// SecretsSecretsDeleteReader is a Reader for the SecretsSecretsDelete structure.
-type SecretsSecretsDeleteReader struct {
+// IpamIPRangesDeleteReader is a Reader for the IpamIPRangesDelete structure.
+type IpamIPRangesDeleteReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 204:
- result := NewSecretsSecretsDeleteNoContent()
+ result := NewIpamIPRangesDeleteNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -46,23 +46,23 @@ func (o *SecretsSecretsDeleteReader) ReadResponse(response runtime.ClientRespons
}
}
-// NewSecretsSecretsDeleteNoContent creates a SecretsSecretsDeleteNoContent with default headers values
-func NewSecretsSecretsDeleteNoContent() *SecretsSecretsDeleteNoContent {
- return &SecretsSecretsDeleteNoContent{}
+// NewIpamIPRangesDeleteNoContent creates a IpamIPRangesDeleteNoContent with default headers values
+func NewIpamIPRangesDeleteNoContent() *IpamIPRangesDeleteNoContent {
+ return &IpamIPRangesDeleteNoContent{}
}
-/* SecretsSecretsDeleteNoContent describes a response with status code 204, with default header values.
+/* IpamIPRangesDeleteNoContent describes a response with status code 204, with default header values.
-SecretsSecretsDeleteNoContent secrets secrets delete no content
+IpamIPRangesDeleteNoContent ipam Ip ranges delete no content
*/
-type SecretsSecretsDeleteNoContent struct {
+type IpamIPRangesDeleteNoContent struct {
}
-func (o *SecretsSecretsDeleteNoContent) Error() string {
- return fmt.Sprintf("[DELETE /secrets/secrets/{id}/][%d] secretsSecretsDeleteNoContent ", 204)
+func (o *IpamIPRangesDeleteNoContent) Error() string {
+ return fmt.Sprintf("[DELETE /ipam/ip-ranges/{id}/][%d] ipamIpRangesDeleteNoContent ", 204)
}
-func (o *SecretsSecretsDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_parameters.go
new file mode 100644
index 000000000..a9da48a4d
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_parameters.go
@@ -0,0 +1,1296 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewIpamIPRangesListParams creates a new IpamIPRangesListParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesListParams() *IpamIPRangesListParams {
+ return &IpamIPRangesListParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesListParamsWithTimeout creates a new IpamIPRangesListParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesListParamsWithTimeout(timeout time.Duration) *IpamIPRangesListParams {
+ return &IpamIPRangesListParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesListParamsWithContext creates a new IpamIPRangesListParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesListParamsWithContext(ctx context.Context) *IpamIPRangesListParams {
+ return &IpamIPRangesListParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesListParamsWithHTTPClient creates a new IpamIPRangesListParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesListParamsWithHTTPClient(client *http.Client) *IpamIPRangesListParams {
+ return &IpamIPRangesListParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesListParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges list operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesListParams struct {
+
+ // Contains.
+ Contains *string
+
+ // Created.
+ Created *string
+
+ // CreatedGte.
+ CreatedGte *string
+
+ // CreatedLte.
+ CreatedLte *string
+
+ // Family.
+ Family *float64
+
+ // ID.
+ ID *string
+
+ // IDGt.
+ IDGt *string
+
+ // IDGte.
+ IDGte *string
+
+ // IDLt.
+ IDLt *string
+
+ // IDLte.
+ IDLte *string
+
+ // IDn.
+ IDn *string
+
+ // LastUpdated.
+ LastUpdated *string
+
+ // LastUpdatedGte.
+ LastUpdatedGte *string
+
+ // LastUpdatedLte.
+ LastUpdatedLte *string
+
+ /* Limit.
+
+ Number of results to return per page.
+ */
+ Limit *int64
+
+ /* Offset.
+
+ The initial index from which to return the results.
+ */
+ Offset *int64
+
+ // Q.
+ Q *string
+
+ // Role.
+ Role *string
+
+ // Rolen.
+ Rolen *string
+
+ // RoleID.
+ RoleID *string
+
+ // RoleIDn.
+ RoleIDn *string
+
+ // Status.
+ Status *string
+
+ // Statusn.
+ Statusn *string
+
+ // Tag.
+ Tag *string
+
+ // Tagn.
+ Tagn *string
+
+ // Tenant.
+ Tenant *string
+
+ // Tenantn.
+ Tenantn *string
+
+ // TenantGroup.
+ TenantGroup *string
+
+ // TenantGroupn.
+ TenantGroupn *string
+
+ // TenantGroupID.
+ TenantGroupID *string
+
+ // TenantGroupIDn.
+ TenantGroupIDn *string
+
+ // TenantID.
+ TenantID *string
+
+ // TenantIDn.
+ TenantIDn *string
+
+ // Vrf.
+ Vrf *string
+
+ // Vrfn.
+ Vrfn *string
+
+ // VrfID.
+ VrfID *string
+
+ // VrfIDn.
+ VrfIDn *string
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges list params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesListParams) WithDefaults() *IpamIPRangesListParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges list params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesListParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTimeout(timeout time.Duration) *IpamIPRangesListParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithContext(ctx context.Context) *IpamIPRangesListParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithHTTPClient(client *http.Client) *IpamIPRangesListParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithContains adds the contains to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithContains(contains *string) *IpamIPRangesListParams {
+ o.SetContains(contains)
+ return o
+}
+
+// SetContains adds the contains to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetContains(contains *string) {
+ o.Contains = contains
+}
+
+// WithCreated adds the created to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithCreated(created *string) *IpamIPRangesListParams {
+ o.SetCreated(created)
+ return o
+}
+
+// SetCreated adds the created to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetCreated(created *string) {
+ o.Created = created
+}
+
+// WithCreatedGte adds the createdGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithCreatedGte(createdGte *string) *IpamIPRangesListParams {
+ o.SetCreatedGte(createdGte)
+ return o
+}
+
+// SetCreatedGte adds the createdGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetCreatedGte(createdGte *string) {
+ o.CreatedGte = createdGte
+}
+
+// WithCreatedLte adds the createdLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithCreatedLte(createdLte *string) *IpamIPRangesListParams {
+ o.SetCreatedLte(createdLte)
+ return o
+}
+
+// SetCreatedLte adds the createdLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetCreatedLte(createdLte *string) {
+ o.CreatedLte = createdLte
+}
+
+// WithFamily adds the family to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithFamily(family *float64) *IpamIPRangesListParams {
+ o.SetFamily(family)
+ return o
+}
+
+// SetFamily adds the family to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetFamily(family *float64) {
+ o.Family = family
+}
+
+// WithID adds the id to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithID(id *string) *IpamIPRangesListParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetID(id *string) {
+ o.ID = id
+}
+
+// WithIDGt adds the iDGt to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithIDGt(iDGt *string) *IpamIPRangesListParams {
+ o.SetIDGt(iDGt)
+ return o
+}
+
+// SetIDGt adds the idGt to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetIDGt(iDGt *string) {
+ o.IDGt = iDGt
+}
+
+// WithIDGte adds the iDGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithIDGte(iDGte *string) *IpamIPRangesListParams {
+ o.SetIDGte(iDGte)
+ return o
+}
+
+// SetIDGte adds the idGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetIDGte(iDGte *string) {
+ o.IDGte = iDGte
+}
+
+// WithIDLt adds the iDLt to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithIDLt(iDLt *string) *IpamIPRangesListParams {
+ o.SetIDLt(iDLt)
+ return o
+}
+
+// SetIDLt adds the idLt to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetIDLt(iDLt *string) {
+ o.IDLt = iDLt
+}
+
+// WithIDLte adds the iDLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithIDLte(iDLte *string) *IpamIPRangesListParams {
+ o.SetIDLte(iDLte)
+ return o
+}
+
+// SetIDLte adds the idLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetIDLte(iDLte *string) {
+ o.IDLte = iDLte
+}
+
+// WithIDn adds the iDn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithIDn(iDn *string) *IpamIPRangesListParams {
+ o.SetIDn(iDn)
+ return o
+}
+
+// SetIDn adds the idN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetIDn(iDn *string) {
+ o.IDn = iDn
+}
+
+// WithLastUpdated adds the lastUpdated to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithLastUpdated(lastUpdated *string) *IpamIPRangesListParams {
+ o.SetLastUpdated(lastUpdated)
+ return o
+}
+
+// SetLastUpdated adds the lastUpdated to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetLastUpdated(lastUpdated *string) {
+ o.LastUpdated = lastUpdated
+}
+
+// WithLastUpdatedGte adds the lastUpdatedGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithLastUpdatedGte(lastUpdatedGte *string) *IpamIPRangesListParams {
+ o.SetLastUpdatedGte(lastUpdatedGte)
+ return o
+}
+
+// SetLastUpdatedGte adds the lastUpdatedGte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetLastUpdatedGte(lastUpdatedGte *string) {
+ o.LastUpdatedGte = lastUpdatedGte
+}
+
+// WithLastUpdatedLte adds the lastUpdatedLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithLastUpdatedLte(lastUpdatedLte *string) *IpamIPRangesListParams {
+ o.SetLastUpdatedLte(lastUpdatedLte)
+ return o
+}
+
+// SetLastUpdatedLte adds the lastUpdatedLte to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetLastUpdatedLte(lastUpdatedLte *string) {
+ o.LastUpdatedLte = lastUpdatedLte
+}
+
+// WithLimit adds the limit to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithLimit(limit *int64) *IpamIPRangesListParams {
+ o.SetLimit(limit)
+ return o
+}
+
+// SetLimit adds the limit to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetLimit(limit *int64) {
+ o.Limit = limit
+}
+
+// WithOffset adds the offset to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithOffset(offset *int64) *IpamIPRangesListParams {
+ o.SetOffset(offset)
+ return o
+}
+
+// SetOffset adds the offset to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetOffset(offset *int64) {
+ o.Offset = offset
+}
+
+// WithQ adds the q to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithQ(q *string) *IpamIPRangesListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetQ(q *string) {
+ o.Q = q
+}
+
+// WithRole adds the role to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithRole(role *string) *IpamIPRangesListParams {
+ o.SetRole(role)
+ return o
+}
+
+// SetRole adds the role to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetRole(role *string) {
+ o.Role = role
+}
+
+// WithRolen adds the rolen to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithRolen(rolen *string) *IpamIPRangesListParams {
+ o.SetRolen(rolen)
+ return o
+}
+
+// SetRolen adds the roleN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetRolen(rolen *string) {
+ o.Rolen = rolen
+}
+
+// WithRoleID adds the roleID to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithRoleID(roleID *string) *IpamIPRangesListParams {
+ o.SetRoleID(roleID)
+ return o
+}
+
+// SetRoleID adds the roleId to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetRoleID(roleID *string) {
+ o.RoleID = roleID
+}
+
+// WithRoleIDn adds the roleIDn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithRoleIDn(roleIDn *string) *IpamIPRangesListParams {
+ o.SetRoleIDn(roleIDn)
+ return o
+}
+
+// SetRoleIDn adds the roleIdN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetRoleIDn(roleIDn *string) {
+ o.RoleIDn = roleIDn
+}
+
+// WithStatus adds the status to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithStatus(status *string) *IpamIPRangesListParams {
+ o.SetStatus(status)
+ return o
+}
+
+// SetStatus adds the status to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetStatus(status *string) {
+ o.Status = status
+}
+
+// WithStatusn adds the statusn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithStatusn(statusn *string) *IpamIPRangesListParams {
+ o.SetStatusn(statusn)
+ return o
+}
+
+// SetStatusn adds the statusN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetStatusn(statusn *string) {
+ o.Statusn = statusn
+}
+
+// WithTag adds the tag to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTag(tag *string) *IpamIPRangesListParams {
+ o.SetTag(tag)
+ return o
+}
+
+// SetTag adds the tag to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTag(tag *string) {
+ o.Tag = tag
+}
+
+// WithTagn adds the tagn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTagn(tagn *string) *IpamIPRangesListParams {
+ o.SetTagn(tagn)
+ return o
+}
+
+// SetTagn adds the tagN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTagn(tagn *string) {
+ o.Tagn = tagn
+}
+
+// WithTenant adds the tenant to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenant(tenant *string) *IpamIPRangesListParams {
+ o.SetTenant(tenant)
+ return o
+}
+
+// SetTenant adds the tenant to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenant(tenant *string) {
+ o.Tenant = tenant
+}
+
+// WithTenantn adds the tenantn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantn(tenantn *string) *IpamIPRangesListParams {
+ o.SetTenantn(tenantn)
+ return o
+}
+
+// SetTenantn adds the tenantN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantn(tenantn *string) {
+ o.Tenantn = tenantn
+}
+
+// WithTenantGroup adds the tenantGroup to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantGroup(tenantGroup *string) *IpamIPRangesListParams {
+ o.SetTenantGroup(tenantGroup)
+ return o
+}
+
+// SetTenantGroup adds the tenantGroup to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantGroup(tenantGroup *string) {
+ o.TenantGroup = tenantGroup
+}
+
+// WithTenantGroupn adds the tenantGroupn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantGroupn(tenantGroupn *string) *IpamIPRangesListParams {
+ o.SetTenantGroupn(tenantGroupn)
+ return o
+}
+
+// SetTenantGroupn adds the tenantGroupN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantGroupn(tenantGroupn *string) {
+ o.TenantGroupn = tenantGroupn
+}
+
+// WithTenantGroupID adds the tenantGroupID to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantGroupID(tenantGroupID *string) *IpamIPRangesListParams {
+ o.SetTenantGroupID(tenantGroupID)
+ return o
+}
+
+// SetTenantGroupID adds the tenantGroupId to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantGroupID(tenantGroupID *string) {
+ o.TenantGroupID = tenantGroupID
+}
+
+// WithTenantGroupIDn adds the tenantGroupIDn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantGroupIDn(tenantGroupIDn *string) *IpamIPRangesListParams {
+ o.SetTenantGroupIDn(tenantGroupIDn)
+ return o
+}
+
+// SetTenantGroupIDn adds the tenantGroupIdN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantGroupIDn(tenantGroupIDn *string) {
+ o.TenantGroupIDn = tenantGroupIDn
+}
+
+// WithTenantID adds the tenantID to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantID(tenantID *string) *IpamIPRangesListParams {
+ o.SetTenantID(tenantID)
+ return o
+}
+
+// SetTenantID adds the tenantId to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantID(tenantID *string) {
+ o.TenantID = tenantID
+}
+
+// WithTenantIDn adds the tenantIDn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithTenantIDn(tenantIDn *string) *IpamIPRangesListParams {
+ o.SetTenantIDn(tenantIDn)
+ return o
+}
+
+// SetTenantIDn adds the tenantIdN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetTenantIDn(tenantIDn *string) {
+ o.TenantIDn = tenantIDn
+}
+
+// WithVrf adds the vrf to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithVrf(vrf *string) *IpamIPRangesListParams {
+ o.SetVrf(vrf)
+ return o
+}
+
+// SetVrf adds the vrf to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetVrf(vrf *string) {
+ o.Vrf = vrf
+}
+
+// WithVrfn adds the vrfn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithVrfn(vrfn *string) *IpamIPRangesListParams {
+ o.SetVrfn(vrfn)
+ return o
+}
+
+// SetVrfn adds the vrfN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetVrfn(vrfn *string) {
+ o.Vrfn = vrfn
+}
+
+// WithVrfID adds the vrfID to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithVrfID(vrfID *string) *IpamIPRangesListParams {
+ o.SetVrfID(vrfID)
+ return o
+}
+
+// SetVrfID adds the vrfId to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetVrfID(vrfID *string) {
+ o.VrfID = vrfID
+}
+
+// WithVrfIDn adds the vrfIDn to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) WithVrfIDn(vrfIDn *string) *IpamIPRangesListParams {
+ o.SetVrfIDn(vrfIDn)
+ return o
+}
+
+// SetVrfIDn adds the vrfIdN to the ipam ip ranges list params
+func (o *IpamIPRangesListParams) SetVrfIDn(vrfIDn *string) {
+ o.VrfIDn = vrfIDn
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ if o.Contains != nil {
+
+ // query param contains
+ var qrContains string
+
+ if o.Contains != nil {
+ qrContains = *o.Contains
+ }
+ qContains := qrContains
+ if qContains != "" {
+
+ if err := r.SetQueryParam("contains", qContains); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Created != nil {
+
+ // query param created
+ var qrCreated string
+
+ if o.Created != nil {
+ qrCreated = *o.Created
+ }
+ qCreated := qrCreated
+ if qCreated != "" {
+
+ if err := r.SetQueryParam("created", qCreated); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.CreatedGte != nil {
+
+ // query param created__gte
+ var qrCreatedGte string
+
+ if o.CreatedGte != nil {
+ qrCreatedGte = *o.CreatedGte
+ }
+ qCreatedGte := qrCreatedGte
+ if qCreatedGte != "" {
+
+ if err := r.SetQueryParam("created__gte", qCreatedGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.CreatedLte != nil {
+
+ // query param created__lte
+ var qrCreatedLte string
+
+ if o.CreatedLte != nil {
+ qrCreatedLte = *o.CreatedLte
+ }
+ qCreatedLte := qrCreatedLte
+ if qCreatedLte != "" {
+
+ if err := r.SetQueryParam("created__lte", qCreatedLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Family != nil {
+
+ // query param family
+ var qrFamily float64
+
+ if o.Family != nil {
+ qrFamily = *o.Family
+ }
+ qFamily := swag.FormatFloat64(qrFamily)
+ if qFamily != "" {
+
+ if err := r.SetQueryParam("family", qFamily); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ID != nil {
+
+ // query param id
+ var qrID string
+
+ if o.ID != nil {
+ qrID = *o.ID
+ }
+ qID := qrID
+ if qID != "" {
+
+ if err := r.SetQueryParam("id", qID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDGt != nil {
+
+ // query param id__gt
+ var qrIDGt string
+
+ if o.IDGt != nil {
+ qrIDGt = *o.IDGt
+ }
+ qIDGt := qrIDGt
+ if qIDGt != "" {
+
+ if err := r.SetQueryParam("id__gt", qIDGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDGte != nil {
+
+ // query param id__gte
+ var qrIDGte string
+
+ if o.IDGte != nil {
+ qrIDGte = *o.IDGte
+ }
+ qIDGte := qrIDGte
+ if qIDGte != "" {
+
+ if err := r.SetQueryParam("id__gte", qIDGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLt != nil {
+
+ // query param id__lt
+ var qrIDLt string
+
+ if o.IDLt != nil {
+ qrIDLt = *o.IDLt
+ }
+ qIDLt := qrIDLt
+ if qIDLt != "" {
+
+ if err := r.SetQueryParam("id__lt", qIDLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLte != nil {
+
+ // query param id__lte
+ var qrIDLte string
+
+ if o.IDLte != nil {
+ qrIDLte = *o.IDLte
+ }
+ qIDLte := qrIDLte
+ if qIDLte != "" {
+
+ if err := r.SetQueryParam("id__lte", qIDLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDn != nil {
+
+ // query param id__n
+ var qrIDn string
+
+ if o.IDn != nil {
+ qrIDn = *o.IDn
+ }
+ qIDn := qrIDn
+ if qIDn != "" {
+
+ if err := r.SetQueryParam("id__n", qIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LastUpdated != nil {
+
+ // query param last_updated
+ var qrLastUpdated string
+
+ if o.LastUpdated != nil {
+ qrLastUpdated = *o.LastUpdated
+ }
+ qLastUpdated := qrLastUpdated
+ if qLastUpdated != "" {
+
+ if err := r.SetQueryParam("last_updated", qLastUpdated); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LastUpdatedGte != nil {
+
+ // query param last_updated__gte
+ var qrLastUpdatedGte string
+
+ if o.LastUpdatedGte != nil {
+ qrLastUpdatedGte = *o.LastUpdatedGte
+ }
+ qLastUpdatedGte := qrLastUpdatedGte
+ if qLastUpdatedGte != "" {
+
+ if err := r.SetQueryParam("last_updated__gte", qLastUpdatedGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.LastUpdatedLte != nil {
+
+ // query param last_updated__lte
+ var qrLastUpdatedLte string
+
+ if o.LastUpdatedLte != nil {
+ qrLastUpdatedLte = *o.LastUpdatedLte
+ }
+ qLastUpdatedLte := qrLastUpdatedLte
+ if qLastUpdatedLte != "" {
+
+ if err := r.SetQueryParam("last_updated__lte", qLastUpdatedLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Limit != nil {
+
+ // query param limit
+ var qrLimit int64
+
+ if o.Limit != nil {
+ qrLimit = *o.Limit
+ }
+ qLimit := swag.FormatInt64(qrLimit)
+ if qLimit != "" {
+
+ if err := r.SetQueryParam("limit", qLimit); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Offset != nil {
+
+ // query param offset
+ var qrOffset int64
+
+ if o.Offset != nil {
+ qrOffset = *o.Offset
+ }
+ qOffset := swag.FormatInt64(qrOffset)
+ if qOffset != "" {
+
+ if err := r.SetQueryParam("offset", qOffset); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Role != nil {
+
+ // query param role
+ var qrRole string
+
+ if o.Role != nil {
+ qrRole = *o.Role
+ }
+ qRole := qrRole
+ if qRole != "" {
+
+ if err := r.SetQueryParam("role", qRole); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Rolen != nil {
+
+ // query param role__n
+ var qrRolen string
+
+ if o.Rolen != nil {
+ qrRolen = *o.Rolen
+ }
+ qRolen := qrRolen
+ if qRolen != "" {
+
+ if err := r.SetQueryParam("role__n", qRolen); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.RoleID != nil {
+
+ // query param role_id
+ var qrRoleID string
+
+ if o.RoleID != nil {
+ qrRoleID = *o.RoleID
+ }
+ qRoleID := qrRoleID
+ if qRoleID != "" {
+
+ if err := r.SetQueryParam("role_id", qRoleID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.RoleIDn != nil {
+
+ // query param role_id__n
+ var qrRoleIDn string
+
+ if o.RoleIDn != nil {
+ qrRoleIDn = *o.RoleIDn
+ }
+ qRoleIDn := qrRoleIDn
+ if qRoleIDn != "" {
+
+ if err := r.SetQueryParam("role_id__n", qRoleIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Status != nil {
+
+ // query param status
+ var qrStatus string
+
+ if o.Status != nil {
+ qrStatus = *o.Status
+ }
+ qStatus := qrStatus
+ if qStatus != "" {
+
+ if err := r.SetQueryParam("status", qStatus); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Statusn != nil {
+
+ // query param status__n
+ var qrStatusn string
+
+ if o.Statusn != nil {
+ qrStatusn = *o.Statusn
+ }
+ qStatusn := qrStatusn
+ if qStatusn != "" {
+
+ if err := r.SetQueryParam("status__n", qStatusn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Tag != nil {
+
+ // query param tag
+ var qrTag string
+
+ if o.Tag != nil {
+ qrTag = *o.Tag
+ }
+ qTag := qrTag
+ if qTag != "" {
+
+ if err := r.SetQueryParam("tag", qTag); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Tagn != nil {
+
+ // query param tag__n
+ var qrTagn string
+
+ if o.Tagn != nil {
+ qrTagn = *o.Tagn
+ }
+ qTagn := qrTagn
+ if qTagn != "" {
+
+ if err := r.SetQueryParam("tag__n", qTagn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Tenant != nil {
+
+ // query param tenant
+ var qrTenant string
+
+ if o.Tenant != nil {
+ qrTenant = *o.Tenant
+ }
+ qTenant := qrTenant
+ if qTenant != "" {
+
+ if err := r.SetQueryParam("tenant", qTenant); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Tenantn != nil {
+
+ // query param tenant__n
+ var qrTenantn string
+
+ if o.Tenantn != nil {
+ qrTenantn = *o.Tenantn
+ }
+ qTenantn := qrTenantn
+ if qTenantn != "" {
+
+ if err := r.SetQueryParam("tenant__n", qTenantn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantGroup != nil {
+
+ // query param tenant_group
+ var qrTenantGroup string
+
+ if o.TenantGroup != nil {
+ qrTenantGroup = *o.TenantGroup
+ }
+ qTenantGroup := qrTenantGroup
+ if qTenantGroup != "" {
+
+ if err := r.SetQueryParam("tenant_group", qTenantGroup); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantGroupn != nil {
+
+ // query param tenant_group__n
+ var qrTenantGroupn string
+
+ if o.TenantGroupn != nil {
+ qrTenantGroupn = *o.TenantGroupn
+ }
+ qTenantGroupn := qrTenantGroupn
+ if qTenantGroupn != "" {
+
+ if err := r.SetQueryParam("tenant_group__n", qTenantGroupn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantGroupID != nil {
+
+ // query param tenant_group_id
+ var qrTenantGroupID string
+
+ if o.TenantGroupID != nil {
+ qrTenantGroupID = *o.TenantGroupID
+ }
+ qTenantGroupID := qrTenantGroupID
+ if qTenantGroupID != "" {
+
+ if err := r.SetQueryParam("tenant_group_id", qTenantGroupID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantGroupIDn != nil {
+
+ // query param tenant_group_id__n
+ var qrTenantGroupIDn string
+
+ if o.TenantGroupIDn != nil {
+ qrTenantGroupIDn = *o.TenantGroupIDn
+ }
+ qTenantGroupIDn := qrTenantGroupIDn
+ if qTenantGroupIDn != "" {
+
+ if err := r.SetQueryParam("tenant_group_id__n", qTenantGroupIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantID != nil {
+
+ // query param tenant_id
+ var qrTenantID string
+
+ if o.TenantID != nil {
+ qrTenantID = *o.TenantID
+ }
+ qTenantID := qrTenantID
+ if qTenantID != "" {
+
+ if err := r.SetQueryParam("tenant_id", qTenantID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.TenantIDn != nil {
+
+ // query param tenant_id__n
+ var qrTenantIDn string
+
+ if o.TenantIDn != nil {
+ qrTenantIDn = *o.TenantIDn
+ }
+ qTenantIDn := qrTenantIDn
+ if qTenantIDn != "" {
+
+ if err := r.SetQueryParam("tenant_id__n", qTenantIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Vrf != nil {
+
+ // query param vrf
+ var qrVrf string
+
+ if o.Vrf != nil {
+ qrVrf = *o.Vrf
+ }
+ qVrf := qrVrf
+ if qVrf != "" {
+
+ if err := r.SetQueryParam("vrf", qVrf); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Vrfn != nil {
+
+ // query param vrf__n
+ var qrVrfn string
+
+ if o.Vrfn != nil {
+ qrVrfn = *o.Vrfn
+ }
+ qVrfn := qrVrfn
+ if qVrfn != "" {
+
+ if err := r.SetQueryParam("vrf__n", qVrfn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VrfID != nil {
+
+ // query param vrf_id
+ var qrVrfID string
+
+ if o.VrfID != nil {
+ qrVrfID = *o.VrfID
+ }
+ qVrfID := qrVrfID
+ if qVrfID != "" {
+
+ if err := r.SetQueryParam("vrf_id", qVrfID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.VrfIDn != nil {
+
+ // query param vrf_id__n
+ var qrVrfIDn string
+
+ if o.VrfIDn != nil {
+ qrVrfIDn = *o.VrfIDn
+ }
+ qVrfIDn := qrVrfIDn
+ if qVrfIDn != "" {
+
+ if err := r.SetQueryParam("vrf_id__n", qVrfIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_responses.go
similarity index 55%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_responses.go
index 2071b5654..8bd1144a7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_list_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -35,16 +35,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretsListReader is a Reader for the SecretsSecretsList structure.
-type SecretsSecretsListReader struct {
+// IpamIPRangesListReader is a Reader for the IpamIPRangesList structure.
+type IpamIPRangesListReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretsListOK()
+ result := NewIpamIPRangesListOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -54,29 +54,29 @@ func (o *SecretsSecretsListReader) ReadResponse(response runtime.ClientResponse,
}
}
-// NewSecretsSecretsListOK creates a SecretsSecretsListOK with default headers values
-func NewSecretsSecretsListOK() *SecretsSecretsListOK {
- return &SecretsSecretsListOK{}
+// NewIpamIPRangesListOK creates a IpamIPRangesListOK with default headers values
+func NewIpamIPRangesListOK() *IpamIPRangesListOK {
+ return &IpamIPRangesListOK{}
}
-/* SecretsSecretsListOK describes a response with status code 200, with default header values.
+/* IpamIPRangesListOK describes a response with status code 200, with default header values.
-SecretsSecretsListOK secrets secrets list o k
+IpamIPRangesListOK ipam Ip ranges list o k
*/
-type SecretsSecretsListOK struct {
- Payload *SecretsSecretsListOKBody
+type IpamIPRangesListOK struct {
+ Payload *IpamIPRangesListOKBody
}
-func (o *SecretsSecretsListOK) Error() string {
- return fmt.Sprintf("[GET /secrets/secrets/][%d] secretsSecretsListOK %+v", 200, o.Payload)
+func (o *IpamIPRangesListOK) Error() string {
+ return fmt.Sprintf("[GET /ipam/ip-ranges/][%d] ipamIpRangesListOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretsListOK) GetPayload() *SecretsSecretsListOKBody {
+func (o *IpamIPRangesListOK) GetPayload() *IpamIPRangesListOKBody {
return o.Payload
}
-func (o *SecretsSecretsListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(SecretsSecretsListOKBody)
+ o.Payload = new(IpamIPRangesListOKBody)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
@@ -86,10 +86,10 @@ func (o *SecretsSecretsListOK) readResponse(response runtime.ClientResponse, con
return nil
}
-/*SecretsSecretsListOKBody secrets secrets list o k body
-swagger:model SecretsSecretsListOKBody
+/*IpamIPRangesListOKBody ipam IP ranges list o k body
+swagger:model IpamIPRangesListOKBody
*/
-type SecretsSecretsListOKBody struct {
+type IpamIPRangesListOKBody struct {
// count
// Required: true
@@ -105,11 +105,11 @@ type SecretsSecretsListOKBody struct {
// results
// Required: true
- Results []*models.Secret `json:"results"`
+ Results []*models.IPRange `json:"results"`
}
-// Validate validates this secrets secrets list o k body
-func (o *SecretsSecretsListOKBody) Validate(formats strfmt.Registry) error {
+// Validate validates this ipam IP ranges list o k body
+func (o *IpamIPRangesListOKBody) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateCount(formats); err != nil {
@@ -134,42 +134,42 @@ func (o *SecretsSecretsListOKBody) Validate(formats strfmt.Registry) error {
return nil
}
-func (o *SecretsSecretsListOKBody) validateCount(formats strfmt.Registry) error {
+func (o *IpamIPRangesListOKBody) validateCount(formats strfmt.Registry) error {
- if err := validate.Required("secretsSecretsListOK"+"."+"count", "body", o.Count); err != nil {
+ if err := validate.Required("ipamIpRangesListOK"+"."+"count", "body", o.Count); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretsListOKBody) validateNext(formats strfmt.Registry) error {
+func (o *IpamIPRangesListOKBody) validateNext(formats strfmt.Registry) error {
if swag.IsZero(o.Next) { // not required
return nil
}
- if err := validate.FormatOf("secretsSecretsListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
+ if err := validate.FormatOf("ipamIpRangesListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretsListOKBody) validatePrevious(formats strfmt.Registry) error {
+func (o *IpamIPRangesListOKBody) validatePrevious(formats strfmt.Registry) error {
if swag.IsZero(o.Previous) { // not required
return nil
}
- if err := validate.FormatOf("secretsSecretsListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
+ if err := validate.FormatOf("ipamIpRangesListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretsListOKBody) validateResults(formats strfmt.Registry) error {
+func (o *IpamIPRangesListOKBody) validateResults(formats strfmt.Registry) error {
- if err := validate.Required("secretsSecretsListOK"+"."+"results", "body", o.Results); err != nil {
+ if err := validate.Required("ipamIpRangesListOK"+"."+"results", "body", o.Results); err != nil {
return err
}
@@ -181,7 +181,9 @@ func (o *SecretsSecretsListOKBody) validateResults(formats strfmt.Registry) erro
if o.Results[i] != nil {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("secretsSecretsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ return ve.ValidateName("ipamIpRangesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamIpRangesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -192,8 +194,8 @@ func (o *SecretsSecretsListOKBody) validateResults(formats strfmt.Registry) erro
return nil
}
-// ContextValidate validate this secrets secrets list o k body based on the context it is used
-func (o *SecretsSecretsListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this ipam IP ranges list o k body based on the context it is used
+func (o *IpamIPRangesListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateResults(ctx, formats); err != nil {
@@ -206,14 +208,16 @@ func (o *SecretsSecretsListOKBody) ContextValidate(ctx context.Context, formats
return nil
}
-func (o *SecretsSecretsListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
+func (o *IpamIPRangesListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(o.Results); i++ {
if o.Results[i] != nil {
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("secretsSecretsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ return ve.ValidateName("ipamIpRangesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamIpRangesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -225,7 +229,7 @@ func (o *SecretsSecretsListOKBody) contextValidateResults(ctx context.Context, f
}
// MarshalBinary interface implementation
-func (o *SecretsSecretsListOKBody) MarshalBinary() ([]byte, error) {
+func (o *IpamIPRangesListOKBody) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -233,8 +237,8 @@ func (o *SecretsSecretsListOKBody) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *SecretsSecretsListOKBody) UnmarshalBinary(b []byte) error {
- var res SecretsSecretsListOKBody
+func (o *IpamIPRangesListOKBody) UnmarshalBinary(b []byte) error {
+ var res IpamIPRangesListOKBody
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_parameters.go
new file mode 100644
index 000000000..d77e61ef8
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_parameters.go
@@ -0,0 +1,186 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesPartialUpdateParams creates a new IpamIPRangesPartialUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesPartialUpdateParams() *IpamIPRangesPartialUpdateParams {
+ return &IpamIPRangesPartialUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesPartialUpdateParamsWithTimeout creates a new IpamIPRangesPartialUpdateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesPartialUpdateParamsWithTimeout(timeout time.Duration) *IpamIPRangesPartialUpdateParams {
+ return &IpamIPRangesPartialUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesPartialUpdateParamsWithContext creates a new IpamIPRangesPartialUpdateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesPartialUpdateParamsWithContext(ctx context.Context) *IpamIPRangesPartialUpdateParams {
+ return &IpamIPRangesPartialUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesPartialUpdateParamsWithHTTPClient creates a new IpamIPRangesPartialUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesPartialUpdateParamsWithHTTPClient(client *http.Client) *IpamIPRangesPartialUpdateParams {
+ return &IpamIPRangesPartialUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesPartialUpdateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges partial update operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesPartialUpdateParams struct {
+
+ // Data.
+ Data *models.WritableIPRange
+
+ /* ID.
+
+ A unique integer value identifying this IP range.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesPartialUpdateParams) WithDefaults() *IpamIPRangesPartialUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesPartialUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) WithTimeout(timeout time.Duration) *IpamIPRangesPartialUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) WithContext(ctx context.Context) *IpamIPRangesPartialUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) WithHTTPClient(client *http.Client) *IpamIPRangesPartialUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) WithData(data *models.WritableIPRange) *IpamIPRangesPartialUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) SetData(data *models.WritableIPRange) {
+ o.Data = data
+}
+
+// WithID adds the id to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) WithID(id int64) *IpamIPRangesPartialUpdateParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges partial update params
+func (o *IpamIPRangesPartialUpdateParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_responses.go
similarity index 61%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_responses.go
index 7de4a421c..074be8b2d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_partial_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretsCreateReader is a Reader for the SecretsSecretsCreate structure.
-type SecretsSecretsCreateReader struct {
+// IpamIPRangesPartialUpdateReader is a Reader for the IpamIPRangesPartialUpdate structure.
+type IpamIPRangesPartialUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
- case 201:
- result := NewSecretsSecretsCreateCreated()
+ case 200:
+ result := NewIpamIPRangesPartialUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretsCreateReader) ReadResponse(response runtime.ClientRespons
}
}
-// NewSecretsSecretsCreateCreated creates a SecretsSecretsCreateCreated with default headers values
-func NewSecretsSecretsCreateCreated() *SecretsSecretsCreateCreated {
- return &SecretsSecretsCreateCreated{}
+// NewIpamIPRangesPartialUpdateOK creates a IpamIPRangesPartialUpdateOK with default headers values
+func NewIpamIPRangesPartialUpdateOK() *IpamIPRangesPartialUpdateOK {
+ return &IpamIPRangesPartialUpdateOK{}
}
-/* SecretsSecretsCreateCreated describes a response with status code 201, with default header values.
+/* IpamIPRangesPartialUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretsCreateCreated secrets secrets create created
+IpamIPRangesPartialUpdateOK ipam Ip ranges partial update o k
*/
-type SecretsSecretsCreateCreated struct {
- Payload *models.Secret
+type IpamIPRangesPartialUpdateOK struct {
+ Payload *models.IPRange
}
-func (o *SecretsSecretsCreateCreated) Error() string {
- return fmt.Sprintf("[POST /secrets/secrets/][%d] secretsSecretsCreateCreated %+v", 201, o.Payload)
+func (o *IpamIPRangesPartialUpdateOK) Error() string {
+ return fmt.Sprintf("[PATCH /ipam/ip-ranges/{id}/][%d] ipamIpRangesPartialUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretsCreateCreated) GetPayload() *models.Secret {
+func (o *IpamIPRangesPartialUpdateOK) GetPayload() *models.IPRange {
return o.Payload
}
-func (o *SecretsSecretsCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.Secret)
+ o.Payload = new(models.IPRange)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_parameters.go
new file mode 100644
index 000000000..7a49f1d1f
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_parameters.go
@@ -0,0 +1,165 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewIpamIPRangesReadParams creates a new IpamIPRangesReadParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesReadParams() *IpamIPRangesReadParams {
+ return &IpamIPRangesReadParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesReadParamsWithTimeout creates a new IpamIPRangesReadParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesReadParamsWithTimeout(timeout time.Duration) *IpamIPRangesReadParams {
+ return &IpamIPRangesReadParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesReadParamsWithContext creates a new IpamIPRangesReadParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesReadParamsWithContext(ctx context.Context) *IpamIPRangesReadParams {
+ return &IpamIPRangesReadParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesReadParamsWithHTTPClient creates a new IpamIPRangesReadParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesReadParamsWithHTTPClient(client *http.Client) *IpamIPRangesReadParams {
+ return &IpamIPRangesReadParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesReadParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges read operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesReadParams struct {
+
+ /* ID.
+
+ A unique integer value identifying this IP range.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesReadParams) WithDefaults() *IpamIPRangesReadParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesReadParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) WithTimeout(timeout time.Duration) *IpamIPRangesReadParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) WithContext(ctx context.Context) *IpamIPRangesReadParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) WithHTTPClient(client *http.Client) *IpamIPRangesReadParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithID adds the id to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) WithID(id int64) *IpamIPRangesReadParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges read params
+func (o *IpamIPRangesReadParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesReadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_responses.go
similarity index 61%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_responses.go
index f775906a3..82b6ca9b8 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_read_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretsUpdateReader is a Reader for the SecretsSecretsUpdate structure.
-type SecretsSecretsUpdateReader struct {
+// IpamIPRangesReadReader is a Reader for the IpamIPRangesRead structure.
+type IpamIPRangesReadReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesReadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretsUpdateOK()
+ result := NewIpamIPRangesReadOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretsUpdateReader) ReadResponse(response runtime.ClientRespons
}
}
-// NewSecretsSecretsUpdateOK creates a SecretsSecretsUpdateOK with default headers values
-func NewSecretsSecretsUpdateOK() *SecretsSecretsUpdateOK {
- return &SecretsSecretsUpdateOK{}
+// NewIpamIPRangesReadOK creates a IpamIPRangesReadOK with default headers values
+func NewIpamIPRangesReadOK() *IpamIPRangesReadOK {
+ return &IpamIPRangesReadOK{}
}
-/* SecretsSecretsUpdateOK describes a response with status code 200, with default header values.
+/* IpamIPRangesReadOK describes a response with status code 200, with default header values.
-SecretsSecretsUpdateOK secrets secrets update o k
+IpamIPRangesReadOK ipam Ip ranges read o k
*/
-type SecretsSecretsUpdateOK struct {
- Payload *models.Secret
+type IpamIPRangesReadOK struct {
+ Payload *models.IPRange
}
-func (o *SecretsSecretsUpdateOK) Error() string {
- return fmt.Sprintf("[PUT /secrets/secrets/{id}/][%d] secretsSecretsUpdateOK %+v", 200, o.Payload)
+func (o *IpamIPRangesReadOK) Error() string {
+ return fmt.Sprintf("[GET /ipam/ip-ranges/{id}/][%d] ipamIpRangesReadOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretsUpdateOK) GetPayload() *models.Secret {
+func (o *IpamIPRangesReadOK) GetPayload() *models.IPRange {
return o.Payload
}
-func (o *SecretsSecretsUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesReadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.Secret)
+ o.Payload = new(models.IPRange)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_parameters.go
new file mode 100644
index 000000000..81b04bb37
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_parameters.go
@@ -0,0 +1,186 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package ipam
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewIpamIPRangesUpdateParams creates a new IpamIPRangesUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewIpamIPRangesUpdateParams() *IpamIPRangesUpdateParams {
+ return &IpamIPRangesUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewIpamIPRangesUpdateParamsWithTimeout creates a new IpamIPRangesUpdateParams object
+// with the ability to set a timeout on a request.
+func NewIpamIPRangesUpdateParamsWithTimeout(timeout time.Duration) *IpamIPRangesUpdateParams {
+ return &IpamIPRangesUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewIpamIPRangesUpdateParamsWithContext creates a new IpamIPRangesUpdateParams object
+// with the ability to set a context for a request.
+func NewIpamIPRangesUpdateParamsWithContext(ctx context.Context) *IpamIPRangesUpdateParams {
+ return &IpamIPRangesUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewIpamIPRangesUpdateParamsWithHTTPClient creates a new IpamIPRangesUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewIpamIPRangesUpdateParamsWithHTTPClient(client *http.Client) *IpamIPRangesUpdateParams {
+ return &IpamIPRangesUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* IpamIPRangesUpdateParams contains all the parameters to send to the API endpoint
+ for the ipam ip ranges update operation.
+
+ Typically these are written to a http.Request.
+*/
+type IpamIPRangesUpdateParams struct {
+
+ // Data.
+ Data *models.WritableIPRange
+
+ /* ID.
+
+ A unique integer value identifying this IP range.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the ipam ip ranges update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesUpdateParams) WithDefaults() *IpamIPRangesUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the ipam ip ranges update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *IpamIPRangesUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) WithTimeout(timeout time.Duration) *IpamIPRangesUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) WithContext(ctx context.Context) *IpamIPRangesUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) WithHTTPClient(client *http.Client) *IpamIPRangesUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) WithData(data *models.WritableIPRange) *IpamIPRangesUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) SetData(data *models.WritableIPRange) {
+ o.Data = data
+}
+
+// WithID adds the id to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) WithID(id int64) *IpamIPRangesUpdateParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the ipam ip ranges update params
+func (o *IpamIPRangesUpdateParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *IpamIPRangesUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_responses.go
similarity index 69%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_responses.go
index 422ba8962..d19ba26c4 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_read_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_ip_ranges_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package ipam
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretsReadReader is a Reader for the SecretsSecretsRead structure.
-type SecretsSecretsReadReader struct {
+// IpamIPRangesUpdateReader is a Reader for the IpamIPRangesUpdate structure.
+type IpamIPRangesUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsReadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *IpamIPRangesUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretsReadOK()
+ result := NewIpamIPRangesUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretsReadReader) ReadResponse(response runtime.ClientResponse,
}
}
-// NewSecretsSecretsReadOK creates a SecretsSecretsReadOK with default headers values
-func NewSecretsSecretsReadOK() *SecretsSecretsReadOK {
- return &SecretsSecretsReadOK{}
+// NewIpamIPRangesUpdateOK creates a IpamIPRangesUpdateOK with default headers values
+func NewIpamIPRangesUpdateOK() *IpamIPRangesUpdateOK {
+ return &IpamIPRangesUpdateOK{}
}
-/* SecretsSecretsReadOK describes a response with status code 200, with default header values.
+/* IpamIPRangesUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretsReadOK secrets secrets read o k
+IpamIPRangesUpdateOK ipam Ip ranges update o k
*/
-type SecretsSecretsReadOK struct {
- Payload *models.Secret
+type IpamIPRangesUpdateOK struct {
+ Payload *models.IPRange
}
-func (o *SecretsSecretsReadOK) Error() string {
- return fmt.Sprintf("[GET /secrets/secrets/{id}/][%d] secretsSecretsReadOK %+v", 200, o.Payload)
+func (o *IpamIPRangesUpdateOK) Error() string {
+ return fmt.Sprintf("[PUT /ipam/ip-ranges/{id}/][%d] ipamIpRangesUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretsReadOK) GetPayload() *models.Secret {
+func (o *IpamIPRangesUpdateOK) GetPayload() *models.IPRange {
return o.Payload
}
-func (o *SecretsSecretsReadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *IpamIPRangesUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.Secret)
+ o.Payload = new(models.IPRange)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_parameters.go
index 6789e0728..9b5c16b1b 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_parameters.go
@@ -162,8 +162,11 @@ type IpamPrefixesListParams struct {
*/
Limit *int64
+ // MarkUtilized.
+ MarkUtilized *string
+
// MaskLength.
- MaskLength *float64
+ MaskLength *string
// MaskLengthGte.
MaskLengthGte *float64
@@ -661,14 +664,25 @@ func (o *IpamPrefixesListParams) SetLimit(limit *int64) {
o.Limit = limit
}
+// WithMarkUtilized adds the markUtilized to the ipam prefixes list params
+func (o *IpamPrefixesListParams) WithMarkUtilized(markUtilized *string) *IpamPrefixesListParams {
+ o.SetMarkUtilized(markUtilized)
+ return o
+}
+
+// SetMarkUtilized adds the markUtilized to the ipam prefixes list params
+func (o *IpamPrefixesListParams) SetMarkUtilized(markUtilized *string) {
+ o.MarkUtilized = markUtilized
+}
+
// WithMaskLength adds the maskLength to the ipam prefixes list params
-func (o *IpamPrefixesListParams) WithMaskLength(maskLength *float64) *IpamPrefixesListParams {
+func (o *IpamPrefixesListParams) WithMaskLength(maskLength *string) *IpamPrefixesListParams {
o.SetMaskLength(maskLength)
return o
}
// SetMaskLength adds the maskLength to the ipam prefixes list params
-func (o *IpamPrefixesListParams) SetMaskLength(maskLength *float64) {
+func (o *IpamPrefixesListParams) SetMaskLength(maskLength *string) {
o.MaskLength = maskLength
}
@@ -1640,15 +1654,32 @@ func (o *IpamPrefixesListParams) WriteToRequest(r runtime.ClientRequest, reg str
}
}
+ if o.MarkUtilized != nil {
+
+ // query param mark_utilized
+ var qrMarkUtilized string
+
+ if o.MarkUtilized != nil {
+ qrMarkUtilized = *o.MarkUtilized
+ }
+ qMarkUtilized := qrMarkUtilized
+ if qMarkUtilized != "" {
+
+ if err := r.SetQueryParam("mark_utilized", qMarkUtilized); err != nil {
+ return err
+ }
+ }
+ }
+
if o.MaskLength != nil {
// query param mask_length
- var qrMaskLength float64
+ var qrMaskLength string
if o.MaskLength != nil {
qrMaskLength = *o.MaskLength
}
- qMaskLength := swag.FormatFloat64(qrMaskLength)
+ qMaskLength := qrMaskLength
if qMaskLength != "" {
if err := r.SetQueryParam("mask_length", qMaskLength); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_responses.go
index 52fb2d804..a9060c864 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_prefixes_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamPrefixesListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamPrefixesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamPrefixesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamPrefixesListOKBody) contextValidateResults(ctx context.Context, for
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamPrefixesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamPrefixesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_rirs_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_rirs_list_responses.go
index c0ae7fa13..9cf65c370 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_rirs_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_rirs_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamRirsListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRirsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRirsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamRirsListOKBody) contextValidateResults(ctx context.Context, formats
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRirsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRirsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_roles_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_roles_list_responses.go
index 8e37b1829..9304cb24f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_roles_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_roles_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamRolesListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamRolesListOKBody) contextValidateResults(ctx context.Context, format
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_route_targets_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_route_targets_list_responses.go
index 85916d41c..2f4d95535 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_route_targets_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_route_targets_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamRouteTargetsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRouteTargetsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRouteTargetsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamRouteTargetsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamRouteTargetsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamRouteTargetsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_services_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_services_list_responses.go
index d71c04cd9..7fa4c5bfd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_services_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_services_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamServicesListOKBody) validateResults(formats strfmt.Registry) error
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamServicesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamServicesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamServicesListOKBody) contextValidateResults(ctx context.Context, for
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamServicesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamServicesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlan_groups_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlan_groups_list_responses.go
index a4692ddea..8f8314be0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlan_groups_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlan_groups_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamVlanGroupsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVlanGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVlanGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamVlanGroupsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVlanGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVlanGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlans_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlans_list_responses.go
index 39d72dfab..bf550bfae 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlans_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vlans_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamVlansListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVlansListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVlansListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamVlansListOKBody) contextValidateResults(ctx context.Context, format
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVlansListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVlansListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vrfs_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vrfs_list_responses.go
index cd5fc1bbe..5ca41571a 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vrfs_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/ipam/ipam_vrfs_list_responses.go
@@ -182,6 +182,8 @@ func (o *IpamVrfsListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVrfsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVrfsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *IpamVrfsListOKBody) contextValidateResults(ctx context.Context, formats
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipamVrfsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipamVrfsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/net_box_api_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/net_box_api_client.go
index 7d26b660e..e8ee65e26 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/net_box_api_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/net_box_api_client.go
@@ -29,7 +29,6 @@ import (
"github.com/smutel/go-netbox/netbox/client/dcim"
"github.com/smutel/go-netbox/netbox/client/extras"
"github.com/smutel/go-netbox/netbox/client/ipam"
- "github.com/smutel/go-netbox/netbox/client/secrets"
"github.com/smutel/go-netbox/netbox/client/status"
"github.com/smutel/go-netbox/netbox/client/tenancy"
"github.com/smutel/go-netbox/netbox/client/users"
@@ -82,7 +81,6 @@ func New(transport runtime.ClientTransport, formats strfmt.Registry) *NetBoxAPI
cli.Dcim = dcim.New(transport, formats)
cli.Extras = extras.New(transport, formats)
cli.Ipam = ipam.New(transport, formats)
- cli.Secrets = secrets.New(transport, formats)
cli.Status = status.New(transport, formats)
cli.Tenancy = tenancy.New(transport, formats)
cli.Users = users.New(transport, formats)
@@ -139,8 +137,6 @@ type NetBoxAPI struct {
Ipam ipam.ClientService
- Secrets secrets.ClientService
-
Status status.ClientService
Tenancy tenancy.ClientService
@@ -159,7 +155,6 @@ func (c *NetBoxAPI) SetTransport(transport runtime.ClientTransport) {
c.Dcim.SetTransport(transport)
c.Extras.SetTransport(transport)
c.Ipam.SetTransport(transport)
- c.Secrets.SetTransport(transport)
c.Status.SetTransport(transport)
c.Tenancy.SetTransport(transport)
c.Users.SetTransport(transport)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_client.go
deleted file mode 100644
index 64dc447ef..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_client.go
+++ /dev/null
@@ -1,892 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "fmt"
-
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
-)
-
-// New creates a new secrets API client.
-func New(transport runtime.ClientTransport, formats strfmt.Registry) ClientService {
- return &Client{transport: transport, formats: formats}
-}
-
-/*
-Client for secrets API
-*/
-type Client struct {
- transport runtime.ClientTransport
- formats strfmt.Registry
-}
-
-// ClientOption is the option for Client methods
-type ClientOption func(*runtime.ClientOperation)
-
-// ClientService is the interface for Client methods
-type ClientService interface {
- SecretsGenerateRsaKeyPairList(params *SecretsGenerateRsaKeyPairListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsGenerateRsaKeyPairListOK, error)
-
- SecretsGetSessionKeyCreate(params *SecretsGetSessionKeyCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsGetSessionKeyCreateCreated, error)
-
- SecretsSecretRolesBulkDelete(params *SecretsSecretRolesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkDeleteNoContent, error)
-
- SecretsSecretRolesBulkPartialUpdate(params *SecretsSecretRolesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkPartialUpdateOK, error)
-
- SecretsSecretRolesBulkUpdate(params *SecretsSecretRolesBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkUpdateOK, error)
-
- SecretsSecretRolesCreate(params *SecretsSecretRolesCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesCreateCreated, error)
-
- SecretsSecretRolesDelete(params *SecretsSecretRolesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesDeleteNoContent, error)
-
- SecretsSecretRolesList(params *SecretsSecretRolesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesListOK, error)
-
- SecretsSecretRolesPartialUpdate(params *SecretsSecretRolesPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesPartialUpdateOK, error)
-
- SecretsSecretRolesRead(params *SecretsSecretRolesReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesReadOK, error)
-
- SecretsSecretRolesUpdate(params *SecretsSecretRolesUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesUpdateOK, error)
-
- SecretsSecretsBulkDelete(params *SecretsSecretsBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkDeleteNoContent, error)
-
- SecretsSecretsBulkPartialUpdate(params *SecretsSecretsBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkPartialUpdateOK, error)
-
- SecretsSecretsBulkUpdate(params *SecretsSecretsBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkUpdateOK, error)
-
- SecretsSecretsCreate(params *SecretsSecretsCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsCreateCreated, error)
-
- SecretsSecretsDelete(params *SecretsSecretsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsDeleteNoContent, error)
-
- SecretsSecretsList(params *SecretsSecretsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsListOK, error)
-
- SecretsSecretsPartialUpdate(params *SecretsSecretsPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsPartialUpdateOK, error)
-
- SecretsSecretsRead(params *SecretsSecretsReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsReadOK, error)
-
- SecretsSecretsUpdate(params *SecretsSecretsUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsUpdateOK, error)
-
- SetTransport(transport runtime.ClientTransport)
-}
-
-/*
- SecretsGenerateRsaKeyPairList this endpoint can be used to generate a new r s a key pair the keys are returned in p e m format
-
- {
- "public_key": "",
- "private_key": ""
- }
-*/
-func (a *Client) SecretsGenerateRsaKeyPairList(params *SecretsGenerateRsaKeyPairListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsGenerateRsaKeyPairListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsGenerateRsaKeyPairListParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_generate-rsa-key-pair_list",
- Method: "GET",
- PathPattern: "/secrets/generate-rsa-key-pair/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsGenerateRsaKeyPairListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsGenerateRsaKeyPairListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_generate-rsa-key-pair_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsGetSessionKeyCreate Retrieve a temporary session key to use for encrypting and decrypting secrets via the API. The user's private RSA
-key is POSTed with the name `private_key`. An example:
-
- curl -v -X POST -H "Authorization: Token " -H "Accept: application/json; indent=4" \
- --data-urlencode "private_key@" https://netbox/api/secrets/get-session-key/
-
-This request will yield a base64-encoded session key to be included in an `X-Session-Key` header in future requests:
-
- {
- "session_key": "+8t4SI6XikgVmB5+/urhozx9O5qCQANyOk1MNe6taRf="
- }
-
-This endpoint accepts one optional parameter: `preserve_key`. If True and a session key exists, the existing session
-key will be returned instead of a new one.
-*/
-func (a *Client) SecretsGetSessionKeyCreate(params *SecretsGetSessionKeyCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsGetSessionKeyCreateCreated, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsGetSessionKeyCreateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_get-session-key_create",
- Method: "POST",
- PathPattern: "/secrets/get-session-key/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsGetSessionKeyCreateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsGetSessionKeyCreateCreated)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_get-session-key_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesBulkDelete secrets secret roles bulk delete API
-*/
-func (a *Client) SecretsSecretRolesBulkDelete(params *SecretsSecretRolesBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkDeleteNoContent, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesBulkDeleteParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_bulk_delete",
- Method: "DELETE",
- PathPattern: "/secrets/secret-roles/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesBulkDeleteReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesBulkDeleteNoContent)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_bulk_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesBulkPartialUpdate secrets secret roles bulk partial update API
-*/
-func (a *Client) SecretsSecretRolesBulkPartialUpdate(params *SecretsSecretRolesBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkPartialUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesBulkPartialUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_bulk_partial_update",
- Method: "PATCH",
- PathPattern: "/secrets/secret-roles/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesBulkPartialUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesBulkPartialUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_bulk_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesBulkUpdate secrets secret roles bulk update API
-*/
-func (a *Client) SecretsSecretRolesBulkUpdate(params *SecretsSecretRolesBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesBulkUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesBulkUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_bulk_update",
- Method: "PUT",
- PathPattern: "/secrets/secret-roles/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesBulkUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesBulkUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_bulk_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesCreate secrets secret roles create API
-*/
-func (a *Client) SecretsSecretRolesCreate(params *SecretsSecretRolesCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesCreateCreated, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesCreateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_create",
- Method: "POST",
- PathPattern: "/secrets/secret-roles/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesCreateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesCreateCreated)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesDelete secrets secret roles delete API
-*/
-func (a *Client) SecretsSecretRolesDelete(params *SecretsSecretRolesDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesDeleteNoContent, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesDeleteParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_delete",
- Method: "DELETE",
- PathPattern: "/secrets/secret-roles/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesDeleteReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesDeleteNoContent)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesList secrets secret roles list API
-*/
-func (a *Client) SecretsSecretRolesList(params *SecretsSecretRolesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesListParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_list",
- Method: "GET",
- PathPattern: "/secrets/secret-roles/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesPartialUpdate secrets secret roles partial update API
-*/
-func (a *Client) SecretsSecretRolesPartialUpdate(params *SecretsSecretRolesPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesPartialUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesPartialUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_partial_update",
- Method: "PATCH",
- PathPattern: "/secrets/secret-roles/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesPartialUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesPartialUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesRead secrets secret roles read API
-*/
-func (a *Client) SecretsSecretRolesRead(params *SecretsSecretRolesReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesReadOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesReadParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_read",
- Method: "GET",
- PathPattern: "/secrets/secret-roles/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesReadReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesReadOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_read: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretRolesUpdate secrets secret roles update API
-*/
-func (a *Client) SecretsSecretRolesUpdate(params *SecretsSecretRolesUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretRolesUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretRolesUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secret-roles_update",
- Method: "PUT",
- PathPattern: "/secrets/secret-roles/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretRolesUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretRolesUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secret-roles_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsBulkDelete secrets secrets bulk delete API
-*/
-func (a *Client) SecretsSecretsBulkDelete(params *SecretsSecretsBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkDeleteNoContent, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsBulkDeleteParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_bulk_delete",
- Method: "DELETE",
- PathPattern: "/secrets/secrets/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsBulkDeleteReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsBulkDeleteNoContent)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_bulk_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsBulkPartialUpdate secrets secrets bulk partial update API
-*/
-func (a *Client) SecretsSecretsBulkPartialUpdate(params *SecretsSecretsBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkPartialUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsBulkPartialUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_bulk_partial_update",
- Method: "PATCH",
- PathPattern: "/secrets/secrets/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsBulkPartialUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsBulkPartialUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_bulk_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsBulkUpdate secrets secrets bulk update API
-*/
-func (a *Client) SecretsSecretsBulkUpdate(params *SecretsSecretsBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsBulkUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsBulkUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_bulk_update",
- Method: "PUT",
- PathPattern: "/secrets/secrets/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsBulkUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsBulkUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_bulk_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsCreate secrets secrets create API
-*/
-func (a *Client) SecretsSecretsCreate(params *SecretsSecretsCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsCreateCreated, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsCreateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_create",
- Method: "POST",
- PathPattern: "/secrets/secrets/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsCreateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsCreateCreated)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsDelete secrets secrets delete API
-*/
-func (a *Client) SecretsSecretsDelete(params *SecretsSecretsDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsDeleteNoContent, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsDeleteParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_delete",
- Method: "DELETE",
- PathPattern: "/secrets/secrets/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsDeleteReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsDeleteNoContent)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsList secrets secrets list API
-*/
-func (a *Client) SecretsSecretsList(params *SecretsSecretsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsListOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsListParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_list",
- Method: "GET",
- PathPattern: "/secrets/secrets/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsListReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsListOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsPartialUpdate secrets secrets partial update API
-*/
-func (a *Client) SecretsSecretsPartialUpdate(params *SecretsSecretsPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsPartialUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsPartialUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_partial_update",
- Method: "PATCH",
- PathPattern: "/secrets/secrets/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsPartialUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsPartialUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsRead secrets secrets read API
-*/
-func (a *Client) SecretsSecretsRead(params *SecretsSecretsReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsReadOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsReadParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_read",
- Method: "GET",
- PathPattern: "/secrets/secrets/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsReadReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsReadOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_read: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-/*
- SecretsSecretsUpdate secrets secrets update API
-*/
-func (a *Client) SecretsSecretsUpdate(params *SecretsSecretsUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*SecretsSecretsUpdateOK, error) {
- // TODO: Validate the params before sending
- if params == nil {
- params = NewSecretsSecretsUpdateParams()
- }
- op := &runtime.ClientOperation{
- ID: "secrets_secrets_update",
- Method: "PUT",
- PathPattern: "/secrets/secrets/{id}/",
- ProducesMediaTypes: []string{"application/json"},
- ConsumesMediaTypes: []string{"application/json"},
- Schemes: []string{"http"},
- Params: params,
- Reader: &SecretsSecretsUpdateReader{formats: a.formats},
- AuthInfo: authInfo,
- Context: params.Context,
- Client: params.HTTPClient,
- }
- for _, opt := range opts {
- opt(op)
- }
-
- result, err := a.transport.Submit(op)
- if err != nil {
- return nil, err
- }
- success, ok := result.(*SecretsSecretsUpdateOK)
- if ok {
- return success, nil
- }
- // unexpected success response
- // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
- msg := fmt.Sprintf("unexpected success response for secrets_secrets_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
- panic(msg)
-}
-
-// SetTransport changes the transport on the client
-func (a *Client) SetTransport(transport runtime.ClientTransport) {
- a.transport = transport
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_parameters.go
deleted file mode 100644
index 085d2c501..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_generate_rsa_key_pair_list_parameters.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-)
-
-// NewSecretsGenerateRsaKeyPairListParams creates a new SecretsGenerateRsaKeyPairListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsGenerateRsaKeyPairListParams() *SecretsGenerateRsaKeyPairListParams {
- return &SecretsGenerateRsaKeyPairListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsGenerateRsaKeyPairListParamsWithTimeout creates a new SecretsGenerateRsaKeyPairListParams object
-// with the ability to set a timeout on a request.
-func NewSecretsGenerateRsaKeyPairListParamsWithTimeout(timeout time.Duration) *SecretsGenerateRsaKeyPairListParams {
- return &SecretsGenerateRsaKeyPairListParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsGenerateRsaKeyPairListParamsWithContext creates a new SecretsGenerateRsaKeyPairListParams object
-// with the ability to set a context for a request.
-func NewSecretsGenerateRsaKeyPairListParamsWithContext(ctx context.Context) *SecretsGenerateRsaKeyPairListParams {
- return &SecretsGenerateRsaKeyPairListParams{
- Context: ctx,
- }
-}
-
-// NewSecretsGenerateRsaKeyPairListParamsWithHTTPClient creates a new SecretsGenerateRsaKeyPairListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsGenerateRsaKeyPairListParamsWithHTTPClient(client *http.Client) *SecretsGenerateRsaKeyPairListParams {
- return &SecretsGenerateRsaKeyPairListParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsGenerateRsaKeyPairListParams contains all the parameters to send to the API endpoint
- for the secrets generate rsa key pair list operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsGenerateRsaKeyPairListParams struct {
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets generate rsa key pair list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsGenerateRsaKeyPairListParams) WithDefaults() *SecretsGenerateRsaKeyPairListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets generate rsa key pair list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsGenerateRsaKeyPairListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) WithTimeout(timeout time.Duration) *SecretsGenerateRsaKeyPairListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) WithContext(ctx context.Context) *SecretsGenerateRsaKeyPairListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) WithHTTPClient(client *http.Client) *SecretsGenerateRsaKeyPairListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets generate rsa key pair list params
-func (o *SecretsGenerateRsaKeyPairListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsGenerateRsaKeyPairListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_parameters.go
deleted file mode 100644
index 9d5786b94..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_parameters.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-)
-
-// NewSecretsSecretRolesBulkDeleteParams creates a new SecretsSecretRolesBulkDeleteParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesBulkDeleteParams() *SecretsSecretRolesBulkDeleteParams {
- return &SecretsSecretRolesBulkDeleteParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesBulkDeleteParamsWithTimeout creates a new SecretsSecretRolesBulkDeleteParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesBulkDeleteParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesBulkDeleteParams {
- return &SecretsSecretRolesBulkDeleteParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesBulkDeleteParamsWithContext creates a new SecretsSecretRolesBulkDeleteParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesBulkDeleteParamsWithContext(ctx context.Context) *SecretsSecretRolesBulkDeleteParams {
- return &SecretsSecretRolesBulkDeleteParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesBulkDeleteParamsWithHTTPClient creates a new SecretsSecretRolesBulkDeleteParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesBulkDeleteParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesBulkDeleteParams {
- return &SecretsSecretRolesBulkDeleteParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesBulkDeleteParams contains all the parameters to send to the API endpoint
- for the secrets secret roles bulk delete operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesBulkDeleteParams struct {
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles bulk delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkDeleteParams) WithDefaults() *SecretsSecretRolesBulkDeleteParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles bulk delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkDeleteParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesBulkDeleteParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) WithContext(ctx context.Context) *SecretsSecretRolesBulkDeleteParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesBulkDeleteParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles bulk delete params
-func (o *SecretsSecretRolesBulkDeleteParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesBulkDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_responses.go
deleted file mode 100644
index ffaed054f..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_delete_responses.go
+++ /dev/null
@@ -1,68 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "fmt"
-
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
-)
-
-// SecretsSecretRolesBulkDeleteReader is a Reader for the SecretsSecretRolesBulkDelete structure.
-type SecretsSecretRolesBulkDeleteReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesBulkDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 204:
- result := NewSecretsSecretRolesBulkDeleteNoContent()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewSecretsSecretRolesBulkDeleteNoContent creates a SecretsSecretRolesBulkDeleteNoContent with default headers values
-func NewSecretsSecretRolesBulkDeleteNoContent() *SecretsSecretRolesBulkDeleteNoContent {
- return &SecretsSecretRolesBulkDeleteNoContent{}
-}
-
-/* SecretsSecretRolesBulkDeleteNoContent describes a response with status code 204, with default header values.
-
-SecretsSecretRolesBulkDeleteNoContent secrets secret roles bulk delete no content
-*/
-type SecretsSecretRolesBulkDeleteNoContent struct {
-}
-
-func (o *SecretsSecretRolesBulkDeleteNoContent) Error() string {
- return fmt.Sprintf("[DELETE /secrets/secret-roles/][%d] secretsSecretRolesBulkDeleteNoContent ", 204)
-}
-
-func (o *SecretsSecretRolesBulkDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_parameters.go
deleted file mode 100644
index 3c8be55eb..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_partial_update_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretRolesBulkPartialUpdateParams creates a new SecretsSecretRolesBulkPartialUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesBulkPartialUpdateParams() *SecretsSecretRolesBulkPartialUpdateParams {
- return &SecretsSecretRolesBulkPartialUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesBulkPartialUpdateParamsWithTimeout creates a new SecretsSecretRolesBulkPartialUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesBulkPartialUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesBulkPartialUpdateParams {
- return &SecretsSecretRolesBulkPartialUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesBulkPartialUpdateParamsWithContext creates a new SecretsSecretRolesBulkPartialUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesBulkPartialUpdateParamsWithContext(ctx context.Context) *SecretsSecretRolesBulkPartialUpdateParams {
- return &SecretsSecretRolesBulkPartialUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesBulkPartialUpdateParamsWithHTTPClient creates a new SecretsSecretRolesBulkPartialUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesBulkPartialUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesBulkPartialUpdateParams {
- return &SecretsSecretRolesBulkPartialUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesBulkPartialUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secret roles bulk partial update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesBulkPartialUpdateParams struct {
-
- // Data.
- Data *models.SecretRole
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles bulk partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WithDefaults() *SecretsSecretRolesBulkPartialUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles bulk partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkPartialUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesBulkPartialUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WithContext(ctx context.Context) *SecretsSecretRolesBulkPartialUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesBulkPartialUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WithData(data *models.SecretRole) *SecretsSecretRolesBulkPartialUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secret roles bulk partial update params
-func (o *SecretsSecretRolesBulkPartialUpdateParams) SetData(data *models.SecretRole) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesBulkPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_parameters.go
deleted file mode 100644
index 0bf75ba22..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretRolesBulkUpdateParams creates a new SecretsSecretRolesBulkUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesBulkUpdateParams() *SecretsSecretRolesBulkUpdateParams {
- return &SecretsSecretRolesBulkUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesBulkUpdateParamsWithTimeout creates a new SecretsSecretRolesBulkUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesBulkUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesBulkUpdateParams {
- return &SecretsSecretRolesBulkUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesBulkUpdateParamsWithContext creates a new SecretsSecretRolesBulkUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesBulkUpdateParamsWithContext(ctx context.Context) *SecretsSecretRolesBulkUpdateParams {
- return &SecretsSecretRolesBulkUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesBulkUpdateParamsWithHTTPClient creates a new SecretsSecretRolesBulkUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesBulkUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesBulkUpdateParams {
- return &SecretsSecretRolesBulkUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesBulkUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secret roles bulk update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesBulkUpdateParams struct {
-
- // Data.
- Data *models.SecretRole
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles bulk update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkUpdateParams) WithDefaults() *SecretsSecretRolesBulkUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles bulk update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesBulkUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesBulkUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) WithContext(ctx context.Context) *SecretsSecretRolesBulkUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesBulkUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) WithData(data *models.SecretRole) *SecretsSecretRolesBulkUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secret roles bulk update params
-func (o *SecretsSecretRolesBulkUpdateParams) SetData(data *models.SecretRole) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesBulkUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_parameters.go
deleted file mode 100644
index 05976ac19..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_create_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretRolesCreateParams creates a new SecretsSecretRolesCreateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesCreateParams() *SecretsSecretRolesCreateParams {
- return &SecretsSecretRolesCreateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesCreateParamsWithTimeout creates a new SecretsSecretRolesCreateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesCreateParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesCreateParams {
- return &SecretsSecretRolesCreateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesCreateParamsWithContext creates a new SecretsSecretRolesCreateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesCreateParamsWithContext(ctx context.Context) *SecretsSecretRolesCreateParams {
- return &SecretsSecretRolesCreateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesCreateParamsWithHTTPClient creates a new SecretsSecretRolesCreateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesCreateParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesCreateParams {
- return &SecretsSecretRolesCreateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesCreateParams contains all the parameters to send to the API endpoint
- for the secrets secret roles create operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesCreateParams struct {
-
- // Data.
- Data *models.SecretRole
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles create params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesCreateParams) WithDefaults() *SecretsSecretRolesCreateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles create params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesCreateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesCreateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) WithContext(ctx context.Context) *SecretsSecretRolesCreateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesCreateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) WithData(data *models.SecretRole) *SecretsSecretRolesCreateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secret roles create params
-func (o *SecretsSecretRolesCreateParams) SetData(data *models.SecretRole) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_parameters.go
deleted file mode 100644
index 8e4732b1d..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_parameters.go
+++ /dev/null
@@ -1,165 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewSecretsSecretRolesDeleteParams creates a new SecretsSecretRolesDeleteParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesDeleteParams() *SecretsSecretRolesDeleteParams {
- return &SecretsSecretRolesDeleteParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesDeleteParamsWithTimeout creates a new SecretsSecretRolesDeleteParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesDeleteParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesDeleteParams {
- return &SecretsSecretRolesDeleteParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesDeleteParamsWithContext creates a new SecretsSecretRolesDeleteParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesDeleteParamsWithContext(ctx context.Context) *SecretsSecretRolesDeleteParams {
- return &SecretsSecretRolesDeleteParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesDeleteParamsWithHTTPClient creates a new SecretsSecretRolesDeleteParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesDeleteParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesDeleteParams {
- return &SecretsSecretRolesDeleteParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesDeleteParams contains all the parameters to send to the API endpoint
- for the secrets secret roles delete operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesDeleteParams struct {
-
- /* ID.
-
- A unique integer value identifying this secret role.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesDeleteParams) WithDefaults() *SecretsSecretRolesDeleteParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesDeleteParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesDeleteParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) WithContext(ctx context.Context) *SecretsSecretRolesDeleteParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesDeleteParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithID adds the id to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) WithID(id int64) *SecretsSecretRolesDeleteParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secret roles delete params
-func (o *SecretsSecretRolesDeleteParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_parameters.go
deleted file mode 100644
index dce61bae4..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_parameters.go
+++ /dev/null
@@ -1,1296 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewSecretsSecretRolesListParams creates a new SecretsSecretRolesListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesListParams() *SecretsSecretRolesListParams {
- return &SecretsSecretRolesListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesListParamsWithTimeout creates a new SecretsSecretRolesListParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesListParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesListParams {
- return &SecretsSecretRolesListParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesListParamsWithContext creates a new SecretsSecretRolesListParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesListParamsWithContext(ctx context.Context) *SecretsSecretRolesListParams {
- return &SecretsSecretRolesListParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesListParamsWithHTTPClient creates a new SecretsSecretRolesListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesListParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesListParams {
- return &SecretsSecretRolesListParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesListParams contains all the parameters to send to the API endpoint
- for the secrets secret roles list operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesListParams struct {
-
- // Created.
- Created *string
-
- // CreatedGte.
- CreatedGte *string
-
- // CreatedLte.
- CreatedLte *string
-
- // ID.
- ID *string
-
- // IDGt.
- IDGt *string
-
- // IDGte.
- IDGte *string
-
- // IDLt.
- IDLt *string
-
- // IDLte.
- IDLte *string
-
- // IDn.
- IDn *string
-
- // LastUpdated.
- LastUpdated *string
-
- // LastUpdatedGte.
- LastUpdatedGte *string
-
- // LastUpdatedLte.
- LastUpdatedLte *string
-
- /* Limit.
-
- Number of results to return per page.
- */
- Limit *int64
-
- // Name.
- Name *string
-
- // NameEmpty.
- NameEmpty *string
-
- // NameIc.
- NameIc *string
-
- // NameIe.
- NameIe *string
-
- // NameIew.
- NameIew *string
-
- // NameIsw.
- NameIsw *string
-
- // Namen.
- Namen *string
-
- // NameNic.
- NameNic *string
-
- // NameNie.
- NameNie *string
-
- // NameNiew.
- NameNiew *string
-
- // NameNisw.
- NameNisw *string
-
- /* Offset.
-
- The initial index from which to return the results.
- */
- Offset *int64
-
- // Q.
- Q *string
-
- // Slug.
- Slug *string
-
- // SlugEmpty.
- SlugEmpty *string
-
- // SlugIc.
- SlugIc *string
-
- // SlugIe.
- SlugIe *string
-
- // SlugIew.
- SlugIew *string
-
- // SlugIsw.
- SlugIsw *string
-
- // Slugn.
- Slugn *string
-
- // SlugNic.
- SlugNic *string
-
- // SlugNie.
- SlugNie *string
-
- // SlugNiew.
- SlugNiew *string
-
- // SlugNisw.
- SlugNisw *string
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesListParams) WithDefaults() *SecretsSecretRolesListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithContext(ctx context.Context) *SecretsSecretRolesListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithCreated adds the created to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithCreated(created *string) *SecretsSecretRolesListParams {
- o.SetCreated(created)
- return o
-}
-
-// SetCreated adds the created to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetCreated(created *string) {
- o.Created = created
-}
-
-// WithCreatedGte adds the createdGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithCreatedGte(createdGte *string) *SecretsSecretRolesListParams {
- o.SetCreatedGte(createdGte)
- return o
-}
-
-// SetCreatedGte adds the createdGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetCreatedGte(createdGte *string) {
- o.CreatedGte = createdGte
-}
-
-// WithCreatedLte adds the createdLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithCreatedLte(createdLte *string) *SecretsSecretRolesListParams {
- o.SetCreatedLte(createdLte)
- return o
-}
-
-// SetCreatedLte adds the createdLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetCreatedLte(createdLte *string) {
- o.CreatedLte = createdLte
-}
-
-// WithID adds the id to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithID(id *string) *SecretsSecretRolesListParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetID(id *string) {
- o.ID = id
-}
-
-// WithIDGt adds the iDGt to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithIDGt(iDGt *string) *SecretsSecretRolesListParams {
- o.SetIDGt(iDGt)
- return o
-}
-
-// SetIDGt adds the idGt to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetIDGt(iDGt *string) {
- o.IDGt = iDGt
-}
-
-// WithIDGte adds the iDGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithIDGte(iDGte *string) *SecretsSecretRolesListParams {
- o.SetIDGte(iDGte)
- return o
-}
-
-// SetIDGte adds the idGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetIDGte(iDGte *string) {
- o.IDGte = iDGte
-}
-
-// WithIDLt adds the iDLt to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithIDLt(iDLt *string) *SecretsSecretRolesListParams {
- o.SetIDLt(iDLt)
- return o
-}
-
-// SetIDLt adds the idLt to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetIDLt(iDLt *string) {
- o.IDLt = iDLt
-}
-
-// WithIDLte adds the iDLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithIDLte(iDLte *string) *SecretsSecretRolesListParams {
- o.SetIDLte(iDLte)
- return o
-}
-
-// SetIDLte adds the idLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetIDLte(iDLte *string) {
- o.IDLte = iDLte
-}
-
-// WithIDn adds the iDn to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithIDn(iDn *string) *SecretsSecretRolesListParams {
- o.SetIDn(iDn)
- return o
-}
-
-// SetIDn adds the idN to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetIDn(iDn *string) {
- o.IDn = iDn
-}
-
-// WithLastUpdated adds the lastUpdated to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithLastUpdated(lastUpdated *string) *SecretsSecretRolesListParams {
- o.SetLastUpdated(lastUpdated)
- return o
-}
-
-// SetLastUpdated adds the lastUpdated to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetLastUpdated(lastUpdated *string) {
- o.LastUpdated = lastUpdated
-}
-
-// WithLastUpdatedGte adds the lastUpdatedGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithLastUpdatedGte(lastUpdatedGte *string) *SecretsSecretRolesListParams {
- o.SetLastUpdatedGte(lastUpdatedGte)
- return o
-}
-
-// SetLastUpdatedGte adds the lastUpdatedGte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetLastUpdatedGte(lastUpdatedGte *string) {
- o.LastUpdatedGte = lastUpdatedGte
-}
-
-// WithLastUpdatedLte adds the lastUpdatedLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithLastUpdatedLte(lastUpdatedLte *string) *SecretsSecretRolesListParams {
- o.SetLastUpdatedLte(lastUpdatedLte)
- return o
-}
-
-// SetLastUpdatedLte adds the lastUpdatedLte to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetLastUpdatedLte(lastUpdatedLte *string) {
- o.LastUpdatedLte = lastUpdatedLte
-}
-
-// WithLimit adds the limit to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithLimit(limit *int64) *SecretsSecretRolesListParams {
- o.SetLimit(limit)
- return o
-}
-
-// SetLimit adds the limit to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetLimit(limit *int64) {
- o.Limit = limit
-}
-
-// WithName adds the name to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithName(name *string) *SecretsSecretRolesListParams {
- o.SetName(name)
- return o
-}
-
-// SetName adds the name to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetName(name *string) {
- o.Name = name
-}
-
-// WithNameEmpty adds the nameEmpty to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameEmpty(nameEmpty *string) *SecretsSecretRolesListParams {
- o.SetNameEmpty(nameEmpty)
- return o
-}
-
-// SetNameEmpty adds the nameEmpty to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameEmpty(nameEmpty *string) {
- o.NameEmpty = nameEmpty
-}
-
-// WithNameIc adds the nameIc to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameIc(nameIc *string) *SecretsSecretRolesListParams {
- o.SetNameIc(nameIc)
- return o
-}
-
-// SetNameIc adds the nameIc to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameIc(nameIc *string) {
- o.NameIc = nameIc
-}
-
-// WithNameIe adds the nameIe to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameIe(nameIe *string) *SecretsSecretRolesListParams {
- o.SetNameIe(nameIe)
- return o
-}
-
-// SetNameIe adds the nameIe to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameIe(nameIe *string) {
- o.NameIe = nameIe
-}
-
-// WithNameIew adds the nameIew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameIew(nameIew *string) *SecretsSecretRolesListParams {
- o.SetNameIew(nameIew)
- return o
-}
-
-// SetNameIew adds the nameIew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameIew(nameIew *string) {
- o.NameIew = nameIew
-}
-
-// WithNameIsw adds the nameIsw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameIsw(nameIsw *string) *SecretsSecretRolesListParams {
- o.SetNameIsw(nameIsw)
- return o
-}
-
-// SetNameIsw adds the nameIsw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameIsw(nameIsw *string) {
- o.NameIsw = nameIsw
-}
-
-// WithNamen adds the namen to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNamen(namen *string) *SecretsSecretRolesListParams {
- o.SetNamen(namen)
- return o
-}
-
-// SetNamen adds the nameN to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNamen(namen *string) {
- o.Namen = namen
-}
-
-// WithNameNic adds the nameNic to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameNic(nameNic *string) *SecretsSecretRolesListParams {
- o.SetNameNic(nameNic)
- return o
-}
-
-// SetNameNic adds the nameNic to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameNic(nameNic *string) {
- o.NameNic = nameNic
-}
-
-// WithNameNie adds the nameNie to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameNie(nameNie *string) *SecretsSecretRolesListParams {
- o.SetNameNie(nameNie)
- return o
-}
-
-// SetNameNie adds the nameNie to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameNie(nameNie *string) {
- o.NameNie = nameNie
-}
-
-// WithNameNiew adds the nameNiew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameNiew(nameNiew *string) *SecretsSecretRolesListParams {
- o.SetNameNiew(nameNiew)
- return o
-}
-
-// SetNameNiew adds the nameNiew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameNiew(nameNiew *string) {
- o.NameNiew = nameNiew
-}
-
-// WithNameNisw adds the nameNisw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithNameNisw(nameNisw *string) *SecretsSecretRolesListParams {
- o.SetNameNisw(nameNisw)
- return o
-}
-
-// SetNameNisw adds the nameNisw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetNameNisw(nameNisw *string) {
- o.NameNisw = nameNisw
-}
-
-// WithOffset adds the offset to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithOffset(offset *int64) *SecretsSecretRolesListParams {
- o.SetOffset(offset)
- return o
-}
-
-// SetOffset adds the offset to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetOffset(offset *int64) {
- o.Offset = offset
-}
-
-// WithQ adds the q to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithQ(q *string) *SecretsSecretRolesListParams {
- o.SetQ(q)
- return o
-}
-
-// SetQ adds the q to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetQ(q *string) {
- o.Q = q
-}
-
-// WithSlug adds the slug to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlug(slug *string) *SecretsSecretRolesListParams {
- o.SetSlug(slug)
- return o
-}
-
-// SetSlug adds the slug to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlug(slug *string) {
- o.Slug = slug
-}
-
-// WithSlugEmpty adds the slugEmpty to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugEmpty(slugEmpty *string) *SecretsSecretRolesListParams {
- o.SetSlugEmpty(slugEmpty)
- return o
-}
-
-// SetSlugEmpty adds the slugEmpty to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugEmpty(slugEmpty *string) {
- o.SlugEmpty = slugEmpty
-}
-
-// WithSlugIc adds the slugIc to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugIc(slugIc *string) *SecretsSecretRolesListParams {
- o.SetSlugIc(slugIc)
- return o
-}
-
-// SetSlugIc adds the slugIc to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugIc(slugIc *string) {
- o.SlugIc = slugIc
-}
-
-// WithSlugIe adds the slugIe to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugIe(slugIe *string) *SecretsSecretRolesListParams {
- o.SetSlugIe(slugIe)
- return o
-}
-
-// SetSlugIe adds the slugIe to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugIe(slugIe *string) {
- o.SlugIe = slugIe
-}
-
-// WithSlugIew adds the slugIew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugIew(slugIew *string) *SecretsSecretRolesListParams {
- o.SetSlugIew(slugIew)
- return o
-}
-
-// SetSlugIew adds the slugIew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugIew(slugIew *string) {
- o.SlugIew = slugIew
-}
-
-// WithSlugIsw adds the slugIsw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugIsw(slugIsw *string) *SecretsSecretRolesListParams {
- o.SetSlugIsw(slugIsw)
- return o
-}
-
-// SetSlugIsw adds the slugIsw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugIsw(slugIsw *string) {
- o.SlugIsw = slugIsw
-}
-
-// WithSlugn adds the slugn to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugn(slugn *string) *SecretsSecretRolesListParams {
- o.SetSlugn(slugn)
- return o
-}
-
-// SetSlugn adds the slugN to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugn(slugn *string) {
- o.Slugn = slugn
-}
-
-// WithSlugNic adds the slugNic to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugNic(slugNic *string) *SecretsSecretRolesListParams {
- o.SetSlugNic(slugNic)
- return o
-}
-
-// SetSlugNic adds the slugNic to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugNic(slugNic *string) {
- o.SlugNic = slugNic
-}
-
-// WithSlugNie adds the slugNie to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugNie(slugNie *string) *SecretsSecretRolesListParams {
- o.SetSlugNie(slugNie)
- return o
-}
-
-// SetSlugNie adds the slugNie to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugNie(slugNie *string) {
- o.SlugNie = slugNie
-}
-
-// WithSlugNiew adds the slugNiew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugNiew(slugNiew *string) *SecretsSecretRolesListParams {
- o.SetSlugNiew(slugNiew)
- return o
-}
-
-// SetSlugNiew adds the slugNiew to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugNiew(slugNiew *string) {
- o.SlugNiew = slugNiew
-}
-
-// WithSlugNisw adds the slugNisw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) WithSlugNisw(slugNisw *string) *SecretsSecretRolesListParams {
- o.SetSlugNisw(slugNisw)
- return o
-}
-
-// SetSlugNisw adds the slugNisw to the secrets secret roles list params
-func (o *SecretsSecretRolesListParams) SetSlugNisw(slugNisw *string) {
- o.SlugNisw = slugNisw
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if o.Created != nil {
-
- // query param created
- var qrCreated string
-
- if o.Created != nil {
- qrCreated = *o.Created
- }
- qCreated := qrCreated
- if qCreated != "" {
-
- if err := r.SetQueryParam("created", qCreated); err != nil {
- return err
- }
- }
- }
-
- if o.CreatedGte != nil {
-
- // query param created__gte
- var qrCreatedGte string
-
- if o.CreatedGte != nil {
- qrCreatedGte = *o.CreatedGte
- }
- qCreatedGte := qrCreatedGte
- if qCreatedGte != "" {
-
- if err := r.SetQueryParam("created__gte", qCreatedGte); err != nil {
- return err
- }
- }
- }
-
- if o.CreatedLte != nil {
-
- // query param created__lte
- var qrCreatedLte string
-
- if o.CreatedLte != nil {
- qrCreatedLte = *o.CreatedLte
- }
- qCreatedLte := qrCreatedLte
- if qCreatedLte != "" {
-
- if err := r.SetQueryParam("created__lte", qCreatedLte); err != nil {
- return err
- }
- }
- }
-
- if o.ID != nil {
-
- // query param id
- var qrID string
-
- if o.ID != nil {
- qrID = *o.ID
- }
- qID := qrID
- if qID != "" {
-
- if err := r.SetQueryParam("id", qID); err != nil {
- return err
- }
- }
- }
-
- if o.IDGt != nil {
-
- // query param id__gt
- var qrIDGt string
-
- if o.IDGt != nil {
- qrIDGt = *o.IDGt
- }
- qIDGt := qrIDGt
- if qIDGt != "" {
-
- if err := r.SetQueryParam("id__gt", qIDGt); err != nil {
- return err
- }
- }
- }
-
- if o.IDGte != nil {
-
- // query param id__gte
- var qrIDGte string
-
- if o.IDGte != nil {
- qrIDGte = *o.IDGte
- }
- qIDGte := qrIDGte
- if qIDGte != "" {
-
- if err := r.SetQueryParam("id__gte", qIDGte); err != nil {
- return err
- }
- }
- }
-
- if o.IDLt != nil {
-
- // query param id__lt
- var qrIDLt string
-
- if o.IDLt != nil {
- qrIDLt = *o.IDLt
- }
- qIDLt := qrIDLt
- if qIDLt != "" {
-
- if err := r.SetQueryParam("id__lt", qIDLt); err != nil {
- return err
- }
- }
- }
-
- if o.IDLte != nil {
-
- // query param id__lte
- var qrIDLte string
-
- if o.IDLte != nil {
- qrIDLte = *o.IDLte
- }
- qIDLte := qrIDLte
- if qIDLte != "" {
-
- if err := r.SetQueryParam("id__lte", qIDLte); err != nil {
- return err
- }
- }
- }
-
- if o.IDn != nil {
-
- // query param id__n
- var qrIDn string
-
- if o.IDn != nil {
- qrIDn = *o.IDn
- }
- qIDn := qrIDn
- if qIDn != "" {
-
- if err := r.SetQueryParam("id__n", qIDn); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdated != nil {
-
- // query param last_updated
- var qrLastUpdated string
-
- if o.LastUpdated != nil {
- qrLastUpdated = *o.LastUpdated
- }
- qLastUpdated := qrLastUpdated
- if qLastUpdated != "" {
-
- if err := r.SetQueryParam("last_updated", qLastUpdated); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdatedGte != nil {
-
- // query param last_updated__gte
- var qrLastUpdatedGte string
-
- if o.LastUpdatedGte != nil {
- qrLastUpdatedGte = *o.LastUpdatedGte
- }
- qLastUpdatedGte := qrLastUpdatedGte
- if qLastUpdatedGte != "" {
-
- if err := r.SetQueryParam("last_updated__gte", qLastUpdatedGte); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdatedLte != nil {
-
- // query param last_updated__lte
- var qrLastUpdatedLte string
-
- if o.LastUpdatedLte != nil {
- qrLastUpdatedLte = *o.LastUpdatedLte
- }
- qLastUpdatedLte := qrLastUpdatedLte
- if qLastUpdatedLte != "" {
-
- if err := r.SetQueryParam("last_updated__lte", qLastUpdatedLte); err != nil {
- return err
- }
- }
- }
-
- if o.Limit != nil {
-
- // query param limit
- var qrLimit int64
-
- if o.Limit != nil {
- qrLimit = *o.Limit
- }
- qLimit := swag.FormatInt64(qrLimit)
- if qLimit != "" {
-
- if err := r.SetQueryParam("limit", qLimit); err != nil {
- return err
- }
- }
- }
-
- if o.Name != nil {
-
- // query param name
- var qrName string
-
- if o.Name != nil {
- qrName = *o.Name
- }
- qName := qrName
- if qName != "" {
-
- if err := r.SetQueryParam("name", qName); err != nil {
- return err
- }
- }
- }
-
- if o.NameEmpty != nil {
-
- // query param name__empty
- var qrNameEmpty string
-
- if o.NameEmpty != nil {
- qrNameEmpty = *o.NameEmpty
- }
- qNameEmpty := qrNameEmpty
- if qNameEmpty != "" {
-
- if err := r.SetQueryParam("name__empty", qNameEmpty); err != nil {
- return err
- }
- }
- }
-
- if o.NameIc != nil {
-
- // query param name__ic
- var qrNameIc string
-
- if o.NameIc != nil {
- qrNameIc = *o.NameIc
- }
- qNameIc := qrNameIc
- if qNameIc != "" {
-
- if err := r.SetQueryParam("name__ic", qNameIc); err != nil {
- return err
- }
- }
- }
-
- if o.NameIe != nil {
-
- // query param name__ie
- var qrNameIe string
-
- if o.NameIe != nil {
- qrNameIe = *o.NameIe
- }
- qNameIe := qrNameIe
- if qNameIe != "" {
-
- if err := r.SetQueryParam("name__ie", qNameIe); err != nil {
- return err
- }
- }
- }
-
- if o.NameIew != nil {
-
- // query param name__iew
- var qrNameIew string
-
- if o.NameIew != nil {
- qrNameIew = *o.NameIew
- }
- qNameIew := qrNameIew
- if qNameIew != "" {
-
- if err := r.SetQueryParam("name__iew", qNameIew); err != nil {
- return err
- }
- }
- }
-
- if o.NameIsw != nil {
-
- // query param name__isw
- var qrNameIsw string
-
- if o.NameIsw != nil {
- qrNameIsw = *o.NameIsw
- }
- qNameIsw := qrNameIsw
- if qNameIsw != "" {
-
- if err := r.SetQueryParam("name__isw", qNameIsw); err != nil {
- return err
- }
- }
- }
-
- if o.Namen != nil {
-
- // query param name__n
- var qrNamen string
-
- if o.Namen != nil {
- qrNamen = *o.Namen
- }
- qNamen := qrNamen
- if qNamen != "" {
-
- if err := r.SetQueryParam("name__n", qNamen); err != nil {
- return err
- }
- }
- }
-
- if o.NameNic != nil {
-
- // query param name__nic
- var qrNameNic string
-
- if o.NameNic != nil {
- qrNameNic = *o.NameNic
- }
- qNameNic := qrNameNic
- if qNameNic != "" {
-
- if err := r.SetQueryParam("name__nic", qNameNic); err != nil {
- return err
- }
- }
- }
-
- if o.NameNie != nil {
-
- // query param name__nie
- var qrNameNie string
-
- if o.NameNie != nil {
- qrNameNie = *o.NameNie
- }
- qNameNie := qrNameNie
- if qNameNie != "" {
-
- if err := r.SetQueryParam("name__nie", qNameNie); err != nil {
- return err
- }
- }
- }
-
- if o.NameNiew != nil {
-
- // query param name__niew
- var qrNameNiew string
-
- if o.NameNiew != nil {
- qrNameNiew = *o.NameNiew
- }
- qNameNiew := qrNameNiew
- if qNameNiew != "" {
-
- if err := r.SetQueryParam("name__niew", qNameNiew); err != nil {
- return err
- }
- }
- }
-
- if o.NameNisw != nil {
-
- // query param name__nisw
- var qrNameNisw string
-
- if o.NameNisw != nil {
- qrNameNisw = *o.NameNisw
- }
- qNameNisw := qrNameNisw
- if qNameNisw != "" {
-
- if err := r.SetQueryParam("name__nisw", qNameNisw); err != nil {
- return err
- }
- }
- }
-
- if o.Offset != nil {
-
- // query param offset
- var qrOffset int64
-
- if o.Offset != nil {
- qrOffset = *o.Offset
- }
- qOffset := swag.FormatInt64(qrOffset)
- if qOffset != "" {
-
- if err := r.SetQueryParam("offset", qOffset); err != nil {
- return err
- }
- }
- }
-
- if o.Q != nil {
-
- // query param q
- var qrQ string
-
- if o.Q != nil {
- qrQ = *o.Q
- }
- qQ := qrQ
- if qQ != "" {
-
- if err := r.SetQueryParam("q", qQ); err != nil {
- return err
- }
- }
- }
-
- if o.Slug != nil {
-
- // query param slug
- var qrSlug string
-
- if o.Slug != nil {
- qrSlug = *o.Slug
- }
- qSlug := qrSlug
- if qSlug != "" {
-
- if err := r.SetQueryParam("slug", qSlug); err != nil {
- return err
- }
- }
- }
-
- if o.SlugEmpty != nil {
-
- // query param slug__empty
- var qrSlugEmpty string
-
- if o.SlugEmpty != nil {
- qrSlugEmpty = *o.SlugEmpty
- }
- qSlugEmpty := qrSlugEmpty
- if qSlugEmpty != "" {
-
- if err := r.SetQueryParam("slug__empty", qSlugEmpty); err != nil {
- return err
- }
- }
- }
-
- if o.SlugIc != nil {
-
- // query param slug__ic
- var qrSlugIc string
-
- if o.SlugIc != nil {
- qrSlugIc = *o.SlugIc
- }
- qSlugIc := qrSlugIc
- if qSlugIc != "" {
-
- if err := r.SetQueryParam("slug__ic", qSlugIc); err != nil {
- return err
- }
- }
- }
-
- if o.SlugIe != nil {
-
- // query param slug__ie
- var qrSlugIe string
-
- if o.SlugIe != nil {
- qrSlugIe = *o.SlugIe
- }
- qSlugIe := qrSlugIe
- if qSlugIe != "" {
-
- if err := r.SetQueryParam("slug__ie", qSlugIe); err != nil {
- return err
- }
- }
- }
-
- if o.SlugIew != nil {
-
- // query param slug__iew
- var qrSlugIew string
-
- if o.SlugIew != nil {
- qrSlugIew = *o.SlugIew
- }
- qSlugIew := qrSlugIew
- if qSlugIew != "" {
-
- if err := r.SetQueryParam("slug__iew", qSlugIew); err != nil {
- return err
- }
- }
- }
-
- if o.SlugIsw != nil {
-
- // query param slug__isw
- var qrSlugIsw string
-
- if o.SlugIsw != nil {
- qrSlugIsw = *o.SlugIsw
- }
- qSlugIsw := qrSlugIsw
- if qSlugIsw != "" {
-
- if err := r.SetQueryParam("slug__isw", qSlugIsw); err != nil {
- return err
- }
- }
- }
-
- if o.Slugn != nil {
-
- // query param slug__n
- var qrSlugn string
-
- if o.Slugn != nil {
- qrSlugn = *o.Slugn
- }
- qSlugn := qrSlugn
- if qSlugn != "" {
-
- if err := r.SetQueryParam("slug__n", qSlugn); err != nil {
- return err
- }
- }
- }
-
- if o.SlugNic != nil {
-
- // query param slug__nic
- var qrSlugNic string
-
- if o.SlugNic != nil {
- qrSlugNic = *o.SlugNic
- }
- qSlugNic := qrSlugNic
- if qSlugNic != "" {
-
- if err := r.SetQueryParam("slug__nic", qSlugNic); err != nil {
- return err
- }
- }
- }
-
- if o.SlugNie != nil {
-
- // query param slug__nie
- var qrSlugNie string
-
- if o.SlugNie != nil {
- qrSlugNie = *o.SlugNie
- }
- qSlugNie := qrSlugNie
- if qSlugNie != "" {
-
- if err := r.SetQueryParam("slug__nie", qSlugNie); err != nil {
- return err
- }
- }
- }
-
- if o.SlugNiew != nil {
-
- // query param slug__niew
- var qrSlugNiew string
-
- if o.SlugNiew != nil {
- qrSlugNiew = *o.SlugNiew
- }
- qSlugNiew := qrSlugNiew
- if qSlugNiew != "" {
-
- if err := r.SetQueryParam("slug__niew", qSlugNiew); err != nil {
- return err
- }
- }
- }
-
- if o.SlugNisw != nil {
-
- // query param slug__nisw
- var qrSlugNisw string
-
- if o.SlugNisw != nil {
- qrSlugNisw = *o.SlugNisw
- }
- qSlugNisw := qrSlugNisw
- if qSlugNisw != "" {
-
- if err := r.SetQueryParam("slug__nisw", qSlugNisw); err != nil {
- return err
- }
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_parameters.go
deleted file mode 100644
index 4c4ed5c82..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_parameters.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretRolesPartialUpdateParams creates a new SecretsSecretRolesPartialUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesPartialUpdateParams() *SecretsSecretRolesPartialUpdateParams {
- return &SecretsSecretRolesPartialUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesPartialUpdateParamsWithTimeout creates a new SecretsSecretRolesPartialUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesPartialUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesPartialUpdateParams {
- return &SecretsSecretRolesPartialUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesPartialUpdateParamsWithContext creates a new SecretsSecretRolesPartialUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesPartialUpdateParamsWithContext(ctx context.Context) *SecretsSecretRolesPartialUpdateParams {
- return &SecretsSecretRolesPartialUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesPartialUpdateParamsWithHTTPClient creates a new SecretsSecretRolesPartialUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesPartialUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesPartialUpdateParams {
- return &SecretsSecretRolesPartialUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesPartialUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secret roles partial update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesPartialUpdateParams struct {
-
- // Data.
- Data *models.SecretRole
-
- /* ID.
-
- A unique integer value identifying this secret role.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesPartialUpdateParams) WithDefaults() *SecretsSecretRolesPartialUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesPartialUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesPartialUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) WithContext(ctx context.Context) *SecretsSecretRolesPartialUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesPartialUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) WithData(data *models.SecretRole) *SecretsSecretRolesPartialUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) SetData(data *models.SecretRole) {
- o.Data = data
-}
-
-// WithID adds the id to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) WithID(id int64) *SecretsSecretRolesPartialUpdateParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secret roles partial update params
-func (o *SecretsSecretRolesPartialUpdateParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_responses.go
deleted file mode 100644
index 8bf1d2983..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_partial_update_responses.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "fmt"
- "io"
-
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// SecretsSecretRolesPartialUpdateReader is a Reader for the SecretsSecretRolesPartialUpdate structure.
-type SecretsSecretRolesPartialUpdateReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewSecretsSecretRolesPartialUpdateOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewSecretsSecretRolesPartialUpdateOK creates a SecretsSecretRolesPartialUpdateOK with default headers values
-func NewSecretsSecretRolesPartialUpdateOK() *SecretsSecretRolesPartialUpdateOK {
- return &SecretsSecretRolesPartialUpdateOK{}
-}
-
-/* SecretsSecretRolesPartialUpdateOK describes a response with status code 200, with default header values.
-
-SecretsSecretRolesPartialUpdateOK secrets secret roles partial update o k
-*/
-type SecretsSecretRolesPartialUpdateOK struct {
- Payload *models.SecretRole
-}
-
-func (o *SecretsSecretRolesPartialUpdateOK) Error() string {
- return fmt.Sprintf("[PATCH /secrets/secret-roles/{id}/][%d] secretsSecretRolesPartialUpdateOK %+v", 200, o.Payload)
-}
-func (o *SecretsSecretRolesPartialUpdateOK) GetPayload() *models.SecretRole {
- return o.Payload
-}
-
-func (o *SecretsSecretRolesPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(models.SecretRole)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_parameters.go
deleted file mode 100644
index 145bdc326..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_read_parameters.go
+++ /dev/null
@@ -1,165 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewSecretsSecretRolesReadParams creates a new SecretsSecretRolesReadParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesReadParams() *SecretsSecretRolesReadParams {
- return &SecretsSecretRolesReadParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesReadParamsWithTimeout creates a new SecretsSecretRolesReadParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesReadParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesReadParams {
- return &SecretsSecretRolesReadParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesReadParamsWithContext creates a new SecretsSecretRolesReadParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesReadParamsWithContext(ctx context.Context) *SecretsSecretRolesReadParams {
- return &SecretsSecretRolesReadParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesReadParamsWithHTTPClient creates a new SecretsSecretRolesReadParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesReadParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesReadParams {
- return &SecretsSecretRolesReadParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesReadParams contains all the parameters to send to the API endpoint
- for the secrets secret roles read operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesReadParams struct {
-
- /* ID.
-
- A unique integer value identifying this secret role.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles read params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesReadParams) WithDefaults() *SecretsSecretRolesReadParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles read params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesReadParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesReadParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) WithContext(ctx context.Context) *SecretsSecretRolesReadParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesReadParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithID adds the id to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) WithID(id int64) *SecretsSecretRolesReadParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secret roles read params
-func (o *SecretsSecretRolesReadParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesReadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_parameters.go
deleted file mode 100644
index 703b13852..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_update_parameters.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretRolesUpdateParams creates a new SecretsSecretRolesUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretRolesUpdateParams() *SecretsSecretRolesUpdateParams {
- return &SecretsSecretRolesUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretRolesUpdateParamsWithTimeout creates a new SecretsSecretRolesUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretRolesUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretRolesUpdateParams {
- return &SecretsSecretRolesUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretRolesUpdateParamsWithContext creates a new SecretsSecretRolesUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretRolesUpdateParamsWithContext(ctx context.Context) *SecretsSecretRolesUpdateParams {
- return &SecretsSecretRolesUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretRolesUpdateParamsWithHTTPClient creates a new SecretsSecretRolesUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretRolesUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretRolesUpdateParams {
- return &SecretsSecretRolesUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretRolesUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secret roles update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretRolesUpdateParams struct {
-
- // Data.
- Data *models.SecretRole
-
- /* ID.
-
- A unique integer value identifying this secret role.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secret roles update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesUpdateParams) WithDefaults() *SecretsSecretRolesUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secret roles update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretRolesUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretRolesUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) WithContext(ctx context.Context) *SecretsSecretRolesUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretRolesUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) WithData(data *models.SecretRole) *SecretsSecretRolesUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) SetData(data *models.SecretRole) {
- o.Data = data
-}
-
-// WithID adds the id to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) WithID(id int64) *SecretsSecretRolesUpdateParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secret roles update params
-func (o *SecretsSecretRolesUpdateParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretRolesUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_parameters.go
deleted file mode 100644
index e586850ed..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_parameters.go
+++ /dev/null
@@ -1,141 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-)
-
-// NewSecretsSecretsBulkDeleteParams creates a new SecretsSecretsBulkDeleteParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsBulkDeleteParams() *SecretsSecretsBulkDeleteParams {
- return &SecretsSecretsBulkDeleteParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsBulkDeleteParamsWithTimeout creates a new SecretsSecretsBulkDeleteParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsBulkDeleteParamsWithTimeout(timeout time.Duration) *SecretsSecretsBulkDeleteParams {
- return &SecretsSecretsBulkDeleteParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsBulkDeleteParamsWithContext creates a new SecretsSecretsBulkDeleteParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsBulkDeleteParamsWithContext(ctx context.Context) *SecretsSecretsBulkDeleteParams {
- return &SecretsSecretsBulkDeleteParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsBulkDeleteParamsWithHTTPClient creates a new SecretsSecretsBulkDeleteParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsBulkDeleteParamsWithHTTPClient(client *http.Client) *SecretsSecretsBulkDeleteParams {
- return &SecretsSecretsBulkDeleteParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsBulkDeleteParams contains all the parameters to send to the API endpoint
- for the secrets secrets bulk delete operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsBulkDeleteParams struct {
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets bulk delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkDeleteParams) WithDefaults() *SecretsSecretsBulkDeleteParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets bulk delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkDeleteParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) WithTimeout(timeout time.Duration) *SecretsSecretsBulkDeleteParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) WithContext(ctx context.Context) *SecretsSecretsBulkDeleteParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) WithHTTPClient(client *http.Client) *SecretsSecretsBulkDeleteParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets bulk delete params
-func (o *SecretsSecretsBulkDeleteParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsBulkDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_parameters.go
deleted file mode 100644
index 909d30c57..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretsBulkPartialUpdateParams creates a new SecretsSecretsBulkPartialUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsBulkPartialUpdateParams() *SecretsSecretsBulkPartialUpdateParams {
- return &SecretsSecretsBulkPartialUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsBulkPartialUpdateParamsWithTimeout creates a new SecretsSecretsBulkPartialUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsBulkPartialUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretsBulkPartialUpdateParams {
- return &SecretsSecretsBulkPartialUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsBulkPartialUpdateParamsWithContext creates a new SecretsSecretsBulkPartialUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsBulkPartialUpdateParamsWithContext(ctx context.Context) *SecretsSecretsBulkPartialUpdateParams {
- return &SecretsSecretsBulkPartialUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsBulkPartialUpdateParamsWithHTTPClient creates a new SecretsSecretsBulkPartialUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsBulkPartialUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretsBulkPartialUpdateParams {
- return &SecretsSecretsBulkPartialUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsBulkPartialUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secrets bulk partial update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsBulkPartialUpdateParams struct {
-
- // Data.
- Data *models.WritableSecret
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets bulk partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkPartialUpdateParams) WithDefaults() *SecretsSecretsBulkPartialUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets bulk partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkPartialUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretsBulkPartialUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) WithContext(ctx context.Context) *SecretsSecretsBulkPartialUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretsBulkPartialUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) WithData(data *models.WritableSecret) *SecretsSecretsBulkPartialUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secrets bulk partial update params
-func (o *SecretsSecretsBulkPartialUpdateParams) SetData(data *models.WritableSecret) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsBulkPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_responses.go
deleted file mode 100644
index 1b95df3a2..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_partial_update_responses.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "fmt"
- "io"
-
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// SecretsSecretsBulkPartialUpdateReader is a Reader for the SecretsSecretsBulkPartialUpdate structure.
-type SecretsSecretsBulkPartialUpdateReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsBulkPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewSecretsSecretsBulkPartialUpdateOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewSecretsSecretsBulkPartialUpdateOK creates a SecretsSecretsBulkPartialUpdateOK with default headers values
-func NewSecretsSecretsBulkPartialUpdateOK() *SecretsSecretsBulkPartialUpdateOK {
- return &SecretsSecretsBulkPartialUpdateOK{}
-}
-
-/* SecretsSecretsBulkPartialUpdateOK describes a response with status code 200, with default header values.
-
-SecretsSecretsBulkPartialUpdateOK secrets secrets bulk partial update o k
-*/
-type SecretsSecretsBulkPartialUpdateOK struct {
- Payload *models.Secret
-}
-
-func (o *SecretsSecretsBulkPartialUpdateOK) Error() string {
- return fmt.Sprintf("[PATCH /secrets/secrets/][%d] secretsSecretsBulkPartialUpdateOK %+v", 200, o.Payload)
-}
-func (o *SecretsSecretsBulkPartialUpdateOK) GetPayload() *models.Secret {
- return o.Payload
-}
-
-func (o *SecretsSecretsBulkPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(models.Secret)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_parameters.go
deleted file mode 100644
index 40625a122..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretsBulkUpdateParams creates a new SecretsSecretsBulkUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsBulkUpdateParams() *SecretsSecretsBulkUpdateParams {
- return &SecretsSecretsBulkUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsBulkUpdateParamsWithTimeout creates a new SecretsSecretsBulkUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsBulkUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretsBulkUpdateParams {
- return &SecretsSecretsBulkUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsBulkUpdateParamsWithContext creates a new SecretsSecretsBulkUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsBulkUpdateParamsWithContext(ctx context.Context) *SecretsSecretsBulkUpdateParams {
- return &SecretsSecretsBulkUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsBulkUpdateParamsWithHTTPClient creates a new SecretsSecretsBulkUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsBulkUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretsBulkUpdateParams {
- return &SecretsSecretsBulkUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsBulkUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secrets bulk update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsBulkUpdateParams struct {
-
- // Data.
- Data *models.WritableSecret
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets bulk update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkUpdateParams) WithDefaults() *SecretsSecretsBulkUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets bulk update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsBulkUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretsBulkUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) WithContext(ctx context.Context) *SecretsSecretsBulkUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretsBulkUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) WithData(data *models.WritableSecret) *SecretsSecretsBulkUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secrets bulk update params
-func (o *SecretsSecretsBulkUpdateParams) SetData(data *models.WritableSecret) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsBulkUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_parameters.go
deleted file mode 100644
index 5241a680c..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_create_parameters.go
+++ /dev/null
@@ -1,163 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretsCreateParams creates a new SecretsSecretsCreateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsCreateParams() *SecretsSecretsCreateParams {
- return &SecretsSecretsCreateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsCreateParamsWithTimeout creates a new SecretsSecretsCreateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsCreateParamsWithTimeout(timeout time.Duration) *SecretsSecretsCreateParams {
- return &SecretsSecretsCreateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsCreateParamsWithContext creates a new SecretsSecretsCreateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsCreateParamsWithContext(ctx context.Context) *SecretsSecretsCreateParams {
- return &SecretsSecretsCreateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsCreateParamsWithHTTPClient creates a new SecretsSecretsCreateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsCreateParamsWithHTTPClient(client *http.Client) *SecretsSecretsCreateParams {
- return &SecretsSecretsCreateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsCreateParams contains all the parameters to send to the API endpoint
- for the secrets secrets create operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsCreateParams struct {
-
- // Data.
- Data *models.WritableSecret
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets create params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsCreateParams) WithDefaults() *SecretsSecretsCreateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets create params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsCreateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) WithTimeout(timeout time.Duration) *SecretsSecretsCreateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) WithContext(ctx context.Context) *SecretsSecretsCreateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) WithHTTPClient(client *http.Client) *SecretsSecretsCreateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) WithData(data *models.WritableSecret) *SecretsSecretsCreateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secrets create params
-func (o *SecretsSecretsCreateParams) SetData(data *models.WritableSecret) {
- o.Data = data
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_parameters.go
deleted file mode 100644
index 1dc07468c..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_delete_parameters.go
+++ /dev/null
@@ -1,165 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewSecretsSecretsDeleteParams creates a new SecretsSecretsDeleteParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsDeleteParams() *SecretsSecretsDeleteParams {
- return &SecretsSecretsDeleteParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsDeleteParamsWithTimeout creates a new SecretsSecretsDeleteParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsDeleteParamsWithTimeout(timeout time.Duration) *SecretsSecretsDeleteParams {
- return &SecretsSecretsDeleteParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsDeleteParamsWithContext creates a new SecretsSecretsDeleteParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsDeleteParamsWithContext(ctx context.Context) *SecretsSecretsDeleteParams {
- return &SecretsSecretsDeleteParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsDeleteParamsWithHTTPClient creates a new SecretsSecretsDeleteParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsDeleteParamsWithHTTPClient(client *http.Client) *SecretsSecretsDeleteParams {
- return &SecretsSecretsDeleteParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsDeleteParams contains all the parameters to send to the API endpoint
- for the secrets secrets delete operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsDeleteParams struct {
-
- /* ID.
-
- A unique integer value identifying this secret.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsDeleteParams) WithDefaults() *SecretsSecretsDeleteParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets delete params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsDeleteParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) WithTimeout(timeout time.Duration) *SecretsSecretsDeleteParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) WithContext(ctx context.Context) *SecretsSecretsDeleteParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) WithHTTPClient(client *http.Client) *SecretsSecretsDeleteParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithID adds the id to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) WithID(id int64) *SecretsSecretsDeleteParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secrets delete params
-func (o *SecretsSecretsDeleteParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_parameters.go
deleted file mode 100644
index ff43fd46b..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_list_parameters.go
+++ /dev/null
@@ -1,1389 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-)
-
-// NewSecretsSecretsListParams creates a new SecretsSecretsListParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsListParams() *SecretsSecretsListParams {
- return &SecretsSecretsListParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsListParamsWithTimeout creates a new SecretsSecretsListParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsListParamsWithTimeout(timeout time.Duration) *SecretsSecretsListParams {
- return &SecretsSecretsListParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsListParamsWithContext creates a new SecretsSecretsListParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsListParamsWithContext(ctx context.Context) *SecretsSecretsListParams {
- return &SecretsSecretsListParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsListParamsWithHTTPClient creates a new SecretsSecretsListParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsListParamsWithHTTPClient(client *http.Client) *SecretsSecretsListParams {
- return &SecretsSecretsListParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsListParams contains all the parameters to send to the API endpoint
- for the secrets secrets list operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsListParams struct {
-
- // Created.
- Created *string
-
- // CreatedGte.
- CreatedGte *string
-
- // CreatedLte.
- CreatedLte *string
-
- // Device.
- Device *string
-
- // Devicen.
- Devicen *string
-
- // DeviceID.
- DeviceID *string
-
- // DeviceIDn.
- DeviceIDn *string
-
- // ID.
- ID *string
-
- // IDGt.
- IDGt *string
-
- // IDGte.
- IDGte *string
-
- // IDLt.
- IDLt *string
-
- // IDLte.
- IDLte *string
-
- // IDn.
- IDn *string
-
- // LastUpdated.
- LastUpdated *string
-
- // LastUpdatedGte.
- LastUpdatedGte *string
-
- // LastUpdatedLte.
- LastUpdatedLte *string
-
- /* Limit.
-
- Number of results to return per page.
- */
- Limit *int64
-
- // Name.
- Name *string
-
- // NameEmpty.
- NameEmpty *string
-
- // NameIc.
- NameIc *string
-
- // NameIe.
- NameIe *string
-
- // NameIew.
- NameIew *string
-
- // NameIsw.
- NameIsw *string
-
- // Namen.
- Namen *string
-
- // NameNic.
- NameNic *string
-
- // NameNie.
- NameNie *string
-
- // NameNiew.
- NameNiew *string
-
- // NameNisw.
- NameNisw *string
-
- /* Offset.
-
- The initial index from which to return the results.
- */
- Offset *int64
-
- // Q.
- Q *string
-
- // Role.
- Role *string
-
- // Rolen.
- Rolen *string
-
- // RoleID.
- RoleID *string
-
- // RoleIDn.
- RoleIDn *string
-
- // Tag.
- Tag *string
-
- // Tagn.
- Tagn *string
-
- // VirtualMachine.
- VirtualMachine *string
-
- // VirtualMachinen.
- VirtualMachinen *string
-
- // VirtualMachineID.
- VirtualMachineID *string
-
- // VirtualMachineIDn.
- VirtualMachineIDn *string
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsListParams) WithDefaults() *SecretsSecretsListParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets list params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsListParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithTimeout(timeout time.Duration) *SecretsSecretsListParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithContext(ctx context.Context) *SecretsSecretsListParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithHTTPClient(client *http.Client) *SecretsSecretsListParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithCreated adds the created to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithCreated(created *string) *SecretsSecretsListParams {
- o.SetCreated(created)
- return o
-}
-
-// SetCreated adds the created to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetCreated(created *string) {
- o.Created = created
-}
-
-// WithCreatedGte adds the createdGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithCreatedGte(createdGte *string) *SecretsSecretsListParams {
- o.SetCreatedGte(createdGte)
- return o
-}
-
-// SetCreatedGte adds the createdGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetCreatedGte(createdGte *string) {
- o.CreatedGte = createdGte
-}
-
-// WithCreatedLte adds the createdLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithCreatedLte(createdLte *string) *SecretsSecretsListParams {
- o.SetCreatedLte(createdLte)
- return o
-}
-
-// SetCreatedLte adds the createdLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetCreatedLte(createdLte *string) {
- o.CreatedLte = createdLte
-}
-
-// WithDevice adds the device to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithDevice(device *string) *SecretsSecretsListParams {
- o.SetDevice(device)
- return o
-}
-
-// SetDevice adds the device to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetDevice(device *string) {
- o.Device = device
-}
-
-// WithDevicen adds the devicen to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithDevicen(devicen *string) *SecretsSecretsListParams {
- o.SetDevicen(devicen)
- return o
-}
-
-// SetDevicen adds the deviceN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetDevicen(devicen *string) {
- o.Devicen = devicen
-}
-
-// WithDeviceID adds the deviceID to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithDeviceID(deviceID *string) *SecretsSecretsListParams {
- o.SetDeviceID(deviceID)
- return o
-}
-
-// SetDeviceID adds the deviceId to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetDeviceID(deviceID *string) {
- o.DeviceID = deviceID
-}
-
-// WithDeviceIDn adds the deviceIDn to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithDeviceIDn(deviceIDn *string) *SecretsSecretsListParams {
- o.SetDeviceIDn(deviceIDn)
- return o
-}
-
-// SetDeviceIDn adds the deviceIdN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetDeviceIDn(deviceIDn *string) {
- o.DeviceIDn = deviceIDn
-}
-
-// WithID adds the id to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithID(id *string) *SecretsSecretsListParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetID(id *string) {
- o.ID = id
-}
-
-// WithIDGt adds the iDGt to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithIDGt(iDGt *string) *SecretsSecretsListParams {
- o.SetIDGt(iDGt)
- return o
-}
-
-// SetIDGt adds the idGt to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetIDGt(iDGt *string) {
- o.IDGt = iDGt
-}
-
-// WithIDGte adds the iDGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithIDGte(iDGte *string) *SecretsSecretsListParams {
- o.SetIDGte(iDGte)
- return o
-}
-
-// SetIDGte adds the idGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetIDGte(iDGte *string) {
- o.IDGte = iDGte
-}
-
-// WithIDLt adds the iDLt to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithIDLt(iDLt *string) *SecretsSecretsListParams {
- o.SetIDLt(iDLt)
- return o
-}
-
-// SetIDLt adds the idLt to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetIDLt(iDLt *string) {
- o.IDLt = iDLt
-}
-
-// WithIDLte adds the iDLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithIDLte(iDLte *string) *SecretsSecretsListParams {
- o.SetIDLte(iDLte)
- return o
-}
-
-// SetIDLte adds the idLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetIDLte(iDLte *string) {
- o.IDLte = iDLte
-}
-
-// WithIDn adds the iDn to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithIDn(iDn *string) *SecretsSecretsListParams {
- o.SetIDn(iDn)
- return o
-}
-
-// SetIDn adds the idN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetIDn(iDn *string) {
- o.IDn = iDn
-}
-
-// WithLastUpdated adds the lastUpdated to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithLastUpdated(lastUpdated *string) *SecretsSecretsListParams {
- o.SetLastUpdated(lastUpdated)
- return o
-}
-
-// SetLastUpdated adds the lastUpdated to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetLastUpdated(lastUpdated *string) {
- o.LastUpdated = lastUpdated
-}
-
-// WithLastUpdatedGte adds the lastUpdatedGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithLastUpdatedGte(lastUpdatedGte *string) *SecretsSecretsListParams {
- o.SetLastUpdatedGte(lastUpdatedGte)
- return o
-}
-
-// SetLastUpdatedGte adds the lastUpdatedGte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetLastUpdatedGte(lastUpdatedGte *string) {
- o.LastUpdatedGte = lastUpdatedGte
-}
-
-// WithLastUpdatedLte adds the lastUpdatedLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithLastUpdatedLte(lastUpdatedLte *string) *SecretsSecretsListParams {
- o.SetLastUpdatedLte(lastUpdatedLte)
- return o
-}
-
-// SetLastUpdatedLte adds the lastUpdatedLte to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetLastUpdatedLte(lastUpdatedLte *string) {
- o.LastUpdatedLte = lastUpdatedLte
-}
-
-// WithLimit adds the limit to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithLimit(limit *int64) *SecretsSecretsListParams {
- o.SetLimit(limit)
- return o
-}
-
-// SetLimit adds the limit to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetLimit(limit *int64) {
- o.Limit = limit
-}
-
-// WithName adds the name to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithName(name *string) *SecretsSecretsListParams {
- o.SetName(name)
- return o
-}
-
-// SetName adds the name to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetName(name *string) {
- o.Name = name
-}
-
-// WithNameEmpty adds the nameEmpty to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameEmpty(nameEmpty *string) *SecretsSecretsListParams {
- o.SetNameEmpty(nameEmpty)
- return o
-}
-
-// SetNameEmpty adds the nameEmpty to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameEmpty(nameEmpty *string) {
- o.NameEmpty = nameEmpty
-}
-
-// WithNameIc adds the nameIc to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameIc(nameIc *string) *SecretsSecretsListParams {
- o.SetNameIc(nameIc)
- return o
-}
-
-// SetNameIc adds the nameIc to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameIc(nameIc *string) {
- o.NameIc = nameIc
-}
-
-// WithNameIe adds the nameIe to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameIe(nameIe *string) *SecretsSecretsListParams {
- o.SetNameIe(nameIe)
- return o
-}
-
-// SetNameIe adds the nameIe to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameIe(nameIe *string) {
- o.NameIe = nameIe
-}
-
-// WithNameIew adds the nameIew to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameIew(nameIew *string) *SecretsSecretsListParams {
- o.SetNameIew(nameIew)
- return o
-}
-
-// SetNameIew adds the nameIew to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameIew(nameIew *string) {
- o.NameIew = nameIew
-}
-
-// WithNameIsw adds the nameIsw to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameIsw(nameIsw *string) *SecretsSecretsListParams {
- o.SetNameIsw(nameIsw)
- return o
-}
-
-// SetNameIsw adds the nameIsw to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameIsw(nameIsw *string) {
- o.NameIsw = nameIsw
-}
-
-// WithNamen adds the namen to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNamen(namen *string) *SecretsSecretsListParams {
- o.SetNamen(namen)
- return o
-}
-
-// SetNamen adds the nameN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNamen(namen *string) {
- o.Namen = namen
-}
-
-// WithNameNic adds the nameNic to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameNic(nameNic *string) *SecretsSecretsListParams {
- o.SetNameNic(nameNic)
- return o
-}
-
-// SetNameNic adds the nameNic to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameNic(nameNic *string) {
- o.NameNic = nameNic
-}
-
-// WithNameNie adds the nameNie to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameNie(nameNie *string) *SecretsSecretsListParams {
- o.SetNameNie(nameNie)
- return o
-}
-
-// SetNameNie adds the nameNie to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameNie(nameNie *string) {
- o.NameNie = nameNie
-}
-
-// WithNameNiew adds the nameNiew to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameNiew(nameNiew *string) *SecretsSecretsListParams {
- o.SetNameNiew(nameNiew)
- return o
-}
-
-// SetNameNiew adds the nameNiew to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameNiew(nameNiew *string) {
- o.NameNiew = nameNiew
-}
-
-// WithNameNisw adds the nameNisw to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithNameNisw(nameNisw *string) *SecretsSecretsListParams {
- o.SetNameNisw(nameNisw)
- return o
-}
-
-// SetNameNisw adds the nameNisw to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetNameNisw(nameNisw *string) {
- o.NameNisw = nameNisw
-}
-
-// WithOffset adds the offset to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithOffset(offset *int64) *SecretsSecretsListParams {
- o.SetOffset(offset)
- return o
-}
-
-// SetOffset adds the offset to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetOffset(offset *int64) {
- o.Offset = offset
-}
-
-// WithQ adds the q to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithQ(q *string) *SecretsSecretsListParams {
- o.SetQ(q)
- return o
-}
-
-// SetQ adds the q to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetQ(q *string) {
- o.Q = q
-}
-
-// WithRole adds the role to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithRole(role *string) *SecretsSecretsListParams {
- o.SetRole(role)
- return o
-}
-
-// SetRole adds the role to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetRole(role *string) {
- o.Role = role
-}
-
-// WithRolen adds the rolen to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithRolen(rolen *string) *SecretsSecretsListParams {
- o.SetRolen(rolen)
- return o
-}
-
-// SetRolen adds the roleN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetRolen(rolen *string) {
- o.Rolen = rolen
-}
-
-// WithRoleID adds the roleID to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithRoleID(roleID *string) *SecretsSecretsListParams {
- o.SetRoleID(roleID)
- return o
-}
-
-// SetRoleID adds the roleId to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetRoleID(roleID *string) {
- o.RoleID = roleID
-}
-
-// WithRoleIDn adds the roleIDn to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithRoleIDn(roleIDn *string) *SecretsSecretsListParams {
- o.SetRoleIDn(roleIDn)
- return o
-}
-
-// SetRoleIDn adds the roleIdN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetRoleIDn(roleIDn *string) {
- o.RoleIDn = roleIDn
-}
-
-// WithTag adds the tag to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithTag(tag *string) *SecretsSecretsListParams {
- o.SetTag(tag)
- return o
-}
-
-// SetTag adds the tag to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetTag(tag *string) {
- o.Tag = tag
-}
-
-// WithTagn adds the tagn to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithTagn(tagn *string) *SecretsSecretsListParams {
- o.SetTagn(tagn)
- return o
-}
-
-// SetTagn adds the tagN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetTagn(tagn *string) {
- o.Tagn = tagn
-}
-
-// WithVirtualMachine adds the virtualMachine to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithVirtualMachine(virtualMachine *string) *SecretsSecretsListParams {
- o.SetVirtualMachine(virtualMachine)
- return o
-}
-
-// SetVirtualMachine adds the virtualMachine to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetVirtualMachine(virtualMachine *string) {
- o.VirtualMachine = virtualMachine
-}
-
-// WithVirtualMachinen adds the virtualMachinen to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithVirtualMachinen(virtualMachinen *string) *SecretsSecretsListParams {
- o.SetVirtualMachinen(virtualMachinen)
- return o
-}
-
-// SetVirtualMachinen adds the virtualMachineN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetVirtualMachinen(virtualMachinen *string) {
- o.VirtualMachinen = virtualMachinen
-}
-
-// WithVirtualMachineID adds the virtualMachineID to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithVirtualMachineID(virtualMachineID *string) *SecretsSecretsListParams {
- o.SetVirtualMachineID(virtualMachineID)
- return o
-}
-
-// SetVirtualMachineID adds the virtualMachineId to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetVirtualMachineID(virtualMachineID *string) {
- o.VirtualMachineID = virtualMachineID
-}
-
-// WithVirtualMachineIDn adds the virtualMachineIDn to the secrets secrets list params
-func (o *SecretsSecretsListParams) WithVirtualMachineIDn(virtualMachineIDn *string) *SecretsSecretsListParams {
- o.SetVirtualMachineIDn(virtualMachineIDn)
- return o
-}
-
-// SetVirtualMachineIDn adds the virtualMachineIdN to the secrets secrets list params
-func (o *SecretsSecretsListParams) SetVirtualMachineIDn(virtualMachineIDn *string) {
- o.VirtualMachineIDn = virtualMachineIDn
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
-
- if o.Created != nil {
-
- // query param created
- var qrCreated string
-
- if o.Created != nil {
- qrCreated = *o.Created
- }
- qCreated := qrCreated
- if qCreated != "" {
-
- if err := r.SetQueryParam("created", qCreated); err != nil {
- return err
- }
- }
- }
-
- if o.CreatedGte != nil {
-
- // query param created__gte
- var qrCreatedGte string
-
- if o.CreatedGte != nil {
- qrCreatedGte = *o.CreatedGte
- }
- qCreatedGte := qrCreatedGte
- if qCreatedGte != "" {
-
- if err := r.SetQueryParam("created__gte", qCreatedGte); err != nil {
- return err
- }
- }
- }
-
- if o.CreatedLte != nil {
-
- // query param created__lte
- var qrCreatedLte string
-
- if o.CreatedLte != nil {
- qrCreatedLte = *o.CreatedLte
- }
- qCreatedLte := qrCreatedLte
- if qCreatedLte != "" {
-
- if err := r.SetQueryParam("created__lte", qCreatedLte); err != nil {
- return err
- }
- }
- }
-
- if o.Device != nil {
-
- // query param device
- var qrDevice string
-
- if o.Device != nil {
- qrDevice = *o.Device
- }
- qDevice := qrDevice
- if qDevice != "" {
-
- if err := r.SetQueryParam("device", qDevice); err != nil {
- return err
- }
- }
- }
-
- if o.Devicen != nil {
-
- // query param device__n
- var qrDevicen string
-
- if o.Devicen != nil {
- qrDevicen = *o.Devicen
- }
- qDevicen := qrDevicen
- if qDevicen != "" {
-
- if err := r.SetQueryParam("device__n", qDevicen); err != nil {
- return err
- }
- }
- }
-
- if o.DeviceID != nil {
-
- // query param device_id
- var qrDeviceID string
-
- if o.DeviceID != nil {
- qrDeviceID = *o.DeviceID
- }
- qDeviceID := qrDeviceID
- if qDeviceID != "" {
-
- if err := r.SetQueryParam("device_id", qDeviceID); err != nil {
- return err
- }
- }
- }
-
- if o.DeviceIDn != nil {
-
- // query param device_id__n
- var qrDeviceIDn string
-
- if o.DeviceIDn != nil {
- qrDeviceIDn = *o.DeviceIDn
- }
- qDeviceIDn := qrDeviceIDn
- if qDeviceIDn != "" {
-
- if err := r.SetQueryParam("device_id__n", qDeviceIDn); err != nil {
- return err
- }
- }
- }
-
- if o.ID != nil {
-
- // query param id
- var qrID string
-
- if o.ID != nil {
- qrID = *o.ID
- }
- qID := qrID
- if qID != "" {
-
- if err := r.SetQueryParam("id", qID); err != nil {
- return err
- }
- }
- }
-
- if o.IDGt != nil {
-
- // query param id__gt
- var qrIDGt string
-
- if o.IDGt != nil {
- qrIDGt = *o.IDGt
- }
- qIDGt := qrIDGt
- if qIDGt != "" {
-
- if err := r.SetQueryParam("id__gt", qIDGt); err != nil {
- return err
- }
- }
- }
-
- if o.IDGte != nil {
-
- // query param id__gte
- var qrIDGte string
-
- if o.IDGte != nil {
- qrIDGte = *o.IDGte
- }
- qIDGte := qrIDGte
- if qIDGte != "" {
-
- if err := r.SetQueryParam("id__gte", qIDGte); err != nil {
- return err
- }
- }
- }
-
- if o.IDLt != nil {
-
- // query param id__lt
- var qrIDLt string
-
- if o.IDLt != nil {
- qrIDLt = *o.IDLt
- }
- qIDLt := qrIDLt
- if qIDLt != "" {
-
- if err := r.SetQueryParam("id__lt", qIDLt); err != nil {
- return err
- }
- }
- }
-
- if o.IDLte != nil {
-
- // query param id__lte
- var qrIDLte string
-
- if o.IDLte != nil {
- qrIDLte = *o.IDLte
- }
- qIDLte := qrIDLte
- if qIDLte != "" {
-
- if err := r.SetQueryParam("id__lte", qIDLte); err != nil {
- return err
- }
- }
- }
-
- if o.IDn != nil {
-
- // query param id__n
- var qrIDn string
-
- if o.IDn != nil {
- qrIDn = *o.IDn
- }
- qIDn := qrIDn
- if qIDn != "" {
-
- if err := r.SetQueryParam("id__n", qIDn); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdated != nil {
-
- // query param last_updated
- var qrLastUpdated string
-
- if o.LastUpdated != nil {
- qrLastUpdated = *o.LastUpdated
- }
- qLastUpdated := qrLastUpdated
- if qLastUpdated != "" {
-
- if err := r.SetQueryParam("last_updated", qLastUpdated); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdatedGte != nil {
-
- // query param last_updated__gte
- var qrLastUpdatedGte string
-
- if o.LastUpdatedGte != nil {
- qrLastUpdatedGte = *o.LastUpdatedGte
- }
- qLastUpdatedGte := qrLastUpdatedGte
- if qLastUpdatedGte != "" {
-
- if err := r.SetQueryParam("last_updated__gte", qLastUpdatedGte); err != nil {
- return err
- }
- }
- }
-
- if o.LastUpdatedLte != nil {
-
- // query param last_updated__lte
- var qrLastUpdatedLte string
-
- if o.LastUpdatedLte != nil {
- qrLastUpdatedLte = *o.LastUpdatedLte
- }
- qLastUpdatedLte := qrLastUpdatedLte
- if qLastUpdatedLte != "" {
-
- if err := r.SetQueryParam("last_updated__lte", qLastUpdatedLte); err != nil {
- return err
- }
- }
- }
-
- if o.Limit != nil {
-
- // query param limit
- var qrLimit int64
-
- if o.Limit != nil {
- qrLimit = *o.Limit
- }
- qLimit := swag.FormatInt64(qrLimit)
- if qLimit != "" {
-
- if err := r.SetQueryParam("limit", qLimit); err != nil {
- return err
- }
- }
- }
-
- if o.Name != nil {
-
- // query param name
- var qrName string
-
- if o.Name != nil {
- qrName = *o.Name
- }
- qName := qrName
- if qName != "" {
-
- if err := r.SetQueryParam("name", qName); err != nil {
- return err
- }
- }
- }
-
- if o.NameEmpty != nil {
-
- // query param name__empty
- var qrNameEmpty string
-
- if o.NameEmpty != nil {
- qrNameEmpty = *o.NameEmpty
- }
- qNameEmpty := qrNameEmpty
- if qNameEmpty != "" {
-
- if err := r.SetQueryParam("name__empty", qNameEmpty); err != nil {
- return err
- }
- }
- }
-
- if o.NameIc != nil {
-
- // query param name__ic
- var qrNameIc string
-
- if o.NameIc != nil {
- qrNameIc = *o.NameIc
- }
- qNameIc := qrNameIc
- if qNameIc != "" {
-
- if err := r.SetQueryParam("name__ic", qNameIc); err != nil {
- return err
- }
- }
- }
-
- if o.NameIe != nil {
-
- // query param name__ie
- var qrNameIe string
-
- if o.NameIe != nil {
- qrNameIe = *o.NameIe
- }
- qNameIe := qrNameIe
- if qNameIe != "" {
-
- if err := r.SetQueryParam("name__ie", qNameIe); err != nil {
- return err
- }
- }
- }
-
- if o.NameIew != nil {
-
- // query param name__iew
- var qrNameIew string
-
- if o.NameIew != nil {
- qrNameIew = *o.NameIew
- }
- qNameIew := qrNameIew
- if qNameIew != "" {
-
- if err := r.SetQueryParam("name__iew", qNameIew); err != nil {
- return err
- }
- }
- }
-
- if o.NameIsw != nil {
-
- // query param name__isw
- var qrNameIsw string
-
- if o.NameIsw != nil {
- qrNameIsw = *o.NameIsw
- }
- qNameIsw := qrNameIsw
- if qNameIsw != "" {
-
- if err := r.SetQueryParam("name__isw", qNameIsw); err != nil {
- return err
- }
- }
- }
-
- if o.Namen != nil {
-
- // query param name__n
- var qrNamen string
-
- if o.Namen != nil {
- qrNamen = *o.Namen
- }
- qNamen := qrNamen
- if qNamen != "" {
-
- if err := r.SetQueryParam("name__n", qNamen); err != nil {
- return err
- }
- }
- }
-
- if o.NameNic != nil {
-
- // query param name__nic
- var qrNameNic string
-
- if o.NameNic != nil {
- qrNameNic = *o.NameNic
- }
- qNameNic := qrNameNic
- if qNameNic != "" {
-
- if err := r.SetQueryParam("name__nic", qNameNic); err != nil {
- return err
- }
- }
- }
-
- if o.NameNie != nil {
-
- // query param name__nie
- var qrNameNie string
-
- if o.NameNie != nil {
- qrNameNie = *o.NameNie
- }
- qNameNie := qrNameNie
- if qNameNie != "" {
-
- if err := r.SetQueryParam("name__nie", qNameNie); err != nil {
- return err
- }
- }
- }
-
- if o.NameNiew != nil {
-
- // query param name__niew
- var qrNameNiew string
-
- if o.NameNiew != nil {
- qrNameNiew = *o.NameNiew
- }
- qNameNiew := qrNameNiew
- if qNameNiew != "" {
-
- if err := r.SetQueryParam("name__niew", qNameNiew); err != nil {
- return err
- }
- }
- }
-
- if o.NameNisw != nil {
-
- // query param name__nisw
- var qrNameNisw string
-
- if o.NameNisw != nil {
- qrNameNisw = *o.NameNisw
- }
- qNameNisw := qrNameNisw
- if qNameNisw != "" {
-
- if err := r.SetQueryParam("name__nisw", qNameNisw); err != nil {
- return err
- }
- }
- }
-
- if o.Offset != nil {
-
- // query param offset
- var qrOffset int64
-
- if o.Offset != nil {
- qrOffset = *o.Offset
- }
- qOffset := swag.FormatInt64(qrOffset)
- if qOffset != "" {
-
- if err := r.SetQueryParam("offset", qOffset); err != nil {
- return err
- }
- }
- }
-
- if o.Q != nil {
-
- // query param q
- var qrQ string
-
- if o.Q != nil {
- qrQ = *o.Q
- }
- qQ := qrQ
- if qQ != "" {
-
- if err := r.SetQueryParam("q", qQ); err != nil {
- return err
- }
- }
- }
-
- if o.Role != nil {
-
- // query param role
- var qrRole string
-
- if o.Role != nil {
- qrRole = *o.Role
- }
- qRole := qrRole
- if qRole != "" {
-
- if err := r.SetQueryParam("role", qRole); err != nil {
- return err
- }
- }
- }
-
- if o.Rolen != nil {
-
- // query param role__n
- var qrRolen string
-
- if o.Rolen != nil {
- qrRolen = *o.Rolen
- }
- qRolen := qrRolen
- if qRolen != "" {
-
- if err := r.SetQueryParam("role__n", qRolen); err != nil {
- return err
- }
- }
- }
-
- if o.RoleID != nil {
-
- // query param role_id
- var qrRoleID string
-
- if o.RoleID != nil {
- qrRoleID = *o.RoleID
- }
- qRoleID := qrRoleID
- if qRoleID != "" {
-
- if err := r.SetQueryParam("role_id", qRoleID); err != nil {
- return err
- }
- }
- }
-
- if o.RoleIDn != nil {
-
- // query param role_id__n
- var qrRoleIDn string
-
- if o.RoleIDn != nil {
- qrRoleIDn = *o.RoleIDn
- }
- qRoleIDn := qrRoleIDn
- if qRoleIDn != "" {
-
- if err := r.SetQueryParam("role_id__n", qRoleIDn); err != nil {
- return err
- }
- }
- }
-
- if o.Tag != nil {
-
- // query param tag
- var qrTag string
-
- if o.Tag != nil {
- qrTag = *o.Tag
- }
- qTag := qrTag
- if qTag != "" {
-
- if err := r.SetQueryParam("tag", qTag); err != nil {
- return err
- }
- }
- }
-
- if o.Tagn != nil {
-
- // query param tag__n
- var qrTagn string
-
- if o.Tagn != nil {
- qrTagn = *o.Tagn
- }
- qTagn := qrTagn
- if qTagn != "" {
-
- if err := r.SetQueryParam("tag__n", qTagn); err != nil {
- return err
- }
- }
- }
-
- if o.VirtualMachine != nil {
-
- // query param virtual_machine
- var qrVirtualMachine string
-
- if o.VirtualMachine != nil {
- qrVirtualMachine = *o.VirtualMachine
- }
- qVirtualMachine := qrVirtualMachine
- if qVirtualMachine != "" {
-
- if err := r.SetQueryParam("virtual_machine", qVirtualMachine); err != nil {
- return err
- }
- }
- }
-
- if o.VirtualMachinen != nil {
-
- // query param virtual_machine__n
- var qrVirtualMachinen string
-
- if o.VirtualMachinen != nil {
- qrVirtualMachinen = *o.VirtualMachinen
- }
- qVirtualMachinen := qrVirtualMachinen
- if qVirtualMachinen != "" {
-
- if err := r.SetQueryParam("virtual_machine__n", qVirtualMachinen); err != nil {
- return err
- }
- }
- }
-
- if o.VirtualMachineID != nil {
-
- // query param virtual_machine_id
- var qrVirtualMachineID string
-
- if o.VirtualMachineID != nil {
- qrVirtualMachineID = *o.VirtualMachineID
- }
- qVirtualMachineID := qrVirtualMachineID
- if qVirtualMachineID != "" {
-
- if err := r.SetQueryParam("virtual_machine_id", qVirtualMachineID); err != nil {
- return err
- }
- }
- }
-
- if o.VirtualMachineIDn != nil {
-
- // query param virtual_machine_id__n
- var qrVirtualMachineIDn string
-
- if o.VirtualMachineIDn != nil {
- qrVirtualMachineIDn = *o.VirtualMachineIDn
- }
- qVirtualMachineIDn := qrVirtualMachineIDn
- if qVirtualMachineIDn != "" {
-
- if err := r.SetQueryParam("virtual_machine_id__n", qVirtualMachineIDn); err != nil {
- return err
- }
- }
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_parameters.go
deleted file mode 100644
index 97e8ddf59..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_parameters.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretsPartialUpdateParams creates a new SecretsSecretsPartialUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsPartialUpdateParams() *SecretsSecretsPartialUpdateParams {
- return &SecretsSecretsPartialUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsPartialUpdateParamsWithTimeout creates a new SecretsSecretsPartialUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsPartialUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretsPartialUpdateParams {
- return &SecretsSecretsPartialUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsPartialUpdateParamsWithContext creates a new SecretsSecretsPartialUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsPartialUpdateParamsWithContext(ctx context.Context) *SecretsSecretsPartialUpdateParams {
- return &SecretsSecretsPartialUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsPartialUpdateParamsWithHTTPClient creates a new SecretsSecretsPartialUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsPartialUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretsPartialUpdateParams {
- return &SecretsSecretsPartialUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsPartialUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secrets partial update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsPartialUpdateParams struct {
-
- // Data.
- Data *models.WritableSecret
-
- /* ID.
-
- A unique integer value identifying this secret.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsPartialUpdateParams) WithDefaults() *SecretsSecretsPartialUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets partial update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsPartialUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretsPartialUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) WithContext(ctx context.Context) *SecretsSecretsPartialUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretsPartialUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) WithData(data *models.WritableSecret) *SecretsSecretsPartialUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) SetData(data *models.WritableSecret) {
- o.Data = data
-}
-
-// WithID adds the id to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) WithID(id int64) *SecretsSecretsPartialUpdateParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secrets partial update params
-func (o *SecretsSecretsPartialUpdateParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_responses.go
deleted file mode 100644
index b5f654ba5..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_partial_update_responses.go
+++ /dev/null
@@ -1,82 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "fmt"
- "io"
-
- "github.com/go-openapi/runtime"
- "github.com/go-openapi/strfmt"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// SecretsSecretsPartialUpdateReader is a Reader for the SecretsSecretsPartialUpdate structure.
-type SecretsSecretsPartialUpdateReader struct {
- formats strfmt.Registry
-}
-
-// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
- switch response.Code() {
- case 200:
- result := NewSecretsSecretsPartialUpdateOK()
- if err := result.readResponse(response, consumer, o.formats); err != nil {
- return nil, err
- }
- return result, nil
- default:
- return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
- }
-}
-
-// NewSecretsSecretsPartialUpdateOK creates a SecretsSecretsPartialUpdateOK with default headers values
-func NewSecretsSecretsPartialUpdateOK() *SecretsSecretsPartialUpdateOK {
- return &SecretsSecretsPartialUpdateOK{}
-}
-
-/* SecretsSecretsPartialUpdateOK describes a response with status code 200, with default header values.
-
-SecretsSecretsPartialUpdateOK secrets secrets partial update o k
-*/
-type SecretsSecretsPartialUpdateOK struct {
- Payload *models.Secret
-}
-
-func (o *SecretsSecretsPartialUpdateOK) Error() string {
- return fmt.Sprintf("[PATCH /secrets/secrets/{id}/][%d] secretsSecretsPartialUpdateOK %+v", 200, o.Payload)
-}
-func (o *SecretsSecretsPartialUpdateOK) GetPayload() *models.Secret {
- return o.Payload
-}
-
-func (o *SecretsSecretsPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
-
- o.Payload = new(models.Secret)
-
- // response payload
- if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
- return err
- }
-
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_parameters.go
deleted file mode 100644
index 156427857..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_update_parameters.go
+++ /dev/null
@@ -1,186 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package secrets
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "net/http"
- "time"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/runtime"
- cr "github.com/go-openapi/runtime/client"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
-
- "github.com/smutel/go-netbox/netbox/models"
-)
-
-// NewSecretsSecretsUpdateParams creates a new SecretsSecretsUpdateParams object,
-// with the default timeout for this client.
-//
-// Default values are not hydrated, since defaults are normally applied by the API server side.
-//
-// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsSecretsUpdateParams() *SecretsSecretsUpdateParams {
- return &SecretsSecretsUpdateParams{
- timeout: cr.DefaultTimeout,
- }
-}
-
-// NewSecretsSecretsUpdateParamsWithTimeout creates a new SecretsSecretsUpdateParams object
-// with the ability to set a timeout on a request.
-func NewSecretsSecretsUpdateParamsWithTimeout(timeout time.Duration) *SecretsSecretsUpdateParams {
- return &SecretsSecretsUpdateParams{
- timeout: timeout,
- }
-}
-
-// NewSecretsSecretsUpdateParamsWithContext creates a new SecretsSecretsUpdateParams object
-// with the ability to set a context for a request.
-func NewSecretsSecretsUpdateParamsWithContext(ctx context.Context) *SecretsSecretsUpdateParams {
- return &SecretsSecretsUpdateParams{
- Context: ctx,
- }
-}
-
-// NewSecretsSecretsUpdateParamsWithHTTPClient creates a new SecretsSecretsUpdateParams object
-// with the ability to set a custom HTTPClient for a request.
-func NewSecretsSecretsUpdateParamsWithHTTPClient(client *http.Client) *SecretsSecretsUpdateParams {
- return &SecretsSecretsUpdateParams{
- HTTPClient: client,
- }
-}
-
-/* SecretsSecretsUpdateParams contains all the parameters to send to the API endpoint
- for the secrets secrets update operation.
-
- Typically these are written to a http.Request.
-*/
-type SecretsSecretsUpdateParams struct {
-
- // Data.
- Data *models.WritableSecret
-
- /* ID.
-
- A unique integer value identifying this secret.
- */
- ID int64
-
- timeout time.Duration
- Context context.Context
- HTTPClient *http.Client
-}
-
-// WithDefaults hydrates default values in the secrets secrets update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsUpdateParams) WithDefaults() *SecretsSecretsUpdateParams {
- o.SetDefaults()
- return o
-}
-
-// SetDefaults hydrates default values in the secrets secrets update params (not the query body).
-//
-// All values with no default are reset to their zero value.
-func (o *SecretsSecretsUpdateParams) SetDefaults() {
- // no default values defined for this parameter
-}
-
-// WithTimeout adds the timeout to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) WithTimeout(timeout time.Duration) *SecretsSecretsUpdateParams {
- o.SetTimeout(timeout)
- return o
-}
-
-// SetTimeout adds the timeout to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) SetTimeout(timeout time.Duration) {
- o.timeout = timeout
-}
-
-// WithContext adds the context to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) WithContext(ctx context.Context) *SecretsSecretsUpdateParams {
- o.SetContext(ctx)
- return o
-}
-
-// SetContext adds the context to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) SetContext(ctx context.Context) {
- o.Context = ctx
-}
-
-// WithHTTPClient adds the HTTPClient to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) WithHTTPClient(client *http.Client) *SecretsSecretsUpdateParams {
- o.SetHTTPClient(client)
- return o
-}
-
-// SetHTTPClient adds the HTTPClient to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) SetHTTPClient(client *http.Client) {
- o.HTTPClient = client
-}
-
-// WithData adds the data to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) WithData(data *models.WritableSecret) *SecretsSecretsUpdateParams {
- o.SetData(data)
- return o
-}
-
-// SetData adds the data to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) SetData(data *models.WritableSecret) {
- o.Data = data
-}
-
-// WithID adds the id to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) WithID(id int64) *SecretsSecretsUpdateParams {
- o.SetID(id)
- return o
-}
-
-// SetID adds the id to the secrets secrets update params
-func (o *SecretsSecretsUpdateParams) SetID(id int64) {
- o.ID = id
-}
-
-// WriteToRequest writes these params to a swagger request
-func (o *SecretsSecretsUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
-
- if err := r.SetTimeout(o.timeout); err != nil {
- return err
- }
- var res []error
- if o.Data != nil {
- if err := r.SetBodyParam(o.Data); err != nil {
- return err
- }
- }
-
- // path param id
- if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
- return err
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_client.go
index e2b1cd529..e4e39e8ee 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_client.go
@@ -280,7 +280,7 @@ func (a *Client) TenancyTenantGroupsDelete(params *TenancyTenantGroupsDeletePara
}
/*
- TenancyTenantGroupsList tenancy tenant groups list API
+ TenancyTenantGroupsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) TenancyTenantGroupsList(params *TenancyTenantGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*TenancyTenantGroupsListOK, error) {
// TODO: Validate the params before sending
@@ -631,7 +631,7 @@ func (a *Client) TenancyTenantsDelete(params *TenancyTenantsDeleteParams, authIn
}
/*
- TenancyTenantsList tenancy tenants list API
+ TenancyTenantsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) TenancyTenantsList(params *TenancyTenantsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*TenancyTenantsListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenant_groups_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenant_groups_list_responses.go
index e8eb4160c..6723b0fe0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenant_groups_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenant_groups_list_responses.go
@@ -182,6 +182,8 @@ func (o *TenancyTenantGroupsListOKBody) validateResults(formats strfmt.Registry)
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenancyTenantGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenancyTenantGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *TenancyTenantGroupsListOKBody) contextValidateResults(ctx context.Conte
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenancyTenantGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenancyTenantGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenants_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenants_list_responses.go
index 6b14250b2..5a7b3f1d2 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenants_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/tenancy/tenancy_tenants_list_responses.go
@@ -182,6 +182,8 @@ func (o *TenancyTenantsListOKBody) validateResults(formats strfmt.Registry) erro
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenancyTenantsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenancyTenantsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *TenancyTenantsListOKBody) contextValidateResults(ctx context.Context, f
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenancyTenantsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenancyTenantsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_client.go
index e1066c301..db49fcdda 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_client.go
@@ -83,6 +83,26 @@ type ClientService interface {
UsersPermissionsUpdate(params *UsersPermissionsUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersPermissionsUpdateOK, error)
+ UsersTokensBulkDelete(params *UsersTokensBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkDeleteNoContent, error)
+
+ UsersTokensBulkPartialUpdate(params *UsersTokensBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkPartialUpdateOK, error)
+
+ UsersTokensBulkUpdate(params *UsersTokensBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkUpdateOK, error)
+
+ UsersTokensCreate(params *UsersTokensCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensCreateCreated, error)
+
+ UsersTokensDelete(params *UsersTokensDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensDeleteNoContent, error)
+
+ UsersTokensList(params *UsersTokensListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensListOK, error)
+
+ UsersTokensPartialUpdate(params *UsersTokensPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensPartialUpdateOK, error)
+
+ UsersTokensProvisionCreate(params *UsersTokensProvisionCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensProvisionCreateCreated, error)
+
+ UsersTokensRead(params *UsersTokensReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensReadOK, error)
+
+ UsersTokensUpdate(params *UsersTokensUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensUpdateOK, error)
+
UsersUsersBulkDelete(params *UsersUsersBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersUsersBulkDeleteNoContent, error)
UsersUsersBulkPartialUpdate(params *UsersUsersBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersUsersBulkPartialUpdateOK, error)
@@ -339,7 +359,7 @@ func (a *Client) UsersGroupsDelete(params *UsersGroupsDeleteParams, authInfo run
}
/*
- UsersGroupsList users groups list API
+ UsersGroupsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) UsersGroupsList(params *UsersGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersGroupsListOK, error) {
// TODO: Validate the params before sending
@@ -690,7 +710,7 @@ func (a *Client) UsersPermissionsDelete(params *UsersPermissionsDeleteParams, au
}
/*
- UsersPermissionsList users permissions list API
+ UsersPermissionsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) UsersPermissionsList(params *UsersPermissionsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersPermissionsListOK, error) {
// TODO: Validate the params before sending
@@ -845,6 +865,396 @@ func (a *Client) UsersPermissionsUpdate(params *UsersPermissionsUpdateParams, au
panic(msg)
}
+/*
+ UsersTokensBulkDelete users tokens bulk delete API
+*/
+func (a *Client) UsersTokensBulkDelete(params *UsersTokensBulkDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkDeleteNoContent, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensBulkDeleteParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_bulk_delete",
+ Method: "DELETE",
+ PathPattern: "/users/tokens/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensBulkDeleteReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensBulkDeleteNoContent)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_bulk_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensBulkPartialUpdate users tokens bulk partial update API
+*/
+func (a *Client) UsersTokensBulkPartialUpdate(params *UsersTokensBulkPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkPartialUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensBulkPartialUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_bulk_partial_update",
+ Method: "PATCH",
+ PathPattern: "/users/tokens/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensBulkPartialUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensBulkPartialUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_bulk_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensBulkUpdate users tokens bulk update API
+*/
+func (a *Client) UsersTokensBulkUpdate(params *UsersTokensBulkUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensBulkUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensBulkUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_bulk_update",
+ Method: "PUT",
+ PathPattern: "/users/tokens/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensBulkUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensBulkUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_bulk_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensCreate users tokens create API
+*/
+func (a *Client) UsersTokensCreate(params *UsersTokensCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensCreateCreated, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensCreateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_create",
+ Method: "POST",
+ PathPattern: "/users/tokens/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensCreateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensCreateCreated)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensDelete users tokens delete API
+*/
+func (a *Client) UsersTokensDelete(params *UsersTokensDeleteParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensDeleteNoContent, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensDeleteParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_delete",
+ Method: "DELETE",
+ PathPattern: "/users/tokens/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensDeleteReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensDeleteNoContent)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_delete: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensList Overrides ListModelMixin to allow processing ExportTemplates.
+*/
+func (a *Client) UsersTokensList(params *UsersTokensListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensListOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensListParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_list",
+ Method: "GET",
+ PathPattern: "/users/tokens/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensListReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensListOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_list: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensPartialUpdate users tokens partial update API
+*/
+func (a *Client) UsersTokensPartialUpdate(params *UsersTokensPartialUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensPartialUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensPartialUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_partial_update",
+ Method: "PATCH",
+ PathPattern: "/users/tokens/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensPartialUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensPartialUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_partial_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensProvisionCreate Non-authenticated REST API endpoint via which a user may create a Token.
+*/
+func (a *Client) UsersTokensProvisionCreate(params *UsersTokensProvisionCreateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensProvisionCreateCreated, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensProvisionCreateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_provision_create",
+ Method: "POST",
+ PathPattern: "/users/tokens/provision/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensProvisionCreateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensProvisionCreateCreated)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_provision_create: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensRead users tokens read API
+*/
+func (a *Client) UsersTokensRead(params *UsersTokensReadParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensReadOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensReadParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_read",
+ Method: "GET",
+ PathPattern: "/users/tokens/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensReadReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensReadOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_read: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
+/*
+ UsersTokensUpdate users tokens update API
+*/
+func (a *Client) UsersTokensUpdate(params *UsersTokensUpdateParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersTokensUpdateOK, error) {
+ // TODO: Validate the params before sending
+ if params == nil {
+ params = NewUsersTokensUpdateParams()
+ }
+ op := &runtime.ClientOperation{
+ ID: "users_tokens_update",
+ Method: "PUT",
+ PathPattern: "/users/tokens/{id}/",
+ ProducesMediaTypes: []string{"application/json"},
+ ConsumesMediaTypes: []string{"application/json"},
+ Schemes: []string{"http"},
+ Params: params,
+ Reader: &UsersTokensUpdateReader{formats: a.formats},
+ AuthInfo: authInfo,
+ Context: params.Context,
+ Client: params.HTTPClient,
+ }
+ for _, opt := range opts {
+ opt(op)
+ }
+
+ result, err := a.transport.Submit(op)
+ if err != nil {
+ return nil, err
+ }
+ success, ok := result.(*UsersTokensUpdateOK)
+ if ok {
+ return success, nil
+ }
+ // unexpected success response
+ // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue
+ msg := fmt.Sprintf("unexpected success response for users_tokens_update: API contract not enforced by server. Client expected to get an error, but got: %T", result)
+ panic(msg)
+}
+
/*
UsersUsersBulkDelete users users bulk delete API
*/
@@ -1041,7 +1451,7 @@ func (a *Client) UsersUsersDelete(params *UsersUsersDeleteParams, authInfo runti
}
/*
- UsersUsersList users users list API
+ UsersUsersList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) UsersUsersList(params *UsersUsersListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*UsersUsersListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_groups_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_groups_list_responses.go
index d37370ac4..1a3bbd3fd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_groups_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_groups_list_responses.go
@@ -182,6 +182,8 @@ func (o *UsersGroupsListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *UsersGroupsListOKBody) contextValidateResults(ctx context.Context, form
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_parameters.go
index ac0e9a4d5..592f5d3f5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_parameters.go
@@ -159,6 +159,9 @@ type UsersPermissionsListParams struct {
*/
Offset *int64
+ // Q.
+ Q *string
+
// User.
User *string
@@ -510,6 +513,17 @@ func (o *UsersPermissionsListParams) SetOffset(offset *int64) {
o.Offset = offset
}
+// WithQ adds the q to the users permissions list params
+func (o *UsersPermissionsListParams) WithQ(q *string) *UsersPermissionsListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the users permissions list params
+func (o *UsersPermissionsListParams) SetQ(q *string) {
+ o.Q = q
+}
+
// WithUser adds the user to the users permissions list params
func (o *UsersPermissionsListParams) WithUser(user *string) *UsersPermissionsListParams {
o.SetUser(user)
@@ -1004,6 +1018,23 @@ func (o *UsersPermissionsListParams) WriteToRequest(r runtime.ClientRequest, reg
}
}
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
if o.User != nil {
// query param user
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_responses.go
index 3d7d228be..f8583e1aa 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_permissions_list_responses.go
@@ -182,6 +182,8 @@ func (o *UsersPermissionsListOKBody) validateResults(formats strfmt.Registry) er
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersPermissionsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersPermissionsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *UsersPermissionsListOKBody) contextValidateResults(ctx context.Context,
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersPermissionsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersPermissionsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_parameters.go
new file mode 100644
index 000000000..b76ce9ccc
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_parameters.go
@@ -0,0 +1,141 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+)
+
+// NewUsersTokensBulkDeleteParams creates a new UsersTokensBulkDeleteParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensBulkDeleteParams() *UsersTokensBulkDeleteParams {
+ return &UsersTokensBulkDeleteParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensBulkDeleteParamsWithTimeout creates a new UsersTokensBulkDeleteParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensBulkDeleteParamsWithTimeout(timeout time.Duration) *UsersTokensBulkDeleteParams {
+ return &UsersTokensBulkDeleteParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensBulkDeleteParamsWithContext creates a new UsersTokensBulkDeleteParams object
+// with the ability to set a context for a request.
+func NewUsersTokensBulkDeleteParamsWithContext(ctx context.Context) *UsersTokensBulkDeleteParams {
+ return &UsersTokensBulkDeleteParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensBulkDeleteParamsWithHTTPClient creates a new UsersTokensBulkDeleteParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensBulkDeleteParamsWithHTTPClient(client *http.Client) *UsersTokensBulkDeleteParams {
+ return &UsersTokensBulkDeleteParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensBulkDeleteParams contains all the parameters to send to the API endpoint
+ for the users tokens bulk delete operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensBulkDeleteParams struct {
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens bulk delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkDeleteParams) WithDefaults() *UsersTokensBulkDeleteParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens bulk delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkDeleteParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) WithTimeout(timeout time.Duration) *UsersTokensBulkDeleteParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) WithContext(ctx context.Context) *UsersTokensBulkDeleteParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) WithHTTPClient(client *http.Client) *UsersTokensBulkDeleteParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens bulk delete params
+func (o *UsersTokensBulkDeleteParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensBulkDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_responses.go
similarity index 58%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_responses.go
index 247532eae..42897ee15 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_delete_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_delete_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -27,16 +27,16 @@ import (
"github.com/go-openapi/strfmt"
)
-// SecretsSecretsBulkDeleteReader is a Reader for the SecretsSecretsBulkDelete structure.
-type SecretsSecretsBulkDeleteReader struct {
+// UsersTokensBulkDeleteReader is a Reader for the UsersTokensBulkDelete structure.
+type UsersTokensBulkDeleteReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsBulkDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensBulkDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 204:
- result := NewSecretsSecretsBulkDeleteNoContent()
+ result := NewUsersTokensBulkDeleteNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -46,23 +46,23 @@ func (o *SecretsSecretsBulkDeleteReader) ReadResponse(response runtime.ClientRes
}
}
-// NewSecretsSecretsBulkDeleteNoContent creates a SecretsSecretsBulkDeleteNoContent with default headers values
-func NewSecretsSecretsBulkDeleteNoContent() *SecretsSecretsBulkDeleteNoContent {
- return &SecretsSecretsBulkDeleteNoContent{}
+// NewUsersTokensBulkDeleteNoContent creates a UsersTokensBulkDeleteNoContent with default headers values
+func NewUsersTokensBulkDeleteNoContent() *UsersTokensBulkDeleteNoContent {
+ return &UsersTokensBulkDeleteNoContent{}
}
-/* SecretsSecretsBulkDeleteNoContent describes a response with status code 204, with default header values.
+/* UsersTokensBulkDeleteNoContent describes a response with status code 204, with default header values.
-SecretsSecretsBulkDeleteNoContent secrets secrets bulk delete no content
+UsersTokensBulkDeleteNoContent users tokens bulk delete no content
*/
-type SecretsSecretsBulkDeleteNoContent struct {
+type UsersTokensBulkDeleteNoContent struct {
}
-func (o *SecretsSecretsBulkDeleteNoContent) Error() string {
- return fmt.Sprintf("[DELETE /secrets/secrets/][%d] secretsSecretsBulkDeleteNoContent ", 204)
+func (o *UsersTokensBulkDeleteNoContent) Error() string {
+ return fmt.Sprintf("[DELETE /users/tokens/][%d] usersTokensBulkDeleteNoContent ", 204)
}
-func (o *SecretsSecretsBulkDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensBulkDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_parameters.go
new file mode 100644
index 000000000..af65b0097
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewUsersTokensBulkPartialUpdateParams creates a new UsersTokensBulkPartialUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensBulkPartialUpdateParams() *UsersTokensBulkPartialUpdateParams {
+ return &UsersTokensBulkPartialUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensBulkPartialUpdateParamsWithTimeout creates a new UsersTokensBulkPartialUpdateParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensBulkPartialUpdateParamsWithTimeout(timeout time.Duration) *UsersTokensBulkPartialUpdateParams {
+ return &UsersTokensBulkPartialUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensBulkPartialUpdateParamsWithContext creates a new UsersTokensBulkPartialUpdateParams object
+// with the ability to set a context for a request.
+func NewUsersTokensBulkPartialUpdateParamsWithContext(ctx context.Context) *UsersTokensBulkPartialUpdateParams {
+ return &UsersTokensBulkPartialUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensBulkPartialUpdateParamsWithHTTPClient creates a new UsersTokensBulkPartialUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensBulkPartialUpdateParamsWithHTTPClient(client *http.Client) *UsersTokensBulkPartialUpdateParams {
+ return &UsersTokensBulkPartialUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensBulkPartialUpdateParams contains all the parameters to send to the API endpoint
+ for the users tokens bulk partial update operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensBulkPartialUpdateParams struct {
+
+ // Data.
+ Data *models.WritableToken
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens bulk partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkPartialUpdateParams) WithDefaults() *UsersTokensBulkPartialUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens bulk partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkPartialUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) WithTimeout(timeout time.Duration) *UsersTokensBulkPartialUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) WithContext(ctx context.Context) *UsersTokensBulkPartialUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) WithHTTPClient(client *http.Client) *UsersTokensBulkPartialUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) WithData(data *models.WritableToken) *UsersTokensBulkPartialUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the users tokens bulk partial update params
+func (o *UsersTokensBulkPartialUpdateParams) SetData(data *models.WritableToken) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensBulkPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_responses.go
similarity index 65%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_responses.go
index 1f167a089..3d89b71ae 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_bulk_update_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_partial_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesBulkUpdateReader is a Reader for the SecretsSecretRolesBulkUpdate structure.
-type SecretsSecretRolesBulkUpdateReader struct {
+// UsersTokensBulkPartialUpdateReader is a Reader for the UsersTokensBulkPartialUpdate structure.
+type UsersTokensBulkPartialUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesBulkUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensBulkPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretRolesBulkUpdateOK()
+ result := NewUsersTokensBulkPartialUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretRolesBulkUpdateReader) ReadResponse(response runtime.Clien
}
}
-// NewSecretsSecretRolesBulkUpdateOK creates a SecretsSecretRolesBulkUpdateOK with default headers values
-func NewSecretsSecretRolesBulkUpdateOK() *SecretsSecretRolesBulkUpdateOK {
- return &SecretsSecretRolesBulkUpdateOK{}
+// NewUsersTokensBulkPartialUpdateOK creates a UsersTokensBulkPartialUpdateOK with default headers values
+func NewUsersTokensBulkPartialUpdateOK() *UsersTokensBulkPartialUpdateOK {
+ return &UsersTokensBulkPartialUpdateOK{}
}
-/* SecretsSecretRolesBulkUpdateOK describes a response with status code 200, with default header values.
+/* UsersTokensBulkPartialUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretRolesBulkUpdateOK secrets secret roles bulk update o k
+UsersTokensBulkPartialUpdateOK users tokens bulk partial update o k
*/
-type SecretsSecretRolesBulkUpdateOK struct {
- Payload *models.SecretRole
+type UsersTokensBulkPartialUpdateOK struct {
+ Payload *models.Token
}
-func (o *SecretsSecretRolesBulkUpdateOK) Error() string {
- return fmt.Sprintf("[PUT /secrets/secret-roles/][%d] secretsSecretRolesBulkUpdateOK %+v", 200, o.Payload)
+func (o *UsersTokensBulkPartialUpdateOK) Error() string {
+ return fmt.Sprintf("[PATCH /users/tokens/][%d] usersTokensBulkPartialUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretRolesBulkUpdateOK) GetPayload() *models.SecretRole {
+func (o *UsersTokensBulkPartialUpdateOK) GetPayload() *models.Token {
return o.Payload
}
-func (o *SecretsSecretRolesBulkUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensBulkPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.SecretRole)
+ o.Payload = new(models.Token)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_parameters.go
new file mode 100644
index 000000000..e9f14680d
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewUsersTokensBulkUpdateParams creates a new UsersTokensBulkUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensBulkUpdateParams() *UsersTokensBulkUpdateParams {
+ return &UsersTokensBulkUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensBulkUpdateParamsWithTimeout creates a new UsersTokensBulkUpdateParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensBulkUpdateParamsWithTimeout(timeout time.Duration) *UsersTokensBulkUpdateParams {
+ return &UsersTokensBulkUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensBulkUpdateParamsWithContext creates a new UsersTokensBulkUpdateParams object
+// with the ability to set a context for a request.
+func NewUsersTokensBulkUpdateParamsWithContext(ctx context.Context) *UsersTokensBulkUpdateParams {
+ return &UsersTokensBulkUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensBulkUpdateParamsWithHTTPClient creates a new UsersTokensBulkUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensBulkUpdateParamsWithHTTPClient(client *http.Client) *UsersTokensBulkUpdateParams {
+ return &UsersTokensBulkUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensBulkUpdateParams contains all the parameters to send to the API endpoint
+ for the users tokens bulk update operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensBulkUpdateParams struct {
+
+ // Data.
+ Data *models.WritableToken
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens bulk update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkUpdateParams) WithDefaults() *UsersTokensBulkUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens bulk update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensBulkUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) WithTimeout(timeout time.Duration) *UsersTokensBulkUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) WithContext(ctx context.Context) *UsersTokensBulkUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) WithHTTPClient(client *http.Client) *UsersTokensBulkUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) WithData(data *models.WritableToken) *UsersTokensBulkUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the users tokens bulk update params
+func (o *UsersTokensBulkUpdateParams) SetData(data *models.WritableToken) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensBulkUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_responses.go
new file mode 100644
index 000000000..acd276ef5
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_bulk_update_responses.go
@@ -0,0 +1,82 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/go-openapi/runtime"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// UsersTokensBulkUpdateReader is a Reader for the UsersTokensBulkUpdate structure.
+type UsersTokensBulkUpdateReader struct {
+ formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *UsersTokensBulkUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+ switch response.Code() {
+ case 200:
+ result := NewUsersTokensBulkUpdateOK()
+ if err := result.readResponse(response, consumer, o.formats); err != nil {
+ return nil, err
+ }
+ return result, nil
+ default:
+ return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
+ }
+}
+
+// NewUsersTokensBulkUpdateOK creates a UsersTokensBulkUpdateOK with default headers values
+func NewUsersTokensBulkUpdateOK() *UsersTokensBulkUpdateOK {
+ return &UsersTokensBulkUpdateOK{}
+}
+
+/* UsersTokensBulkUpdateOK describes a response with status code 200, with default header values.
+
+UsersTokensBulkUpdateOK users tokens bulk update o k
+*/
+type UsersTokensBulkUpdateOK struct {
+ Payload *models.Token
+}
+
+func (o *UsersTokensBulkUpdateOK) Error() string {
+ return fmt.Sprintf("[PUT /users/tokens/][%d] usersTokensBulkUpdateOK %+v", 200, o.Payload)
+}
+func (o *UsersTokensBulkUpdateOK) GetPayload() *models.Token {
+ return o.Payload
+}
+
+func (o *UsersTokensBulkUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+ o.Payload = new(models.Token)
+
+ // response payload
+ if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_parameters.go
new file mode 100644
index 000000000..bd2c435ce
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_parameters.go
@@ -0,0 +1,163 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewUsersTokensCreateParams creates a new UsersTokensCreateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensCreateParams() *UsersTokensCreateParams {
+ return &UsersTokensCreateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensCreateParamsWithTimeout creates a new UsersTokensCreateParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensCreateParamsWithTimeout(timeout time.Duration) *UsersTokensCreateParams {
+ return &UsersTokensCreateParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensCreateParamsWithContext creates a new UsersTokensCreateParams object
+// with the ability to set a context for a request.
+func NewUsersTokensCreateParamsWithContext(ctx context.Context) *UsersTokensCreateParams {
+ return &UsersTokensCreateParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensCreateParamsWithHTTPClient creates a new UsersTokensCreateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensCreateParamsWithHTTPClient(client *http.Client) *UsersTokensCreateParams {
+ return &UsersTokensCreateParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensCreateParams contains all the parameters to send to the API endpoint
+ for the users tokens create operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensCreateParams struct {
+
+ // Data.
+ Data *models.WritableToken
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensCreateParams) WithDefaults() *UsersTokensCreateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens create params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensCreateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens create params
+func (o *UsersTokensCreateParams) WithTimeout(timeout time.Duration) *UsersTokensCreateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens create params
+func (o *UsersTokensCreateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens create params
+func (o *UsersTokensCreateParams) WithContext(ctx context.Context) *UsersTokensCreateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens create params
+func (o *UsersTokensCreateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens create params
+func (o *UsersTokensCreateParams) WithHTTPClient(client *http.Client) *UsersTokensCreateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens create params
+func (o *UsersTokensCreateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the users tokens create params
+func (o *UsersTokensCreateParams) WithData(data *models.WritableToken) *UsersTokensCreateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the users tokens create params
+func (o *UsersTokensCreateParams) SetData(data *models.WritableToken) {
+ o.Data = data
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_responses.go
new file mode 100644
index 000000000..a19271933
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_create_responses.go
@@ -0,0 +1,82 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/go-openapi/runtime"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// UsersTokensCreateReader is a Reader for the UsersTokensCreate structure.
+type UsersTokensCreateReader struct {
+ formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *UsersTokensCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+ switch response.Code() {
+ case 201:
+ result := NewUsersTokensCreateCreated()
+ if err := result.readResponse(response, consumer, o.formats); err != nil {
+ return nil, err
+ }
+ return result, nil
+ default:
+ return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
+ }
+}
+
+// NewUsersTokensCreateCreated creates a UsersTokensCreateCreated with default headers values
+func NewUsersTokensCreateCreated() *UsersTokensCreateCreated {
+ return &UsersTokensCreateCreated{}
+}
+
+/* UsersTokensCreateCreated describes a response with status code 201, with default header values.
+
+UsersTokensCreateCreated users tokens create created
+*/
+type UsersTokensCreateCreated struct {
+ Payload *models.Token
+}
+
+func (o *UsersTokensCreateCreated) Error() string {
+ return fmt.Sprintf("[POST /users/tokens/][%d] usersTokensCreateCreated %+v", 201, o.Payload)
+}
+func (o *UsersTokensCreateCreated) GetPayload() *models.Token {
+ return o.Payload
+}
+
+func (o *UsersTokensCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+ o.Payload = new(models.Token)
+
+ // response payload
+ if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_parameters.go
new file mode 100644
index 000000000..5baa37214
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_parameters.go
@@ -0,0 +1,165 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewUsersTokensDeleteParams creates a new UsersTokensDeleteParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensDeleteParams() *UsersTokensDeleteParams {
+ return &UsersTokensDeleteParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensDeleteParamsWithTimeout creates a new UsersTokensDeleteParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensDeleteParamsWithTimeout(timeout time.Duration) *UsersTokensDeleteParams {
+ return &UsersTokensDeleteParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensDeleteParamsWithContext creates a new UsersTokensDeleteParams object
+// with the ability to set a context for a request.
+func NewUsersTokensDeleteParamsWithContext(ctx context.Context) *UsersTokensDeleteParams {
+ return &UsersTokensDeleteParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensDeleteParamsWithHTTPClient creates a new UsersTokensDeleteParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensDeleteParamsWithHTTPClient(client *http.Client) *UsersTokensDeleteParams {
+ return &UsersTokensDeleteParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensDeleteParams contains all the parameters to send to the API endpoint
+ for the users tokens delete operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensDeleteParams struct {
+
+ /* ID.
+
+ A unique integer value identifying this token.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensDeleteParams) WithDefaults() *UsersTokensDeleteParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens delete params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensDeleteParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens delete params
+func (o *UsersTokensDeleteParams) WithTimeout(timeout time.Duration) *UsersTokensDeleteParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens delete params
+func (o *UsersTokensDeleteParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens delete params
+func (o *UsersTokensDeleteParams) WithContext(ctx context.Context) *UsersTokensDeleteParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens delete params
+func (o *UsersTokensDeleteParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens delete params
+func (o *UsersTokensDeleteParams) WithHTTPClient(client *http.Client) *UsersTokensDeleteParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens delete params
+func (o *UsersTokensDeleteParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithID adds the id to the users tokens delete params
+func (o *UsersTokensDeleteParams) WithID(id int64) *UsersTokensDeleteParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the users tokens delete params
+func (o *UsersTokensDeleteParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensDeleteParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_responses.go
similarity index 57%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_responses.go
index 46e8cb5b1..16bb89060 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_delete_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_delete_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -27,16 +27,16 @@ import (
"github.com/go-openapi/strfmt"
)
-// SecretsSecretRolesDeleteReader is a Reader for the SecretsSecretRolesDelete structure.
-type SecretsSecretRolesDeleteReader struct {
+// UsersTokensDeleteReader is a Reader for the UsersTokensDelete structure.
+type UsersTokensDeleteReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensDeleteReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 204:
- result := NewSecretsSecretRolesDeleteNoContent()
+ result := NewUsersTokensDeleteNoContent()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -46,23 +46,23 @@ func (o *SecretsSecretRolesDeleteReader) ReadResponse(response runtime.ClientRes
}
}
-// NewSecretsSecretRolesDeleteNoContent creates a SecretsSecretRolesDeleteNoContent with default headers values
-func NewSecretsSecretRolesDeleteNoContent() *SecretsSecretRolesDeleteNoContent {
- return &SecretsSecretRolesDeleteNoContent{}
+// NewUsersTokensDeleteNoContent creates a UsersTokensDeleteNoContent with default headers values
+func NewUsersTokensDeleteNoContent() *UsersTokensDeleteNoContent {
+ return &UsersTokensDeleteNoContent{}
}
-/* SecretsSecretRolesDeleteNoContent describes a response with status code 204, with default header values.
+/* UsersTokensDeleteNoContent describes a response with status code 204, with default header values.
-SecretsSecretRolesDeleteNoContent secrets secret roles delete no content
+UsersTokensDeleteNoContent users tokens delete no content
*/
-type SecretsSecretRolesDeleteNoContent struct {
+type UsersTokensDeleteNoContent struct {
}
-func (o *SecretsSecretRolesDeleteNoContent) Error() string {
- return fmt.Sprintf("[DELETE /secrets/secret-roles/{id}/][%d] secretsSecretRolesDeleteNoContent ", 204)
+func (o *UsersTokensDeleteNoContent) Error() string {
+ return fmt.Sprintf("[DELETE /users/tokens/{id}/][%d] usersTokensDeleteNoContent ", 204)
}
-func (o *SecretsSecretRolesDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensDeleteNoContent) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_parameters.go
new file mode 100644
index 000000000..5ab2d84da
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_parameters.go
@@ -0,0 +1,1110 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewUsersTokensListParams creates a new UsersTokensListParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensListParams() *UsersTokensListParams {
+ return &UsersTokensListParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensListParamsWithTimeout creates a new UsersTokensListParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensListParamsWithTimeout(timeout time.Duration) *UsersTokensListParams {
+ return &UsersTokensListParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensListParamsWithContext creates a new UsersTokensListParams object
+// with the ability to set a context for a request.
+func NewUsersTokensListParamsWithContext(ctx context.Context) *UsersTokensListParams {
+ return &UsersTokensListParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensListParamsWithHTTPClient creates a new UsersTokensListParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensListParamsWithHTTPClient(client *http.Client) *UsersTokensListParams {
+ return &UsersTokensListParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensListParams contains all the parameters to send to the API endpoint
+ for the users tokens list operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensListParams struct {
+
+ // Created.
+ Created *string
+
+ // CreatedGte.
+ CreatedGte *string
+
+ // CreatedLte.
+ CreatedLte *string
+
+ // Expires.
+ Expires *string
+
+ // ExpiresGte.
+ ExpiresGte *string
+
+ // ExpiresLte.
+ ExpiresLte *string
+
+ // ID.
+ ID *string
+
+ // IDGt.
+ IDGt *string
+
+ // IDGte.
+ IDGte *string
+
+ // IDLt.
+ IDLt *string
+
+ // IDLte.
+ IDLte *string
+
+ // IDn.
+ IDn *string
+
+ // Key.
+ Key *string
+
+ // KeyEmpty.
+ KeyEmpty *string
+
+ // KeyIc.
+ KeyIc *string
+
+ // KeyIe.
+ KeyIe *string
+
+ // KeyIew.
+ KeyIew *string
+
+ // KeyIsw.
+ KeyIsw *string
+
+ // Keyn.
+ Keyn *string
+
+ // KeyNic.
+ KeyNic *string
+
+ // KeyNie.
+ KeyNie *string
+
+ // KeyNiew.
+ KeyNiew *string
+
+ // KeyNisw.
+ KeyNisw *string
+
+ /* Limit.
+
+ Number of results to return per page.
+ */
+ Limit *int64
+
+ /* Offset.
+
+ The initial index from which to return the results.
+ */
+ Offset *int64
+
+ // Q.
+ Q *string
+
+ // User.
+ User *string
+
+ // Usern.
+ Usern *string
+
+ // UserID.
+ UserID *string
+
+ // UserIDn.
+ UserIDn *string
+
+ // WriteEnabled.
+ WriteEnabled *string
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens list params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensListParams) WithDefaults() *UsersTokensListParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens list params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensListParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens list params
+func (o *UsersTokensListParams) WithTimeout(timeout time.Duration) *UsersTokensListParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens list params
+func (o *UsersTokensListParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens list params
+func (o *UsersTokensListParams) WithContext(ctx context.Context) *UsersTokensListParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens list params
+func (o *UsersTokensListParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens list params
+func (o *UsersTokensListParams) WithHTTPClient(client *http.Client) *UsersTokensListParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens list params
+func (o *UsersTokensListParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithCreated adds the created to the users tokens list params
+func (o *UsersTokensListParams) WithCreated(created *string) *UsersTokensListParams {
+ o.SetCreated(created)
+ return o
+}
+
+// SetCreated adds the created to the users tokens list params
+func (o *UsersTokensListParams) SetCreated(created *string) {
+ o.Created = created
+}
+
+// WithCreatedGte adds the createdGte to the users tokens list params
+func (o *UsersTokensListParams) WithCreatedGte(createdGte *string) *UsersTokensListParams {
+ o.SetCreatedGte(createdGte)
+ return o
+}
+
+// SetCreatedGte adds the createdGte to the users tokens list params
+func (o *UsersTokensListParams) SetCreatedGte(createdGte *string) {
+ o.CreatedGte = createdGte
+}
+
+// WithCreatedLte adds the createdLte to the users tokens list params
+func (o *UsersTokensListParams) WithCreatedLte(createdLte *string) *UsersTokensListParams {
+ o.SetCreatedLte(createdLte)
+ return o
+}
+
+// SetCreatedLte adds the createdLte to the users tokens list params
+func (o *UsersTokensListParams) SetCreatedLte(createdLte *string) {
+ o.CreatedLte = createdLte
+}
+
+// WithExpires adds the expires to the users tokens list params
+func (o *UsersTokensListParams) WithExpires(expires *string) *UsersTokensListParams {
+ o.SetExpires(expires)
+ return o
+}
+
+// SetExpires adds the expires to the users tokens list params
+func (o *UsersTokensListParams) SetExpires(expires *string) {
+ o.Expires = expires
+}
+
+// WithExpiresGte adds the expiresGte to the users tokens list params
+func (o *UsersTokensListParams) WithExpiresGte(expiresGte *string) *UsersTokensListParams {
+ o.SetExpiresGte(expiresGte)
+ return o
+}
+
+// SetExpiresGte adds the expiresGte to the users tokens list params
+func (o *UsersTokensListParams) SetExpiresGte(expiresGte *string) {
+ o.ExpiresGte = expiresGte
+}
+
+// WithExpiresLte adds the expiresLte to the users tokens list params
+func (o *UsersTokensListParams) WithExpiresLte(expiresLte *string) *UsersTokensListParams {
+ o.SetExpiresLte(expiresLte)
+ return o
+}
+
+// SetExpiresLte adds the expiresLte to the users tokens list params
+func (o *UsersTokensListParams) SetExpiresLte(expiresLte *string) {
+ o.ExpiresLte = expiresLte
+}
+
+// WithID adds the id to the users tokens list params
+func (o *UsersTokensListParams) WithID(id *string) *UsersTokensListParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the users tokens list params
+func (o *UsersTokensListParams) SetID(id *string) {
+ o.ID = id
+}
+
+// WithIDGt adds the iDGt to the users tokens list params
+func (o *UsersTokensListParams) WithIDGt(iDGt *string) *UsersTokensListParams {
+ o.SetIDGt(iDGt)
+ return o
+}
+
+// SetIDGt adds the idGt to the users tokens list params
+func (o *UsersTokensListParams) SetIDGt(iDGt *string) {
+ o.IDGt = iDGt
+}
+
+// WithIDGte adds the iDGte to the users tokens list params
+func (o *UsersTokensListParams) WithIDGte(iDGte *string) *UsersTokensListParams {
+ o.SetIDGte(iDGte)
+ return o
+}
+
+// SetIDGte adds the idGte to the users tokens list params
+func (o *UsersTokensListParams) SetIDGte(iDGte *string) {
+ o.IDGte = iDGte
+}
+
+// WithIDLt adds the iDLt to the users tokens list params
+func (o *UsersTokensListParams) WithIDLt(iDLt *string) *UsersTokensListParams {
+ o.SetIDLt(iDLt)
+ return o
+}
+
+// SetIDLt adds the idLt to the users tokens list params
+func (o *UsersTokensListParams) SetIDLt(iDLt *string) {
+ o.IDLt = iDLt
+}
+
+// WithIDLte adds the iDLte to the users tokens list params
+func (o *UsersTokensListParams) WithIDLte(iDLte *string) *UsersTokensListParams {
+ o.SetIDLte(iDLte)
+ return o
+}
+
+// SetIDLte adds the idLte to the users tokens list params
+func (o *UsersTokensListParams) SetIDLte(iDLte *string) {
+ o.IDLte = iDLte
+}
+
+// WithIDn adds the iDn to the users tokens list params
+func (o *UsersTokensListParams) WithIDn(iDn *string) *UsersTokensListParams {
+ o.SetIDn(iDn)
+ return o
+}
+
+// SetIDn adds the idN to the users tokens list params
+func (o *UsersTokensListParams) SetIDn(iDn *string) {
+ o.IDn = iDn
+}
+
+// WithKey adds the key to the users tokens list params
+func (o *UsersTokensListParams) WithKey(key *string) *UsersTokensListParams {
+ o.SetKey(key)
+ return o
+}
+
+// SetKey adds the key to the users tokens list params
+func (o *UsersTokensListParams) SetKey(key *string) {
+ o.Key = key
+}
+
+// WithKeyEmpty adds the keyEmpty to the users tokens list params
+func (o *UsersTokensListParams) WithKeyEmpty(keyEmpty *string) *UsersTokensListParams {
+ o.SetKeyEmpty(keyEmpty)
+ return o
+}
+
+// SetKeyEmpty adds the keyEmpty to the users tokens list params
+func (o *UsersTokensListParams) SetKeyEmpty(keyEmpty *string) {
+ o.KeyEmpty = keyEmpty
+}
+
+// WithKeyIc adds the keyIc to the users tokens list params
+func (o *UsersTokensListParams) WithKeyIc(keyIc *string) *UsersTokensListParams {
+ o.SetKeyIc(keyIc)
+ return o
+}
+
+// SetKeyIc adds the keyIc to the users tokens list params
+func (o *UsersTokensListParams) SetKeyIc(keyIc *string) {
+ o.KeyIc = keyIc
+}
+
+// WithKeyIe adds the keyIe to the users tokens list params
+func (o *UsersTokensListParams) WithKeyIe(keyIe *string) *UsersTokensListParams {
+ o.SetKeyIe(keyIe)
+ return o
+}
+
+// SetKeyIe adds the keyIe to the users tokens list params
+func (o *UsersTokensListParams) SetKeyIe(keyIe *string) {
+ o.KeyIe = keyIe
+}
+
+// WithKeyIew adds the keyIew to the users tokens list params
+func (o *UsersTokensListParams) WithKeyIew(keyIew *string) *UsersTokensListParams {
+ o.SetKeyIew(keyIew)
+ return o
+}
+
+// SetKeyIew adds the keyIew to the users tokens list params
+func (o *UsersTokensListParams) SetKeyIew(keyIew *string) {
+ o.KeyIew = keyIew
+}
+
+// WithKeyIsw adds the keyIsw to the users tokens list params
+func (o *UsersTokensListParams) WithKeyIsw(keyIsw *string) *UsersTokensListParams {
+ o.SetKeyIsw(keyIsw)
+ return o
+}
+
+// SetKeyIsw adds the keyIsw to the users tokens list params
+func (o *UsersTokensListParams) SetKeyIsw(keyIsw *string) {
+ o.KeyIsw = keyIsw
+}
+
+// WithKeyn adds the keyn to the users tokens list params
+func (o *UsersTokensListParams) WithKeyn(keyn *string) *UsersTokensListParams {
+ o.SetKeyn(keyn)
+ return o
+}
+
+// SetKeyn adds the keyN to the users tokens list params
+func (o *UsersTokensListParams) SetKeyn(keyn *string) {
+ o.Keyn = keyn
+}
+
+// WithKeyNic adds the keyNic to the users tokens list params
+func (o *UsersTokensListParams) WithKeyNic(keyNic *string) *UsersTokensListParams {
+ o.SetKeyNic(keyNic)
+ return o
+}
+
+// SetKeyNic adds the keyNic to the users tokens list params
+func (o *UsersTokensListParams) SetKeyNic(keyNic *string) {
+ o.KeyNic = keyNic
+}
+
+// WithKeyNie adds the keyNie to the users tokens list params
+func (o *UsersTokensListParams) WithKeyNie(keyNie *string) *UsersTokensListParams {
+ o.SetKeyNie(keyNie)
+ return o
+}
+
+// SetKeyNie adds the keyNie to the users tokens list params
+func (o *UsersTokensListParams) SetKeyNie(keyNie *string) {
+ o.KeyNie = keyNie
+}
+
+// WithKeyNiew adds the keyNiew to the users tokens list params
+func (o *UsersTokensListParams) WithKeyNiew(keyNiew *string) *UsersTokensListParams {
+ o.SetKeyNiew(keyNiew)
+ return o
+}
+
+// SetKeyNiew adds the keyNiew to the users tokens list params
+func (o *UsersTokensListParams) SetKeyNiew(keyNiew *string) {
+ o.KeyNiew = keyNiew
+}
+
+// WithKeyNisw adds the keyNisw to the users tokens list params
+func (o *UsersTokensListParams) WithKeyNisw(keyNisw *string) *UsersTokensListParams {
+ o.SetKeyNisw(keyNisw)
+ return o
+}
+
+// SetKeyNisw adds the keyNisw to the users tokens list params
+func (o *UsersTokensListParams) SetKeyNisw(keyNisw *string) {
+ o.KeyNisw = keyNisw
+}
+
+// WithLimit adds the limit to the users tokens list params
+func (o *UsersTokensListParams) WithLimit(limit *int64) *UsersTokensListParams {
+ o.SetLimit(limit)
+ return o
+}
+
+// SetLimit adds the limit to the users tokens list params
+func (o *UsersTokensListParams) SetLimit(limit *int64) {
+ o.Limit = limit
+}
+
+// WithOffset adds the offset to the users tokens list params
+func (o *UsersTokensListParams) WithOffset(offset *int64) *UsersTokensListParams {
+ o.SetOffset(offset)
+ return o
+}
+
+// SetOffset adds the offset to the users tokens list params
+func (o *UsersTokensListParams) SetOffset(offset *int64) {
+ o.Offset = offset
+}
+
+// WithQ adds the q to the users tokens list params
+func (o *UsersTokensListParams) WithQ(q *string) *UsersTokensListParams {
+ o.SetQ(q)
+ return o
+}
+
+// SetQ adds the q to the users tokens list params
+func (o *UsersTokensListParams) SetQ(q *string) {
+ o.Q = q
+}
+
+// WithUser adds the user to the users tokens list params
+func (o *UsersTokensListParams) WithUser(user *string) *UsersTokensListParams {
+ o.SetUser(user)
+ return o
+}
+
+// SetUser adds the user to the users tokens list params
+func (o *UsersTokensListParams) SetUser(user *string) {
+ o.User = user
+}
+
+// WithUsern adds the usern to the users tokens list params
+func (o *UsersTokensListParams) WithUsern(usern *string) *UsersTokensListParams {
+ o.SetUsern(usern)
+ return o
+}
+
+// SetUsern adds the userN to the users tokens list params
+func (o *UsersTokensListParams) SetUsern(usern *string) {
+ o.Usern = usern
+}
+
+// WithUserID adds the userID to the users tokens list params
+func (o *UsersTokensListParams) WithUserID(userID *string) *UsersTokensListParams {
+ o.SetUserID(userID)
+ return o
+}
+
+// SetUserID adds the userId to the users tokens list params
+func (o *UsersTokensListParams) SetUserID(userID *string) {
+ o.UserID = userID
+}
+
+// WithUserIDn adds the userIDn to the users tokens list params
+func (o *UsersTokensListParams) WithUserIDn(userIDn *string) *UsersTokensListParams {
+ o.SetUserIDn(userIDn)
+ return o
+}
+
+// SetUserIDn adds the userIdN to the users tokens list params
+func (o *UsersTokensListParams) SetUserIDn(userIDn *string) {
+ o.UserIDn = userIDn
+}
+
+// WithWriteEnabled adds the writeEnabled to the users tokens list params
+func (o *UsersTokensListParams) WithWriteEnabled(writeEnabled *string) *UsersTokensListParams {
+ o.SetWriteEnabled(writeEnabled)
+ return o
+}
+
+// SetWriteEnabled adds the writeEnabled to the users tokens list params
+func (o *UsersTokensListParams) SetWriteEnabled(writeEnabled *string) {
+ o.WriteEnabled = writeEnabled
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensListParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ if o.Created != nil {
+
+ // query param created
+ var qrCreated string
+
+ if o.Created != nil {
+ qrCreated = *o.Created
+ }
+ qCreated := qrCreated
+ if qCreated != "" {
+
+ if err := r.SetQueryParam("created", qCreated); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.CreatedGte != nil {
+
+ // query param created__gte
+ var qrCreatedGte string
+
+ if o.CreatedGte != nil {
+ qrCreatedGte = *o.CreatedGte
+ }
+ qCreatedGte := qrCreatedGte
+ if qCreatedGte != "" {
+
+ if err := r.SetQueryParam("created__gte", qCreatedGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.CreatedLte != nil {
+
+ // query param created__lte
+ var qrCreatedLte string
+
+ if o.CreatedLte != nil {
+ qrCreatedLte = *o.CreatedLte
+ }
+ qCreatedLte := qrCreatedLte
+ if qCreatedLte != "" {
+
+ if err := r.SetQueryParam("created__lte", qCreatedLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Expires != nil {
+
+ // query param expires
+ var qrExpires string
+
+ if o.Expires != nil {
+ qrExpires = *o.Expires
+ }
+ qExpires := qrExpires
+ if qExpires != "" {
+
+ if err := r.SetQueryParam("expires", qExpires); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ExpiresGte != nil {
+
+ // query param expires__gte
+ var qrExpiresGte string
+
+ if o.ExpiresGte != nil {
+ qrExpiresGte = *o.ExpiresGte
+ }
+ qExpiresGte := qrExpiresGte
+ if qExpiresGte != "" {
+
+ if err := r.SetQueryParam("expires__gte", qExpiresGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ExpiresLte != nil {
+
+ // query param expires__lte
+ var qrExpiresLte string
+
+ if o.ExpiresLte != nil {
+ qrExpiresLte = *o.ExpiresLte
+ }
+ qExpiresLte := qrExpiresLte
+ if qExpiresLte != "" {
+
+ if err := r.SetQueryParam("expires__lte", qExpiresLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.ID != nil {
+
+ // query param id
+ var qrID string
+
+ if o.ID != nil {
+ qrID = *o.ID
+ }
+ qID := qrID
+ if qID != "" {
+
+ if err := r.SetQueryParam("id", qID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDGt != nil {
+
+ // query param id__gt
+ var qrIDGt string
+
+ if o.IDGt != nil {
+ qrIDGt = *o.IDGt
+ }
+ qIDGt := qrIDGt
+ if qIDGt != "" {
+
+ if err := r.SetQueryParam("id__gt", qIDGt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDGte != nil {
+
+ // query param id__gte
+ var qrIDGte string
+
+ if o.IDGte != nil {
+ qrIDGte = *o.IDGte
+ }
+ qIDGte := qrIDGte
+ if qIDGte != "" {
+
+ if err := r.SetQueryParam("id__gte", qIDGte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLt != nil {
+
+ // query param id__lt
+ var qrIDLt string
+
+ if o.IDLt != nil {
+ qrIDLt = *o.IDLt
+ }
+ qIDLt := qrIDLt
+ if qIDLt != "" {
+
+ if err := r.SetQueryParam("id__lt", qIDLt); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDLte != nil {
+
+ // query param id__lte
+ var qrIDLte string
+
+ if o.IDLte != nil {
+ qrIDLte = *o.IDLte
+ }
+ qIDLte := qrIDLte
+ if qIDLte != "" {
+
+ if err := r.SetQueryParam("id__lte", qIDLte); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.IDn != nil {
+
+ // query param id__n
+ var qrIDn string
+
+ if o.IDn != nil {
+ qrIDn = *o.IDn
+ }
+ qIDn := qrIDn
+ if qIDn != "" {
+
+ if err := r.SetQueryParam("id__n", qIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Key != nil {
+
+ // query param key
+ var qrKey string
+
+ if o.Key != nil {
+ qrKey = *o.Key
+ }
+ qKey := qrKey
+ if qKey != "" {
+
+ if err := r.SetQueryParam("key", qKey); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyEmpty != nil {
+
+ // query param key__empty
+ var qrKeyEmpty string
+
+ if o.KeyEmpty != nil {
+ qrKeyEmpty = *o.KeyEmpty
+ }
+ qKeyEmpty := qrKeyEmpty
+ if qKeyEmpty != "" {
+
+ if err := r.SetQueryParam("key__empty", qKeyEmpty); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyIc != nil {
+
+ // query param key__ic
+ var qrKeyIc string
+
+ if o.KeyIc != nil {
+ qrKeyIc = *o.KeyIc
+ }
+ qKeyIc := qrKeyIc
+ if qKeyIc != "" {
+
+ if err := r.SetQueryParam("key__ic", qKeyIc); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyIe != nil {
+
+ // query param key__ie
+ var qrKeyIe string
+
+ if o.KeyIe != nil {
+ qrKeyIe = *o.KeyIe
+ }
+ qKeyIe := qrKeyIe
+ if qKeyIe != "" {
+
+ if err := r.SetQueryParam("key__ie", qKeyIe); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyIew != nil {
+
+ // query param key__iew
+ var qrKeyIew string
+
+ if o.KeyIew != nil {
+ qrKeyIew = *o.KeyIew
+ }
+ qKeyIew := qrKeyIew
+ if qKeyIew != "" {
+
+ if err := r.SetQueryParam("key__iew", qKeyIew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyIsw != nil {
+
+ // query param key__isw
+ var qrKeyIsw string
+
+ if o.KeyIsw != nil {
+ qrKeyIsw = *o.KeyIsw
+ }
+ qKeyIsw := qrKeyIsw
+ if qKeyIsw != "" {
+
+ if err := r.SetQueryParam("key__isw", qKeyIsw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Keyn != nil {
+
+ // query param key__n
+ var qrKeyn string
+
+ if o.Keyn != nil {
+ qrKeyn = *o.Keyn
+ }
+ qKeyn := qrKeyn
+ if qKeyn != "" {
+
+ if err := r.SetQueryParam("key__n", qKeyn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyNic != nil {
+
+ // query param key__nic
+ var qrKeyNic string
+
+ if o.KeyNic != nil {
+ qrKeyNic = *o.KeyNic
+ }
+ qKeyNic := qrKeyNic
+ if qKeyNic != "" {
+
+ if err := r.SetQueryParam("key__nic", qKeyNic); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyNie != nil {
+
+ // query param key__nie
+ var qrKeyNie string
+
+ if o.KeyNie != nil {
+ qrKeyNie = *o.KeyNie
+ }
+ qKeyNie := qrKeyNie
+ if qKeyNie != "" {
+
+ if err := r.SetQueryParam("key__nie", qKeyNie); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyNiew != nil {
+
+ // query param key__niew
+ var qrKeyNiew string
+
+ if o.KeyNiew != nil {
+ qrKeyNiew = *o.KeyNiew
+ }
+ qKeyNiew := qrKeyNiew
+ if qKeyNiew != "" {
+
+ if err := r.SetQueryParam("key__niew", qKeyNiew); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.KeyNisw != nil {
+
+ // query param key__nisw
+ var qrKeyNisw string
+
+ if o.KeyNisw != nil {
+ qrKeyNisw = *o.KeyNisw
+ }
+ qKeyNisw := qrKeyNisw
+ if qKeyNisw != "" {
+
+ if err := r.SetQueryParam("key__nisw", qKeyNisw); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Limit != nil {
+
+ // query param limit
+ var qrLimit int64
+
+ if o.Limit != nil {
+ qrLimit = *o.Limit
+ }
+ qLimit := swag.FormatInt64(qrLimit)
+ if qLimit != "" {
+
+ if err := r.SetQueryParam("limit", qLimit); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Offset != nil {
+
+ // query param offset
+ var qrOffset int64
+
+ if o.Offset != nil {
+ qrOffset = *o.Offset
+ }
+ qOffset := swag.FormatInt64(qrOffset)
+ if qOffset != "" {
+
+ if err := r.SetQueryParam("offset", qOffset); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Q != nil {
+
+ // query param q
+ var qrQ string
+
+ if o.Q != nil {
+ qrQ = *o.Q
+ }
+ qQ := qrQ
+ if qQ != "" {
+
+ if err := r.SetQueryParam("q", qQ); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.User != nil {
+
+ // query param user
+ var qrUser string
+
+ if o.User != nil {
+ qrUser = *o.User
+ }
+ qUser := qrUser
+ if qUser != "" {
+
+ if err := r.SetQueryParam("user", qUser); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.Usern != nil {
+
+ // query param user__n
+ var qrUsern string
+
+ if o.Usern != nil {
+ qrUsern = *o.Usern
+ }
+ qUsern := qrUsern
+ if qUsern != "" {
+
+ if err := r.SetQueryParam("user__n", qUsern); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.UserID != nil {
+
+ // query param user_id
+ var qrUserID string
+
+ if o.UserID != nil {
+ qrUserID = *o.UserID
+ }
+ qUserID := qrUserID
+ if qUserID != "" {
+
+ if err := r.SetQueryParam("user_id", qUserID); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.UserIDn != nil {
+
+ // query param user_id__n
+ var qrUserIDn string
+
+ if o.UserIDn != nil {
+ qrUserIDn = *o.UserIDn
+ }
+ qUserIDn := qrUserIDn
+ if qUserIDn != "" {
+
+ if err := r.SetQueryParam("user_id__n", qUserIDn); err != nil {
+ return err
+ }
+ }
+ }
+
+ if o.WriteEnabled != nil {
+
+ // query param write_enabled
+ var qrWriteEnabled string
+
+ if o.WriteEnabled != nil {
+ qrWriteEnabled = *o.WriteEnabled
+ }
+ qWriteEnabled := qrWriteEnabled
+ if qWriteEnabled != "" {
+
+ if err := r.SetQueryParam("write_enabled", qWriteEnabled); err != nil {
+ return err
+ }
+ }
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_responses.go
similarity index 56%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_responses.go
index 0caa3ee6a..650a07467 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secret_roles_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_list_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -35,16 +35,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretRolesListReader is a Reader for the SecretsSecretRolesList structure.
-type SecretsSecretRolesListReader struct {
+// UsersTokensListReader is a Reader for the UsersTokensList structure.
+type UsersTokensListReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretRolesListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensListReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretRolesListOK()
+ result := NewUsersTokensListOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -54,29 +54,29 @@ func (o *SecretsSecretRolesListReader) ReadResponse(response runtime.ClientRespo
}
}
-// NewSecretsSecretRolesListOK creates a SecretsSecretRolesListOK with default headers values
-func NewSecretsSecretRolesListOK() *SecretsSecretRolesListOK {
- return &SecretsSecretRolesListOK{}
+// NewUsersTokensListOK creates a UsersTokensListOK with default headers values
+func NewUsersTokensListOK() *UsersTokensListOK {
+ return &UsersTokensListOK{}
}
-/* SecretsSecretRolesListOK describes a response with status code 200, with default header values.
+/* UsersTokensListOK describes a response with status code 200, with default header values.
-SecretsSecretRolesListOK secrets secret roles list o k
+UsersTokensListOK users tokens list o k
*/
-type SecretsSecretRolesListOK struct {
- Payload *SecretsSecretRolesListOKBody
+type UsersTokensListOK struct {
+ Payload *UsersTokensListOKBody
}
-func (o *SecretsSecretRolesListOK) Error() string {
- return fmt.Sprintf("[GET /secrets/secret-roles/][%d] secretsSecretRolesListOK %+v", 200, o.Payload)
+func (o *UsersTokensListOK) Error() string {
+ return fmt.Sprintf("[GET /users/tokens/][%d] usersTokensListOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretRolesListOK) GetPayload() *SecretsSecretRolesListOKBody {
+func (o *UsersTokensListOK) GetPayload() *UsersTokensListOKBody {
return o.Payload
}
-func (o *SecretsSecretRolesListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensListOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(SecretsSecretRolesListOKBody)
+ o.Payload = new(UsersTokensListOKBody)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
@@ -86,10 +86,10 @@ func (o *SecretsSecretRolesListOK) readResponse(response runtime.ClientResponse,
return nil
}
-/*SecretsSecretRolesListOKBody secrets secret roles list o k body
-swagger:model SecretsSecretRolesListOKBody
+/*UsersTokensListOKBody users tokens list o k body
+swagger:model UsersTokensListOKBody
*/
-type SecretsSecretRolesListOKBody struct {
+type UsersTokensListOKBody struct {
// count
// Required: true
@@ -105,11 +105,11 @@ type SecretsSecretRolesListOKBody struct {
// results
// Required: true
- Results []*models.SecretRole `json:"results"`
+ Results []*models.Token `json:"results"`
}
-// Validate validates this secrets secret roles list o k body
-func (o *SecretsSecretRolesListOKBody) Validate(formats strfmt.Registry) error {
+// Validate validates this users tokens list o k body
+func (o *UsersTokensListOKBody) Validate(formats strfmt.Registry) error {
var res []error
if err := o.validateCount(formats); err != nil {
@@ -134,42 +134,42 @@ func (o *SecretsSecretRolesListOKBody) Validate(formats strfmt.Registry) error {
return nil
}
-func (o *SecretsSecretRolesListOKBody) validateCount(formats strfmt.Registry) error {
+func (o *UsersTokensListOKBody) validateCount(formats strfmt.Registry) error {
- if err := validate.Required("secretsSecretRolesListOK"+"."+"count", "body", o.Count); err != nil {
+ if err := validate.Required("usersTokensListOK"+"."+"count", "body", o.Count); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretRolesListOKBody) validateNext(formats strfmt.Registry) error {
+func (o *UsersTokensListOKBody) validateNext(formats strfmt.Registry) error {
if swag.IsZero(o.Next) { // not required
return nil
}
- if err := validate.FormatOf("secretsSecretRolesListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
+ if err := validate.FormatOf("usersTokensListOK"+"."+"next", "body", "uri", o.Next.String(), formats); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretRolesListOKBody) validatePrevious(formats strfmt.Registry) error {
+func (o *UsersTokensListOKBody) validatePrevious(formats strfmt.Registry) error {
if swag.IsZero(o.Previous) { // not required
return nil
}
- if err := validate.FormatOf("secretsSecretRolesListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
+ if err := validate.FormatOf("usersTokensListOK"+"."+"previous", "body", "uri", o.Previous.String(), formats); err != nil {
return err
}
return nil
}
-func (o *SecretsSecretRolesListOKBody) validateResults(formats strfmt.Registry) error {
+func (o *UsersTokensListOKBody) validateResults(formats strfmt.Registry) error {
- if err := validate.Required("secretsSecretRolesListOK"+"."+"results", "body", o.Results); err != nil {
+ if err := validate.Required("usersTokensListOK"+"."+"results", "body", o.Results); err != nil {
return err
}
@@ -181,7 +181,9 @@ func (o *SecretsSecretRolesListOKBody) validateResults(formats strfmt.Registry)
if o.Results[i] != nil {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("secretsSecretRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ return ve.ValidateName("usersTokensListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersTokensListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -192,8 +194,8 @@ func (o *SecretsSecretRolesListOKBody) validateResults(formats strfmt.Registry)
return nil
}
-// ContextValidate validate this secrets secret roles list o k body based on the context it is used
-func (o *SecretsSecretRolesListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this users tokens list o k body based on the context it is used
+func (o *UsersTokensListOKBody) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := o.contextValidateResults(ctx, formats); err != nil {
@@ -206,14 +208,16 @@ func (o *SecretsSecretRolesListOKBody) ContextValidate(ctx context.Context, form
return nil
}
-func (o *SecretsSecretRolesListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
+func (o *UsersTokensListOKBody) contextValidateResults(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(o.Results); i++ {
if o.Results[i] != nil {
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("secretsSecretRolesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ return ve.ValidateName("usersTokensListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersTokensListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -225,7 +229,7 @@ func (o *SecretsSecretRolesListOKBody) contextValidateResults(ctx context.Contex
}
// MarshalBinary interface implementation
-func (o *SecretsSecretRolesListOKBody) MarshalBinary() ([]byte, error) {
+func (o *UsersTokensListOKBody) MarshalBinary() ([]byte, error) {
if o == nil {
return nil, nil
}
@@ -233,8 +237,8 @@ func (o *SecretsSecretRolesListOKBody) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (o *SecretsSecretRolesListOKBody) UnmarshalBinary(b []byte) error {
- var res SecretsSecretRolesListOKBody
+func (o *UsersTokensListOKBody) UnmarshalBinary(b []byte) error {
+ var res UsersTokensListOKBody
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_parameters.go
new file mode 100644
index 000000000..51aa9bb32
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_parameters.go
@@ -0,0 +1,186 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewUsersTokensPartialUpdateParams creates a new UsersTokensPartialUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensPartialUpdateParams() *UsersTokensPartialUpdateParams {
+ return &UsersTokensPartialUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensPartialUpdateParamsWithTimeout creates a new UsersTokensPartialUpdateParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensPartialUpdateParamsWithTimeout(timeout time.Duration) *UsersTokensPartialUpdateParams {
+ return &UsersTokensPartialUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensPartialUpdateParamsWithContext creates a new UsersTokensPartialUpdateParams object
+// with the ability to set a context for a request.
+func NewUsersTokensPartialUpdateParamsWithContext(ctx context.Context) *UsersTokensPartialUpdateParams {
+ return &UsersTokensPartialUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensPartialUpdateParamsWithHTTPClient creates a new UsersTokensPartialUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensPartialUpdateParamsWithHTTPClient(client *http.Client) *UsersTokensPartialUpdateParams {
+ return &UsersTokensPartialUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensPartialUpdateParams contains all the parameters to send to the API endpoint
+ for the users tokens partial update operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensPartialUpdateParams struct {
+
+ // Data.
+ Data *models.WritableToken
+
+ /* ID.
+
+ A unique integer value identifying this token.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensPartialUpdateParams) WithDefaults() *UsersTokensPartialUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens partial update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensPartialUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) WithTimeout(timeout time.Duration) *UsersTokensPartialUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) WithContext(ctx context.Context) *UsersTokensPartialUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) WithHTTPClient(client *http.Client) *UsersTokensPartialUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) WithData(data *models.WritableToken) *UsersTokensPartialUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) SetData(data *models.WritableToken) {
+ o.Data = data
+}
+
+// WithID adds the id to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) WithID(id int64) *UsersTokensPartialUpdateParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the users tokens partial update params
+func (o *UsersTokensPartialUpdateParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensPartialUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_responses.go
similarity index 67%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_responses.go
index 2e20806c7..2f0aa2d18 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_secrets_bulk_update_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_partial_update_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -30,16 +30,16 @@ import (
"github.com/smutel/go-netbox/netbox/models"
)
-// SecretsSecretsBulkUpdateReader is a Reader for the SecretsSecretsBulkUpdate structure.
-type SecretsSecretsBulkUpdateReader struct {
+// UsersTokensPartialUpdateReader is a Reader for the UsersTokensPartialUpdate structure.
+type UsersTokensPartialUpdateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsSecretsBulkUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensPartialUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 200:
- result := NewSecretsSecretsBulkUpdateOK()
+ result := NewUsersTokensPartialUpdateOK()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -49,29 +49,29 @@ func (o *SecretsSecretsBulkUpdateReader) ReadResponse(response runtime.ClientRes
}
}
-// NewSecretsSecretsBulkUpdateOK creates a SecretsSecretsBulkUpdateOK with default headers values
-func NewSecretsSecretsBulkUpdateOK() *SecretsSecretsBulkUpdateOK {
- return &SecretsSecretsBulkUpdateOK{}
+// NewUsersTokensPartialUpdateOK creates a UsersTokensPartialUpdateOK with default headers values
+func NewUsersTokensPartialUpdateOK() *UsersTokensPartialUpdateOK {
+ return &UsersTokensPartialUpdateOK{}
}
-/* SecretsSecretsBulkUpdateOK describes a response with status code 200, with default header values.
+/* UsersTokensPartialUpdateOK describes a response with status code 200, with default header values.
-SecretsSecretsBulkUpdateOK secrets secrets bulk update o k
+UsersTokensPartialUpdateOK users tokens partial update o k
*/
-type SecretsSecretsBulkUpdateOK struct {
- Payload *models.Secret
+type UsersTokensPartialUpdateOK struct {
+ Payload *models.Token
}
-func (o *SecretsSecretsBulkUpdateOK) Error() string {
- return fmt.Sprintf("[PUT /secrets/secrets/][%d] secretsSecretsBulkUpdateOK %+v", 200, o.Payload)
+func (o *UsersTokensPartialUpdateOK) Error() string {
+ return fmt.Sprintf("[PATCH /users/tokens/{id}/][%d] usersTokensPartialUpdateOK %+v", 200, o.Payload)
}
-func (o *SecretsSecretsBulkUpdateOK) GetPayload() *models.Secret {
+func (o *UsersTokensPartialUpdateOK) GetPayload() *models.Token {
return o.Payload
}
-func (o *SecretsSecretsBulkUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensPartialUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
- o.Payload = new(models.Secret)
+ o.Payload = new(models.Token)
// response payload
if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_parameters.go
similarity index 50%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_parameters.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_parameters.go
index d93f2d343..11fd82844 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_parameters.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_parameters.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -31,103 +31,103 @@ import (
"github.com/go-openapi/strfmt"
)
-// NewSecretsGetSessionKeyCreateParams creates a new SecretsGetSessionKeyCreateParams object,
+// NewUsersTokensProvisionCreateParams creates a new UsersTokensProvisionCreateParams object,
// with the default timeout for this client.
//
// Default values are not hydrated, since defaults are normally applied by the API server side.
//
// To enforce default values in parameter, use SetDefaults or WithDefaults.
-func NewSecretsGetSessionKeyCreateParams() *SecretsGetSessionKeyCreateParams {
- return &SecretsGetSessionKeyCreateParams{
+func NewUsersTokensProvisionCreateParams() *UsersTokensProvisionCreateParams {
+ return &UsersTokensProvisionCreateParams{
timeout: cr.DefaultTimeout,
}
}
-// NewSecretsGetSessionKeyCreateParamsWithTimeout creates a new SecretsGetSessionKeyCreateParams object
+// NewUsersTokensProvisionCreateParamsWithTimeout creates a new UsersTokensProvisionCreateParams object
// with the ability to set a timeout on a request.
-func NewSecretsGetSessionKeyCreateParamsWithTimeout(timeout time.Duration) *SecretsGetSessionKeyCreateParams {
- return &SecretsGetSessionKeyCreateParams{
+func NewUsersTokensProvisionCreateParamsWithTimeout(timeout time.Duration) *UsersTokensProvisionCreateParams {
+ return &UsersTokensProvisionCreateParams{
timeout: timeout,
}
}
-// NewSecretsGetSessionKeyCreateParamsWithContext creates a new SecretsGetSessionKeyCreateParams object
+// NewUsersTokensProvisionCreateParamsWithContext creates a new UsersTokensProvisionCreateParams object
// with the ability to set a context for a request.
-func NewSecretsGetSessionKeyCreateParamsWithContext(ctx context.Context) *SecretsGetSessionKeyCreateParams {
- return &SecretsGetSessionKeyCreateParams{
+func NewUsersTokensProvisionCreateParamsWithContext(ctx context.Context) *UsersTokensProvisionCreateParams {
+ return &UsersTokensProvisionCreateParams{
Context: ctx,
}
}
-// NewSecretsGetSessionKeyCreateParamsWithHTTPClient creates a new SecretsGetSessionKeyCreateParams object
+// NewUsersTokensProvisionCreateParamsWithHTTPClient creates a new UsersTokensProvisionCreateParams object
// with the ability to set a custom HTTPClient for a request.
-func NewSecretsGetSessionKeyCreateParamsWithHTTPClient(client *http.Client) *SecretsGetSessionKeyCreateParams {
- return &SecretsGetSessionKeyCreateParams{
+func NewUsersTokensProvisionCreateParamsWithHTTPClient(client *http.Client) *UsersTokensProvisionCreateParams {
+ return &UsersTokensProvisionCreateParams{
HTTPClient: client,
}
}
-/* SecretsGetSessionKeyCreateParams contains all the parameters to send to the API endpoint
- for the secrets get session key create operation.
+/* UsersTokensProvisionCreateParams contains all the parameters to send to the API endpoint
+ for the users tokens provision create operation.
Typically these are written to a http.Request.
*/
-type SecretsGetSessionKeyCreateParams struct {
+type UsersTokensProvisionCreateParams struct {
timeout time.Duration
Context context.Context
HTTPClient *http.Client
}
-// WithDefaults hydrates default values in the secrets get session key create params (not the query body).
+// WithDefaults hydrates default values in the users tokens provision create params (not the query body).
//
// All values with no default are reset to their zero value.
-func (o *SecretsGetSessionKeyCreateParams) WithDefaults() *SecretsGetSessionKeyCreateParams {
+func (o *UsersTokensProvisionCreateParams) WithDefaults() *UsersTokensProvisionCreateParams {
o.SetDefaults()
return o
}
-// SetDefaults hydrates default values in the secrets get session key create params (not the query body).
+// SetDefaults hydrates default values in the users tokens provision create params (not the query body).
//
// All values with no default are reset to their zero value.
-func (o *SecretsGetSessionKeyCreateParams) SetDefaults() {
+func (o *UsersTokensProvisionCreateParams) SetDefaults() {
// no default values defined for this parameter
}
-// WithTimeout adds the timeout to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) WithTimeout(timeout time.Duration) *SecretsGetSessionKeyCreateParams {
+// WithTimeout adds the timeout to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) WithTimeout(timeout time.Duration) *UsersTokensProvisionCreateParams {
o.SetTimeout(timeout)
return o
}
-// SetTimeout adds the timeout to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) SetTimeout(timeout time.Duration) {
+// SetTimeout adds the timeout to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) SetTimeout(timeout time.Duration) {
o.timeout = timeout
}
-// WithContext adds the context to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) WithContext(ctx context.Context) *SecretsGetSessionKeyCreateParams {
+// WithContext adds the context to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) WithContext(ctx context.Context) *UsersTokensProvisionCreateParams {
o.SetContext(ctx)
return o
}
-// SetContext adds the context to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) SetContext(ctx context.Context) {
+// SetContext adds the context to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) SetContext(ctx context.Context) {
o.Context = ctx
}
-// WithHTTPClient adds the HTTPClient to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) WithHTTPClient(client *http.Client) *SecretsGetSessionKeyCreateParams {
+// WithHTTPClient adds the HTTPClient to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) WithHTTPClient(client *http.Client) *UsersTokensProvisionCreateParams {
o.SetHTTPClient(client)
return o
}
-// SetHTTPClient adds the HTTPClient to the secrets get session key create params
-func (o *SecretsGetSessionKeyCreateParams) SetHTTPClient(client *http.Client) {
+// SetHTTPClient adds the HTTPClient to the users tokens provision create params
+func (o *UsersTokensProvisionCreateParams) SetHTTPClient(client *http.Client) {
o.HTTPClient = client
}
// WriteToRequest writes these params to a swagger request
-func (o *SecretsGetSessionKeyCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+func (o *UsersTokensProvisionCreateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
if err := r.SetTimeout(o.timeout); err != nil {
return err
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_responses.go
similarity index 65%
rename from vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_responses.go
rename to vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_responses.go
index c79a81af8..41422ce86 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/secrets/secrets_get_session_key_create_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_provision_create_responses.go
@@ -15,7 +15,7 @@
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
//
-package secrets
+package users
// This file was generated by the swagger tool.
// Editing this file might prove futile when you re-run the swagger generate command
@@ -27,16 +27,16 @@ import (
"github.com/go-openapi/strfmt"
)
-// SecretsGetSessionKeyCreateReader is a Reader for the SecretsGetSessionKeyCreate structure.
-type SecretsGetSessionKeyCreateReader struct {
+// UsersTokensProvisionCreateReader is a Reader for the UsersTokensProvisionCreate structure.
+type UsersTokensProvisionCreateReader struct {
formats strfmt.Registry
}
// ReadResponse reads a server response into the received o.
-func (o *SecretsGetSessionKeyCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+func (o *UsersTokensProvisionCreateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
switch response.Code() {
case 201:
- result := NewSecretsGetSessionKeyCreateCreated()
+ result := NewUsersTokensProvisionCreateCreated()
if err := result.readResponse(response, consumer, o.formats); err != nil {
return nil, err
}
@@ -46,23 +46,23 @@ func (o *SecretsGetSessionKeyCreateReader) ReadResponse(response runtime.ClientR
}
}
-// NewSecretsGetSessionKeyCreateCreated creates a SecretsGetSessionKeyCreateCreated with default headers values
-func NewSecretsGetSessionKeyCreateCreated() *SecretsGetSessionKeyCreateCreated {
- return &SecretsGetSessionKeyCreateCreated{}
+// NewUsersTokensProvisionCreateCreated creates a UsersTokensProvisionCreateCreated with default headers values
+func NewUsersTokensProvisionCreateCreated() *UsersTokensProvisionCreateCreated {
+ return &UsersTokensProvisionCreateCreated{}
}
-/* SecretsGetSessionKeyCreateCreated describes a response with status code 201, with default header values.
+/* UsersTokensProvisionCreateCreated describes a response with status code 201, with default header values.
-SecretsGetSessionKeyCreateCreated secrets get session key create created
+UsersTokensProvisionCreateCreated users tokens provision create created
*/
-type SecretsGetSessionKeyCreateCreated struct {
+type UsersTokensProvisionCreateCreated struct {
}
-func (o *SecretsGetSessionKeyCreateCreated) Error() string {
- return fmt.Sprintf("[POST /secrets/get-session-key/][%d] secretsGetSessionKeyCreateCreated ", 201)
+func (o *UsersTokensProvisionCreateCreated) Error() string {
+ return fmt.Sprintf("[POST /users/tokens/provision/][%d] usersTokensProvisionCreateCreated ", 201)
}
-func (o *SecretsGetSessionKeyCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+func (o *UsersTokensProvisionCreateCreated) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
return nil
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_parameters.go
new file mode 100644
index 000000000..e8643d3e4
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_parameters.go
@@ -0,0 +1,165 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+)
+
+// NewUsersTokensReadParams creates a new UsersTokensReadParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensReadParams() *UsersTokensReadParams {
+ return &UsersTokensReadParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensReadParamsWithTimeout creates a new UsersTokensReadParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensReadParamsWithTimeout(timeout time.Duration) *UsersTokensReadParams {
+ return &UsersTokensReadParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensReadParamsWithContext creates a new UsersTokensReadParams object
+// with the ability to set a context for a request.
+func NewUsersTokensReadParamsWithContext(ctx context.Context) *UsersTokensReadParams {
+ return &UsersTokensReadParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensReadParamsWithHTTPClient creates a new UsersTokensReadParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensReadParamsWithHTTPClient(client *http.Client) *UsersTokensReadParams {
+ return &UsersTokensReadParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensReadParams contains all the parameters to send to the API endpoint
+ for the users tokens read operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensReadParams struct {
+
+ /* ID.
+
+ A unique integer value identifying this token.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensReadParams) WithDefaults() *UsersTokensReadParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens read params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensReadParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens read params
+func (o *UsersTokensReadParams) WithTimeout(timeout time.Duration) *UsersTokensReadParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens read params
+func (o *UsersTokensReadParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens read params
+func (o *UsersTokensReadParams) WithContext(ctx context.Context) *UsersTokensReadParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens read params
+func (o *UsersTokensReadParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens read params
+func (o *UsersTokensReadParams) WithHTTPClient(client *http.Client) *UsersTokensReadParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens read params
+func (o *UsersTokensReadParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithID adds the id to the users tokens read params
+func (o *UsersTokensReadParams) WithID(id int64) *UsersTokensReadParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the users tokens read params
+func (o *UsersTokensReadParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensReadParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_responses.go
new file mode 100644
index 000000000..e6500fcec
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_read_responses.go
@@ -0,0 +1,82 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/go-openapi/runtime"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// UsersTokensReadReader is a Reader for the UsersTokensRead structure.
+type UsersTokensReadReader struct {
+ formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *UsersTokensReadReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+ switch response.Code() {
+ case 200:
+ result := NewUsersTokensReadOK()
+ if err := result.readResponse(response, consumer, o.formats); err != nil {
+ return nil, err
+ }
+ return result, nil
+ default:
+ return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
+ }
+}
+
+// NewUsersTokensReadOK creates a UsersTokensReadOK with default headers values
+func NewUsersTokensReadOK() *UsersTokensReadOK {
+ return &UsersTokensReadOK{}
+}
+
+/* UsersTokensReadOK describes a response with status code 200, with default header values.
+
+UsersTokensReadOK users tokens read o k
+*/
+type UsersTokensReadOK struct {
+ Payload *models.Token
+}
+
+func (o *UsersTokensReadOK) Error() string {
+ return fmt.Sprintf("[GET /users/tokens/{id}/][%d] usersTokensReadOK %+v", 200, o.Payload)
+}
+func (o *UsersTokensReadOK) GetPayload() *models.Token {
+ return o.Payload
+}
+
+func (o *UsersTokensReadOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+ o.Payload = new(models.Token)
+
+ // response payload
+ if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_parameters.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_parameters.go
new file mode 100644
index 000000000..81015b39e
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_parameters.go
@@ -0,0 +1,186 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "net/http"
+ "time"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/runtime"
+ cr "github.com/go-openapi/runtime/client"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// NewUsersTokensUpdateParams creates a new UsersTokensUpdateParams object,
+// with the default timeout for this client.
+//
+// Default values are not hydrated, since defaults are normally applied by the API server side.
+//
+// To enforce default values in parameter, use SetDefaults or WithDefaults.
+func NewUsersTokensUpdateParams() *UsersTokensUpdateParams {
+ return &UsersTokensUpdateParams{
+ timeout: cr.DefaultTimeout,
+ }
+}
+
+// NewUsersTokensUpdateParamsWithTimeout creates a new UsersTokensUpdateParams object
+// with the ability to set a timeout on a request.
+func NewUsersTokensUpdateParamsWithTimeout(timeout time.Duration) *UsersTokensUpdateParams {
+ return &UsersTokensUpdateParams{
+ timeout: timeout,
+ }
+}
+
+// NewUsersTokensUpdateParamsWithContext creates a new UsersTokensUpdateParams object
+// with the ability to set a context for a request.
+func NewUsersTokensUpdateParamsWithContext(ctx context.Context) *UsersTokensUpdateParams {
+ return &UsersTokensUpdateParams{
+ Context: ctx,
+ }
+}
+
+// NewUsersTokensUpdateParamsWithHTTPClient creates a new UsersTokensUpdateParams object
+// with the ability to set a custom HTTPClient for a request.
+func NewUsersTokensUpdateParamsWithHTTPClient(client *http.Client) *UsersTokensUpdateParams {
+ return &UsersTokensUpdateParams{
+ HTTPClient: client,
+ }
+}
+
+/* UsersTokensUpdateParams contains all the parameters to send to the API endpoint
+ for the users tokens update operation.
+
+ Typically these are written to a http.Request.
+*/
+type UsersTokensUpdateParams struct {
+
+ // Data.
+ Data *models.WritableToken
+
+ /* ID.
+
+ A unique integer value identifying this token.
+ */
+ ID int64
+
+ timeout time.Duration
+ Context context.Context
+ HTTPClient *http.Client
+}
+
+// WithDefaults hydrates default values in the users tokens update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensUpdateParams) WithDefaults() *UsersTokensUpdateParams {
+ o.SetDefaults()
+ return o
+}
+
+// SetDefaults hydrates default values in the users tokens update params (not the query body).
+//
+// All values with no default are reset to their zero value.
+func (o *UsersTokensUpdateParams) SetDefaults() {
+ // no default values defined for this parameter
+}
+
+// WithTimeout adds the timeout to the users tokens update params
+func (o *UsersTokensUpdateParams) WithTimeout(timeout time.Duration) *UsersTokensUpdateParams {
+ o.SetTimeout(timeout)
+ return o
+}
+
+// SetTimeout adds the timeout to the users tokens update params
+func (o *UsersTokensUpdateParams) SetTimeout(timeout time.Duration) {
+ o.timeout = timeout
+}
+
+// WithContext adds the context to the users tokens update params
+func (o *UsersTokensUpdateParams) WithContext(ctx context.Context) *UsersTokensUpdateParams {
+ o.SetContext(ctx)
+ return o
+}
+
+// SetContext adds the context to the users tokens update params
+func (o *UsersTokensUpdateParams) SetContext(ctx context.Context) {
+ o.Context = ctx
+}
+
+// WithHTTPClient adds the HTTPClient to the users tokens update params
+func (o *UsersTokensUpdateParams) WithHTTPClient(client *http.Client) *UsersTokensUpdateParams {
+ o.SetHTTPClient(client)
+ return o
+}
+
+// SetHTTPClient adds the HTTPClient to the users tokens update params
+func (o *UsersTokensUpdateParams) SetHTTPClient(client *http.Client) {
+ o.HTTPClient = client
+}
+
+// WithData adds the data to the users tokens update params
+func (o *UsersTokensUpdateParams) WithData(data *models.WritableToken) *UsersTokensUpdateParams {
+ o.SetData(data)
+ return o
+}
+
+// SetData adds the data to the users tokens update params
+func (o *UsersTokensUpdateParams) SetData(data *models.WritableToken) {
+ o.Data = data
+}
+
+// WithID adds the id to the users tokens update params
+func (o *UsersTokensUpdateParams) WithID(id int64) *UsersTokensUpdateParams {
+ o.SetID(id)
+ return o
+}
+
+// SetID adds the id to the users tokens update params
+func (o *UsersTokensUpdateParams) SetID(id int64) {
+ o.ID = id
+}
+
+// WriteToRequest writes these params to a swagger request
+func (o *UsersTokensUpdateParams) WriteToRequest(r runtime.ClientRequest, reg strfmt.Registry) error {
+
+ if err := r.SetTimeout(o.timeout); err != nil {
+ return err
+ }
+ var res []error
+ if o.Data != nil {
+ if err := r.SetBodyParam(o.Data); err != nil {
+ return err
+ }
+ }
+
+ // path param id
+ if err := r.SetPathParam("id", swag.FormatInt64(o.ID)); err != nil {
+ return err
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_responses.go
new file mode 100644
index 000000000..9abed6473
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_tokens_update_responses.go
@@ -0,0 +1,82 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package users
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "fmt"
+ "io"
+
+ "github.com/go-openapi/runtime"
+ "github.com/go-openapi/strfmt"
+
+ "github.com/smutel/go-netbox/netbox/models"
+)
+
+// UsersTokensUpdateReader is a Reader for the UsersTokensUpdate structure.
+type UsersTokensUpdateReader struct {
+ formats strfmt.Registry
+}
+
+// ReadResponse reads a server response into the received o.
+func (o *UsersTokensUpdateReader) ReadResponse(response runtime.ClientResponse, consumer runtime.Consumer) (interface{}, error) {
+ switch response.Code() {
+ case 200:
+ result := NewUsersTokensUpdateOK()
+ if err := result.readResponse(response, consumer, o.formats); err != nil {
+ return nil, err
+ }
+ return result, nil
+ default:
+ return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code())
+ }
+}
+
+// NewUsersTokensUpdateOK creates a UsersTokensUpdateOK with default headers values
+func NewUsersTokensUpdateOK() *UsersTokensUpdateOK {
+ return &UsersTokensUpdateOK{}
+}
+
+/* UsersTokensUpdateOK describes a response with status code 200, with default header values.
+
+UsersTokensUpdateOK users tokens update o k
+*/
+type UsersTokensUpdateOK struct {
+ Payload *models.Token
+}
+
+func (o *UsersTokensUpdateOK) Error() string {
+ return fmt.Sprintf("[PUT /users/tokens/{id}/][%d] usersTokensUpdateOK %+v", 200, o.Payload)
+}
+func (o *UsersTokensUpdateOK) GetPayload() *models.Token {
+ return o.Payload
+}
+
+func (o *UsersTokensUpdateOK) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error {
+
+ o.Payload = new(models.Token)
+
+ // response payload
+ if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF {
+ return err
+ }
+
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_users_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_users_list_responses.go
index 65198dd26..3042b8115 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/users/users_users_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/users/users_users_list_responses.go
@@ -182,6 +182,8 @@ func (o *UsersUsersListOKBody) validateResults(formats strfmt.Registry) error {
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersUsersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersUsersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *UsersUsersListOKBody) contextValidateResults(ctx context.Context, forma
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("usersUsersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("usersUsersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_client.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_client.go
index cb1fd0b87..0ac7e751e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_client.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_client.go
@@ -334,7 +334,7 @@ func (a *Client) VirtualizationClusterGroupsDelete(params *VirtualizationCluster
}
/*
- VirtualizationClusterGroupsList virtualization cluster groups list API
+ VirtualizationClusterGroupsList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) VirtualizationClusterGroupsList(params *VirtualizationClusterGroupsListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*VirtualizationClusterGroupsListOK, error) {
// TODO: Validate the params before sending
@@ -685,7 +685,7 @@ func (a *Client) VirtualizationClusterTypesDelete(params *VirtualizationClusterT
}
/*
- VirtualizationClusterTypesList virtualization cluster types list API
+ VirtualizationClusterTypesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) VirtualizationClusterTypesList(params *VirtualizationClusterTypesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*VirtualizationClusterTypesListOK, error) {
// TODO: Validate the params before sending
@@ -1036,7 +1036,7 @@ func (a *Client) VirtualizationClustersDelete(params *VirtualizationClustersDele
}
/*
- VirtualizationClustersList virtualization clusters list API
+ VirtualizationClustersList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) VirtualizationClustersList(params *VirtualizationClustersListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*VirtualizationClustersListOK, error) {
// TODO: Validate the params before sending
@@ -1387,7 +1387,7 @@ func (a *Client) VirtualizationInterfacesDelete(params *VirtualizationInterfaces
}
/*
- VirtualizationInterfacesList virtualization interfaces list API
+ VirtualizationInterfacesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) VirtualizationInterfacesList(params *VirtualizationInterfacesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*VirtualizationInterfacesListOK, error) {
// TODO: Validate the params before sending
@@ -1738,7 +1738,7 @@ func (a *Client) VirtualizationVirtualMachinesDelete(params *VirtualizationVirtu
}
/*
- VirtualizationVirtualMachinesList virtualization virtual machines list API
+ VirtualizationVirtualMachinesList Overrides ListModelMixin to allow processing ExportTemplates.
*/
func (a *Client) VirtualizationVirtualMachinesList(params *VirtualizationVirtualMachinesListParams, authInfo runtime.ClientAuthInfoWriter, opts ...ClientOption) (*VirtualizationVirtualMachinesListOK, error) {
// TODO: Validate the params before sending
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_groups_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_groups_list_responses.go
index 46b507da3..d086fbf9c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_groups_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_groups_list_responses.go
@@ -182,6 +182,8 @@ func (o *VirtualizationClusterGroupsListOKBody) validateResults(formats strfmt.R
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClusterGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClusterGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *VirtualizationClusterGroupsListOKBody) contextValidateResults(ctx conte
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClusterGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClusterGroupsListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_types_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_types_list_responses.go
index 058a5c427..cb231cf44 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_types_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_cluster_types_list_responses.go
@@ -182,6 +182,8 @@ func (o *VirtualizationClusterTypesListOKBody) validateResults(formats strfmt.Re
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClusterTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClusterTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *VirtualizationClusterTypesListOKBody) contextValidateResults(ctx contex
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClusterTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClusterTypesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_clusters_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_clusters_list_responses.go
index 06c719429..f0b2a3fdc 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_clusters_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_clusters_list_responses.go
@@ -182,6 +182,8 @@ func (o *VirtualizationClustersListOKBody) validateResults(formats strfmt.Regist
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClustersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClustersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *VirtualizationClustersListOKBody) contextValidateResults(ctx context.Co
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationClustersListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationClustersListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_interfaces_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_interfaces_list_responses.go
index 7bf4b352a..3d712a30e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_interfaces_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_interfaces_list_responses.go
@@ -182,6 +182,8 @@ func (o *VirtualizationInterfacesListOKBody) validateResults(formats strfmt.Regi
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *VirtualizationInterfacesListOKBody) contextValidateResults(ctx context.
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationInterfacesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_virtual_machines_list_responses.go b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_virtual_machines_list_responses.go
index 0e69d6834..9af5f7438 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_virtual_machines_list_responses.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/client/virtualization/virtualization_virtual_machines_list_responses.go
@@ -182,6 +182,8 @@ func (o *VirtualizationVirtualMachinesListOKBody) validateResults(formats strfmt
if err := o.Results[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationVirtualMachinesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationVirtualMachinesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
@@ -214,6 +216,8 @@ func (o *VirtualizationVirtualMachinesListOKBody) contextValidateResults(ctx con
if err := o.Results[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtualizationVirtualMachinesListOK" + "." + "results" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtualizationVirtualMachinesListOK" + "." + "results" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/aggregate.go b/vendor/github.com/smutel/go-netbox/netbox/models/aggregate.go
index ecddebffb..7c91cbcc7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/aggregate.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/aggregate.go
@@ -183,6 +183,8 @@ func (m *Aggregate) validateFamily(formats strfmt.Registry) error {
if err := m.Family.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -222,6 +224,8 @@ func (m *Aggregate) validateRir(formats strfmt.Registry) error {
if err := m.Rir.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rir")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rir")
}
return err
}
@@ -244,6 +248,8 @@ func (m *Aggregate) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -263,6 +269,8 @@ func (m *Aggregate) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -353,6 +361,8 @@ func (m *Aggregate) contextValidateFamily(ctx context.Context, formats strfmt.Re
if err := m.Family.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -385,6 +395,8 @@ func (m *Aggregate) contextValidateRir(ctx context.Context, formats strfmt.Regis
if err := m.Rir.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rir")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rir")
}
return err
}
@@ -401,6 +413,8 @@ func (m *Aggregate) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -417,6 +431,8 @@ func (m *Aggregate) contextValidateTenant(ctx context.Context, formats strfmt.Re
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/available_ip.go b/vendor/github.com/smutel/go-netbox/netbox/models/available_ip.go
index f3f11419c..bdf763d40 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/available_ip.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/available_ip.go
@@ -86,6 +86,8 @@ func (m *AvailableIP) validateVrf(formats strfmt.Registry) error {
if err := m.Vrf.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
@@ -140,6 +142,8 @@ func (m *AvailableIP) contextValidateVrf(ctx context.Context, formats strfmt.Reg
if err := m.Vrf.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/available_prefix.go b/vendor/github.com/smutel/go-netbox/netbox/models/available_prefix.go
index 9ab85524c..2d3ffb7f5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/available_prefix.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/available_prefix.go
@@ -86,6 +86,8 @@ func (m *AvailablePrefix) validateVrf(formats strfmt.Registry) error {
if err := m.Vrf.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
@@ -140,6 +142,8 @@ func (m *AvailablePrefix) contextValidateVrf(ctx context.Context, formats strfmt
if err := m.Vrf.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/cable.go b/vendor/github.com/smutel/go-netbox/netbox/models/cable.go
index 47e0bfd97..b434313dd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/cable.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/cable.go
@@ -57,9 +57,7 @@ type Cable struct {
Label string `json:"label,omitempty"`
// Length
- // Maximum: 32767
- // Minimum: 0
- Length *int64 `json:"length,omitempty"`
+ Length *float64 `json:"length,omitempty"`
// length unit
LengthUnit *CableLengthUnit `json:"length_unit,omitempty"`
@@ -120,10 +118,6 @@ func (m *Cable) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
- if err := m.validateLength(formats); err != nil {
- res = append(res, err)
- }
-
if err := m.validateLengthUnit(formats); err != nil {
res = append(res, err)
}
@@ -194,22 +188,6 @@ func (m *Cable) validateLabel(formats strfmt.Registry) error {
return nil
}
-func (m *Cable) validateLength(formats strfmt.Registry) error {
- if swag.IsZero(m.Length) { // not required
- return nil
- }
-
- if err := validate.MinimumInt("length", "body", *m.Length, 0, false); err != nil {
- return err
- }
-
- if err := validate.MaximumInt("length", "body", *m.Length, 32767, false); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *Cable) validateLengthUnit(formats strfmt.Registry) error {
if swag.IsZero(m.LengthUnit) { // not required
return nil
@@ -219,6 +197,8 @@ func (m *Cable) validateLengthUnit(formats strfmt.Registry) error {
if err := m.LengthUnit.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("length_unit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("length_unit")
}
return err
}
@@ -236,6 +216,8 @@ func (m *Cable) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -258,6 +240,8 @@ func (m *Cable) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -503,6 +487,8 @@ func (m *Cable) contextValidateLengthUnit(ctx context.Context, formats strfmt.Re
if err := m.LengthUnit.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("length_unit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("length_unit")
}
return err
}
@@ -517,6 +503,8 @@ func (m *Cable) contextValidateStatus(ctx context.Context, formats strfmt.Regist
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -533,6 +521,8 @@ func (m *Cable) contextValidateTags(ctx context.Context, formats strfmt.Registry
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -587,12 +577,12 @@ type CableLengthUnit struct {
// label
// Required: true
- // Enum: [Meters Centimeters Feet Inches]
+ // Enum: [Kilometers Meters Centimeters Miles Feet Inches]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [m cm ft in]
+ // Enum: [km m cm mi ft in]
Value *string `json:"value"`
}
@@ -618,7 +608,7 @@ var cableLengthUnitTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["Meters","Centimeters","Feet","Inches"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["Kilometers","Meters","Centimeters","Miles","Feet","Inches"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -628,12 +618,18 @@ func init() {
const (
+ // CableLengthUnitLabelKilometers captures enum value "Kilometers"
+ CableLengthUnitLabelKilometers string = "Kilometers"
+
// CableLengthUnitLabelMeters captures enum value "Meters"
CableLengthUnitLabelMeters string = "Meters"
// CableLengthUnitLabelCentimeters captures enum value "Centimeters"
CableLengthUnitLabelCentimeters string = "Centimeters"
+ // CableLengthUnitLabelMiles captures enum value "Miles"
+ CableLengthUnitLabelMiles string = "Miles"
+
// CableLengthUnitLabelFeet captures enum value "Feet"
CableLengthUnitLabelFeet string = "Feet"
@@ -667,7 +663,7 @@ var cableLengthUnitTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["m","cm","ft","in"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["km","m","cm","mi","ft","in"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -677,12 +673,18 @@ func init() {
const (
+ // CableLengthUnitValueKm captures enum value "km"
+ CableLengthUnitValueKm string = "km"
+
// CableLengthUnitValueM captures enum value "m"
CableLengthUnitValueM string = "m"
// CableLengthUnitValueCm captures enum value "cm"
CableLengthUnitValueCm string = "cm"
+ // CableLengthUnitValueMi captures enum value "mi"
+ CableLengthUnitValueMi string = "mi"
+
// CableLengthUnitValueFt captures enum value "ft"
CableLengthUnitValueFt string = "ft"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/circuit.go b/vendor/github.com/smutel/go-netbox/netbox/models/circuit.go
index 5bc9fdac3..bfc626470 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/circuit.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/circuit.go
@@ -265,6 +265,8 @@ func (m *Circuit) validateProvider(formats strfmt.Registry) error {
if err := m.Provider.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider")
}
return err
}
@@ -282,6 +284,8 @@ func (m *Circuit) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -304,6 +308,8 @@ func (m *Circuit) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -323,6 +329,8 @@ func (m *Circuit) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -340,6 +348,8 @@ func (m *Circuit) validateTerminationa(formats strfmt.Registry) error {
if err := m.Terminationa.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("termination_a")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("termination_a")
}
return err
}
@@ -357,6 +367,8 @@ func (m *Circuit) validateTerminationz(formats strfmt.Registry) error {
if err := m.Terminationz.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("termination_z")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("termination_z")
}
return err
}
@@ -375,6 +387,8 @@ func (m *Circuit) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -495,6 +509,8 @@ func (m *Circuit) contextValidateProvider(ctx context.Context, formats strfmt.Re
if err := m.Provider.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider")
}
return err
}
@@ -509,6 +525,8 @@ func (m *Circuit) contextValidateStatus(ctx context.Context, formats strfmt.Regi
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -525,6 +543,8 @@ func (m *Circuit) contextValidateTags(ctx context.Context, formats strfmt.Regist
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -541,6 +561,8 @@ func (m *Circuit) contextValidateTenant(ctx context.Context, formats strfmt.Regi
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -555,6 +577,8 @@ func (m *Circuit) contextValidateTerminationa(ctx context.Context, formats strfm
if err := m.Terminationa.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("termination_a")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("termination_a")
}
return err
}
@@ -569,6 +593,8 @@ func (m *Circuit) contextValidateTerminationz(ctx context.Context, formats strfm
if err := m.Terminationz.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("termination_z")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("termination_z")
}
return err
}
@@ -583,6 +609,8 @@ func (m *Circuit) contextValidateType(ctx context.Context, formats strfmt.Regist
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/circuit_circuit_termination.go b/vendor/github.com/smutel/go-netbox/netbox/models/circuit_circuit_termination.go
index 9bd4549f2..5eed56e10 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/circuit_circuit_termination.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/circuit_circuit_termination.go
@@ -132,6 +132,8 @@ func (m *CircuitCircuitTermination) validateProviderNetwork(formats strfmt.Regis
if err := m.ProviderNetwork.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider_network")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider_network")
}
return err
}
@@ -150,6 +152,8 @@ func (m *CircuitCircuitTermination) validateSite(formats strfmt.Registry) error
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -252,6 +256,8 @@ func (m *CircuitCircuitTermination) contextValidateProviderNetwork(ctx context.C
if err := m.ProviderNetwork.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider_network")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider_network")
}
return err
}
@@ -266,6 +272,8 @@ func (m *CircuitCircuitTermination) contextValidateSite(ctx context.Context, for
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/circuit_termination.go b/vendor/github.com/smutel/go-netbox/netbox/models/circuit_termination.go
index b0e363fd2..7fea11c85 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/circuit_termination.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/circuit_termination.go
@@ -175,6 +175,8 @@ func (m *CircuitTermination) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -193,6 +195,8 @@ func (m *CircuitTermination) validateCircuit(formats strfmt.Registry) error {
if err := m.Circuit.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuit")
}
return err
}
@@ -250,6 +254,8 @@ func (m *CircuitTermination) validateProviderNetwork(formats strfmt.Registry) er
if err := m.ProviderNetwork.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider_network")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider_network")
}
return err
}
@@ -267,6 +273,8 @@ func (m *CircuitTermination) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -423,6 +431,8 @@ func (m *CircuitTermination) contextValidateCable(ctx context.Context, formats s
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -451,6 +461,8 @@ func (m *CircuitTermination) contextValidateCircuit(ctx context.Context, formats
if err := m.Circuit.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("circuit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("circuit")
}
return err
}
@@ -483,6 +495,8 @@ func (m *CircuitTermination) contextValidateProviderNetwork(ctx context.Context,
if err := m.ProviderNetwork.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider_network")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider_network")
}
return err
}
@@ -497,6 +511,8 @@ func (m *CircuitTermination) contextValidateSite(ctx context.Context, formats st
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/cluster.go b/vendor/github.com/smutel/go-netbox/netbox/models/cluster.go
index 3ea1758b0..77e703ff7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/cluster.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/cluster.go
@@ -162,6 +162,8 @@ func (m *Cluster) validateGroup(formats strfmt.Registry) error {
if err := m.Group.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -208,6 +210,8 @@ func (m *Cluster) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -230,6 +234,8 @@ func (m *Cluster) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -249,6 +255,8 @@ func (m *Cluster) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -267,6 +275,8 @@ func (m *Cluster) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -378,6 +388,8 @@ func (m *Cluster) contextValidateGroup(ctx context.Context, formats strfmt.Regis
if err := m.Group.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -410,6 +422,8 @@ func (m *Cluster) contextValidateSite(ctx context.Context, formats strfmt.Regist
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -426,6 +440,8 @@ func (m *Cluster) contextValidateTags(ctx context.Context, formats strfmt.Regist
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -442,6 +458,8 @@ func (m *Cluster) contextValidateTenant(ctx context.Context, formats strfmt.Regi
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -456,6 +474,8 @@ func (m *Cluster) contextValidateType(ctx context.Context, formats strfmt.Regist
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/config_context.go b/vendor/github.com/smutel/go-netbox/netbox/models/config_context.go
index 647702be8..abb7a8cdc 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/config_context.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/config_context.go
@@ -225,6 +225,8 @@ func (m *ConfigContext) validateClusterGroups(formats strfmt.Registry) error {
if err := m.ClusterGroups[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -253,6 +255,8 @@ func (m *ConfigContext) validateClusters(formats strfmt.Registry) error {
if err := m.Clusters[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("clusters" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("clusters" + "." + strconv.Itoa(i))
}
return err
}
@@ -314,6 +318,8 @@ func (m *ConfigContext) validateDeviceTypes(formats strfmt.Registry) error {
if err := m.DeviceTypes[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_types" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_types" + "." + strconv.Itoa(i))
}
return err
}
@@ -371,6 +377,8 @@ func (m *ConfigContext) validatePlatforms(formats strfmt.Registry) error {
if err := m.Platforms[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platforms" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platforms" + "." + strconv.Itoa(i))
}
return err
}
@@ -399,6 +407,8 @@ func (m *ConfigContext) validateRegions(formats strfmt.Registry) error {
if err := m.Regions[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("regions" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("regions" + "." + strconv.Itoa(i))
}
return err
}
@@ -427,6 +437,8 @@ func (m *ConfigContext) validateRoles(formats strfmt.Registry) error {
if err := m.Roles[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("roles" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("roles" + "." + strconv.Itoa(i))
}
return err
}
@@ -455,6 +467,8 @@ func (m *ConfigContext) validateSiteGroups(formats strfmt.Registry) error {
if err := m.SiteGroups[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -483,6 +497,8 @@ func (m *ConfigContext) validateSites(formats strfmt.Registry) error {
if err := m.Sites[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("sites" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("sites" + "." + strconv.Itoa(i))
}
return err
}
@@ -531,6 +547,8 @@ func (m *ConfigContext) validateTenantGroups(formats strfmt.Registry) error {
if err := m.TenantGroups[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -559,6 +577,8 @@ func (m *ConfigContext) validateTenants(formats strfmt.Registry) error {
if err := m.Tenants[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenants" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenants" + "." + strconv.Itoa(i))
}
return err
}
@@ -675,6 +695,8 @@ func (m *ConfigContext) contextValidateClusterGroups(ctx context.Context, format
if err := m.ClusterGroups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -693,6 +715,8 @@ func (m *ConfigContext) contextValidateClusters(ctx context.Context, formats str
if err := m.Clusters[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("clusters" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("clusters" + "." + strconv.Itoa(i))
}
return err
}
@@ -720,6 +744,8 @@ func (m *ConfigContext) contextValidateDeviceTypes(ctx context.Context, formats
if err := m.DeviceTypes[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_types" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_types" + "." + strconv.Itoa(i))
}
return err
}
@@ -765,6 +791,8 @@ func (m *ConfigContext) contextValidatePlatforms(ctx context.Context, formats st
if err := m.Platforms[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platforms" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platforms" + "." + strconv.Itoa(i))
}
return err
}
@@ -783,6 +811,8 @@ func (m *ConfigContext) contextValidateRegions(ctx context.Context, formats strf
if err := m.Regions[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("regions" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("regions" + "." + strconv.Itoa(i))
}
return err
}
@@ -801,6 +831,8 @@ func (m *ConfigContext) contextValidateRoles(ctx context.Context, formats strfmt
if err := m.Roles[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("roles" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("roles" + "." + strconv.Itoa(i))
}
return err
}
@@ -819,6 +851,8 @@ func (m *ConfigContext) contextValidateSiteGroups(ctx context.Context, formats s
if err := m.SiteGroups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -837,6 +871,8 @@ func (m *ConfigContext) contextValidateSites(ctx context.Context, formats strfmt
if err := m.Sites[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("sites" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("sites" + "." + strconv.Itoa(i))
}
return err
}
@@ -855,6 +891,8 @@ func (m *ConfigContext) contextValidateTenantGroups(ctx context.Context, formats
if err := m.TenantGroups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant_groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant_groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -873,6 +911,8 @@ func (m *ConfigContext) contextValidateTenants(ctx context.Context, formats strf
if err := m.Tenants[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenants" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenants" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/console_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/console_port.go
index 9d79253db..21d0a8da8 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/console_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/console_port.go
@@ -195,6 +195,8 @@ func (m *ConsolePort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -237,6 +239,8 @@ func (m *ConsolePort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -295,6 +299,8 @@ func (m *ConsolePort) validateSpeed(formats strfmt.Registry) error {
if err := m.Speed.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("speed")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("speed")
}
return err
}
@@ -317,6 +323,8 @@ func (m *ConsolePort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -336,6 +344,8 @@ func (m *ConsolePort) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -445,6 +455,8 @@ func (m *ConsolePort) contextValidateCable(ctx context.Context, formats strfmt.R
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -505,6 +517,8 @@ func (m *ConsolePort) contextValidateDevice(ctx context.Context, formats strfmt.
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -546,6 +560,8 @@ func (m *ConsolePort) contextValidateSpeed(ctx context.Context, formats strfmt.R
if err := m.Speed.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("speed")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("speed")
}
return err
}
@@ -562,6 +578,8 @@ func (m *ConsolePort) contextValidateTags(ctx context.Context, formats strfmt.Re
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -578,6 +596,8 @@ func (m *ConsolePort) contextValidateType(ctx context.Context, formats strfmt.Re
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -772,12 +792,12 @@ type ConsolePortType struct {
// label
// Required: true
- // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B Other]
+ // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 Mini-DIN 8 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Value *string `json:"value"`
}
@@ -803,7 +823,7 @@ var consolePortTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","Mini-DIN 8","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -828,6 +848,9 @@ const (
// ConsolePortTypeLabelRJDash45 captures enum value "RJ-45"
ConsolePortTypeLabelRJDash45 string = "RJ-45"
+ // ConsolePortTypeLabelMiniDashDIN8 captures enum value "Mini-DIN 8"
+ ConsolePortTypeLabelMiniDashDIN8 string = "Mini-DIN 8"
+
// ConsolePortTypeLabelUSBTypeA captures enum value "USB Type A"
ConsolePortTypeLabelUSBTypeA string = "USB Type A"
@@ -849,6 +872,9 @@ const (
// ConsolePortTypeLabelUSBMicroB captures enum value "USB Micro B"
ConsolePortTypeLabelUSBMicroB string = "USB Micro B"
+ // ConsolePortTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ ConsolePortTypeLabelUSBMicroAB string = "USB Micro AB"
+
// ConsolePortTypeLabelOther captures enum value "Other"
ConsolePortTypeLabelOther string = "Other"
)
@@ -879,7 +905,7 @@ var consolePortTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -904,6 +930,9 @@ const (
// ConsolePortTypeValueRjDash45 captures enum value "rj-45"
ConsolePortTypeValueRjDash45 string = "rj-45"
+ // ConsolePortTypeValueMiniDashDinDash8 captures enum value "mini-din-8"
+ ConsolePortTypeValueMiniDashDinDash8 string = "mini-din-8"
+
// ConsolePortTypeValueUsbDasha captures enum value "usb-a"
ConsolePortTypeValueUsbDasha string = "usb-a"
@@ -925,6 +954,9 @@ const (
// ConsolePortTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
ConsolePortTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // ConsolePortTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ ConsolePortTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// ConsolePortTypeValueOther captures enum value "other"
ConsolePortTypeValueOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/console_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/console_port_template.go
index 6c31c9b9b..74cd5561c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/console_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/console_port_template.go
@@ -158,6 +158,8 @@ func (m *ConsolePortTemplate) validateDeviceType(formats strfmt.Registry) error
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -216,6 +218,8 @@ func (m *ConsolePortTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -289,6 +293,8 @@ func (m *ConsolePortTemplate) contextValidateDeviceType(ctx context.Context, for
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -330,6 +336,8 @@ func (m *ConsolePortTemplate) contextValidateType(ctx context.Context, formats s
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -372,12 +380,12 @@ type ConsolePortTemplateType struct {
// label
// Required: true
- // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B Other]
+ // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 Mini-DIN 8 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Value *string `json:"value"`
}
@@ -403,7 +411,7 @@ var consolePortTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","Mini-DIN 8","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -428,6 +436,9 @@ const (
// ConsolePortTemplateTypeLabelRJDash45 captures enum value "RJ-45"
ConsolePortTemplateTypeLabelRJDash45 string = "RJ-45"
+ // ConsolePortTemplateTypeLabelMiniDashDIN8 captures enum value "Mini-DIN 8"
+ ConsolePortTemplateTypeLabelMiniDashDIN8 string = "Mini-DIN 8"
+
// ConsolePortTemplateTypeLabelUSBTypeA captures enum value "USB Type A"
ConsolePortTemplateTypeLabelUSBTypeA string = "USB Type A"
@@ -449,6 +460,9 @@ const (
// ConsolePortTemplateTypeLabelUSBMicroB captures enum value "USB Micro B"
ConsolePortTemplateTypeLabelUSBMicroB string = "USB Micro B"
+ // ConsolePortTemplateTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ ConsolePortTemplateTypeLabelUSBMicroAB string = "USB Micro AB"
+
// ConsolePortTemplateTypeLabelOther captures enum value "Other"
ConsolePortTemplateTypeLabelOther string = "Other"
)
@@ -479,7 +493,7 @@ var consolePortTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -504,6 +518,9 @@ const (
// ConsolePortTemplateTypeValueRjDash45 captures enum value "rj-45"
ConsolePortTemplateTypeValueRjDash45 string = "rj-45"
+ // ConsolePortTemplateTypeValueMiniDashDinDash8 captures enum value "mini-din-8"
+ ConsolePortTemplateTypeValueMiniDashDinDash8 string = "mini-din-8"
+
// ConsolePortTemplateTypeValueUsbDasha captures enum value "usb-a"
ConsolePortTemplateTypeValueUsbDasha string = "usb-a"
@@ -525,6 +542,9 @@ const (
// ConsolePortTemplateTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
ConsolePortTemplateTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // ConsolePortTemplateTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ ConsolePortTemplateTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// ConsolePortTemplateTypeValueOther captures enum value "other"
ConsolePortTemplateTypeValueOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port.go
index c09c6e8de..63b73142d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port.go
@@ -195,6 +195,8 @@ func (m *ConsoleServerPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -237,6 +239,8 @@ func (m *ConsoleServerPort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -295,6 +299,8 @@ func (m *ConsoleServerPort) validateSpeed(formats strfmt.Registry) error {
if err := m.Speed.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("speed")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("speed")
}
return err
}
@@ -317,6 +323,8 @@ func (m *ConsoleServerPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -336,6 +344,8 @@ func (m *ConsoleServerPort) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -445,6 +455,8 @@ func (m *ConsoleServerPort) contextValidateCable(ctx context.Context, formats st
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -505,6 +517,8 @@ func (m *ConsoleServerPort) contextValidateDevice(ctx context.Context, formats s
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -546,6 +560,8 @@ func (m *ConsoleServerPort) contextValidateSpeed(ctx context.Context, formats st
if err := m.Speed.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("speed")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("speed")
}
return err
}
@@ -562,6 +578,8 @@ func (m *ConsoleServerPort) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -578,6 +596,8 @@ func (m *ConsoleServerPort) contextValidateType(ctx context.Context, formats str
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -772,12 +792,12 @@ type ConsoleServerPortType struct {
// label
// Required: true
- // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B Other]
+ // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 Mini-DIN 8 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Value *string `json:"value"`
}
@@ -803,7 +823,7 @@ var consoleServerPortTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","Mini-DIN 8","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -828,6 +848,9 @@ const (
// ConsoleServerPortTypeLabelRJDash45 captures enum value "RJ-45"
ConsoleServerPortTypeLabelRJDash45 string = "RJ-45"
+ // ConsoleServerPortTypeLabelMiniDashDIN8 captures enum value "Mini-DIN 8"
+ ConsoleServerPortTypeLabelMiniDashDIN8 string = "Mini-DIN 8"
+
// ConsoleServerPortTypeLabelUSBTypeA captures enum value "USB Type A"
ConsoleServerPortTypeLabelUSBTypeA string = "USB Type A"
@@ -849,6 +872,9 @@ const (
// ConsoleServerPortTypeLabelUSBMicroB captures enum value "USB Micro B"
ConsoleServerPortTypeLabelUSBMicroB string = "USB Micro B"
+ // ConsoleServerPortTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ ConsoleServerPortTypeLabelUSBMicroAB string = "USB Micro AB"
+
// ConsoleServerPortTypeLabelOther captures enum value "Other"
ConsoleServerPortTypeLabelOther string = "Other"
)
@@ -879,7 +905,7 @@ var consoleServerPortTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -904,6 +930,9 @@ const (
// ConsoleServerPortTypeValueRjDash45 captures enum value "rj-45"
ConsoleServerPortTypeValueRjDash45 string = "rj-45"
+ // ConsoleServerPortTypeValueMiniDashDinDash8 captures enum value "mini-din-8"
+ ConsoleServerPortTypeValueMiniDashDinDash8 string = "mini-din-8"
+
// ConsoleServerPortTypeValueUsbDasha captures enum value "usb-a"
ConsoleServerPortTypeValueUsbDasha string = "usb-a"
@@ -925,6 +954,9 @@ const (
// ConsoleServerPortTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
ConsoleServerPortTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // ConsoleServerPortTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ ConsoleServerPortTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// ConsoleServerPortTypeValueOther captures enum value "other"
ConsoleServerPortTypeValueOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port_template.go
index 119f2a5ea..9072cc0e9 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/console_server_port_template.go
@@ -158,6 +158,8 @@ func (m *ConsoleServerPortTemplate) validateDeviceType(formats strfmt.Registry)
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -216,6 +218,8 @@ func (m *ConsoleServerPortTemplate) validateType(formats strfmt.Registry) error
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -289,6 +293,8 @@ func (m *ConsoleServerPortTemplate) contextValidateDeviceType(ctx context.Contex
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -330,6 +336,8 @@ func (m *ConsoleServerPortTemplate) contextValidateType(ctx context.Context, for
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -372,12 +380,12 @@ type ConsoleServerPortTemplateType struct {
// label
// Required: true
- // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B Other]
+ // Enum: [DE-9 DB-25 RJ-11 RJ-12 RJ-45 Mini-DIN 8 USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Value *string `json:"value"`
}
@@ -403,7 +411,7 @@ var consoleServerPortTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["DE-9","DB-25","RJ-11","RJ-12","RJ-45","Mini-DIN 8","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -428,6 +436,9 @@ const (
// ConsoleServerPortTemplateTypeLabelRJDash45 captures enum value "RJ-45"
ConsoleServerPortTemplateTypeLabelRJDash45 string = "RJ-45"
+ // ConsoleServerPortTemplateTypeLabelMiniDashDIN8 captures enum value "Mini-DIN 8"
+ ConsoleServerPortTemplateTypeLabelMiniDashDIN8 string = "Mini-DIN 8"
+
// ConsoleServerPortTemplateTypeLabelUSBTypeA captures enum value "USB Type A"
ConsoleServerPortTemplateTypeLabelUSBTypeA string = "USB Type A"
@@ -449,6 +460,9 @@ const (
// ConsoleServerPortTemplateTypeLabelUSBMicroB captures enum value "USB Micro B"
ConsoleServerPortTemplateTypeLabelUSBMicroB string = "USB Micro B"
+ // ConsoleServerPortTemplateTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ ConsoleServerPortTemplateTypeLabelUSBMicroAB string = "USB Micro AB"
+
// ConsoleServerPortTemplateTypeLabelOther captures enum value "Other"
ConsoleServerPortTemplateTypeLabelOther string = "Other"
)
@@ -479,7 +493,7 @@ var consoleServerPortTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -504,6 +518,9 @@ const (
// ConsoleServerPortTemplateTypeValueRjDash45 captures enum value "rj-45"
ConsoleServerPortTemplateTypeValueRjDash45 string = "rj-45"
+ // ConsoleServerPortTemplateTypeValueMiniDashDinDash8 captures enum value "mini-din-8"
+ ConsoleServerPortTemplateTypeValueMiniDashDinDash8 string = "mini-din-8"
+
// ConsoleServerPortTemplateTypeValueUsbDasha captures enum value "usb-a"
ConsoleServerPortTemplateTypeValueUsbDasha string = "usb-a"
@@ -525,6 +542,9 @@ const (
// ConsoleServerPortTemplateTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
ConsoleServerPortTemplateTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // ConsoleServerPortTemplateTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ ConsoleServerPortTemplateTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// ConsoleServerPortTemplateTypeValueOther captures enum value "other"
ConsoleServerPortTemplateTypeValueOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/content_type.go b/vendor/github.com/smutel/go-netbox/netbox/models/content_type.go
index b29c59ebd..7fbbd8c5f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/content_type.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/content_type.go
@@ -44,11 +44,6 @@ type ContentType struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- // Min Length: 1
- DisplayName string `json:"display_name,omitempty"`
-
// ID
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -73,10 +68,6 @@ func (m *ContentType) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
- if err := m.validateDisplayName(formats); err != nil {
- res = append(res, err)
- }
-
if err := m.validateModel(formats); err != nil {
res = append(res, err)
}
@@ -108,18 +99,6 @@ func (m *ContentType) validateAppLabel(formats strfmt.Registry) error {
return nil
}
-func (m *ContentType) validateDisplayName(formats strfmt.Registry) error {
- if swag.IsZero(m.DisplayName) { // not required
- return nil
- }
-
- if err := validate.MinLength("display_name", "body", m.DisplayName, 1); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *ContentType) validateModel(formats strfmt.Registry) error {
if err := validate.Required("model", "body", m.Model); err != nil {
@@ -157,10 +136,6 @@ func (m *ContentType) ContextValidate(ctx context.Context, formats strfmt.Regist
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -184,15 +159,6 @@ func (m *ContentType) contextValidateDisplay(ctx context.Context, formats strfmt
return nil
}
-func (m *ContentType) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *ContentType) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/custom_field.go b/vendor/github.com/smutel/go-netbox/netbox/models/custom_field.go
index 0930a79ab..2a5fbc479 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/custom_field.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/custom_field.go
@@ -232,6 +232,8 @@ func (m *CustomField) validateFilterLogic(formats strfmt.Registry) error {
if err := m.FilterLogic.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("filter_logic")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("filter_logic")
}
return err
}
@@ -279,6 +281,8 @@ func (m *CustomField) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -404,6 +408,8 @@ func (m *CustomField) contextValidateFilterLogic(ctx context.Context, formats st
if err := m.FilterLogic.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("filter_logic")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("filter_logic")
}
return err
}
@@ -427,6 +433,8 @@ func (m *CustomField) contextValidateType(ctx context.Context, formats strfmt.Re
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/custom_link.go b/vendor/github.com/smutel/go-netbox/netbox/models/custom_link.go
index 7eb89a28d..39a223a6e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/custom_link.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/custom_link.go
@@ -38,7 +38,7 @@ type CustomLink struct {
// Button class
//
// The class of the first link in a group will be used for the dropdown button
- // Enum: [default primary success info warning danger link]
+ // Enum: [outline-dark ghost-dark blue indigo purple pink red orange yellow green teal cyan secondary]
ButtonClass string `json:"button_class,omitempty"`
// Content type
@@ -143,7 +143,7 @@ var customLinkTypeButtonClassPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["default","primary","success","info","warning","danger","link"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["outline-dark","ghost-dark","blue","indigo","purple","pink","red","orange","yellow","green","teal","cyan","secondary"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -153,26 +153,44 @@ func init() {
const (
- // CustomLinkButtonClassDefault captures enum value "default"
- CustomLinkButtonClassDefault string = "default"
+ // CustomLinkButtonClassOutlineDashDark captures enum value "outline-dark"
+ CustomLinkButtonClassOutlineDashDark string = "outline-dark"
- // CustomLinkButtonClassPrimary captures enum value "primary"
- CustomLinkButtonClassPrimary string = "primary"
+ // CustomLinkButtonClassGhostDashDark captures enum value "ghost-dark"
+ CustomLinkButtonClassGhostDashDark string = "ghost-dark"
- // CustomLinkButtonClassSuccess captures enum value "success"
- CustomLinkButtonClassSuccess string = "success"
+ // CustomLinkButtonClassBlue captures enum value "blue"
+ CustomLinkButtonClassBlue string = "blue"
- // CustomLinkButtonClassInfo captures enum value "info"
- CustomLinkButtonClassInfo string = "info"
+ // CustomLinkButtonClassIndigo captures enum value "indigo"
+ CustomLinkButtonClassIndigo string = "indigo"
- // CustomLinkButtonClassWarning captures enum value "warning"
- CustomLinkButtonClassWarning string = "warning"
+ // CustomLinkButtonClassPurple captures enum value "purple"
+ CustomLinkButtonClassPurple string = "purple"
- // CustomLinkButtonClassDanger captures enum value "danger"
- CustomLinkButtonClassDanger string = "danger"
+ // CustomLinkButtonClassPink captures enum value "pink"
+ CustomLinkButtonClassPink string = "pink"
- // CustomLinkButtonClassLink captures enum value "link"
- CustomLinkButtonClassLink string = "link"
+ // CustomLinkButtonClassRed captures enum value "red"
+ CustomLinkButtonClassRed string = "red"
+
+ // CustomLinkButtonClassOrange captures enum value "orange"
+ CustomLinkButtonClassOrange string = "orange"
+
+ // CustomLinkButtonClassYellow captures enum value "yellow"
+ CustomLinkButtonClassYellow string = "yellow"
+
+ // CustomLinkButtonClassGreen captures enum value "green"
+ CustomLinkButtonClassGreen string = "green"
+
+ // CustomLinkButtonClassTeal captures enum value "teal"
+ CustomLinkButtonClassTeal string = "teal"
+
+ // CustomLinkButtonClassCyan captures enum value "cyan"
+ CustomLinkButtonClassCyan string = "cyan"
+
+ // CustomLinkButtonClassSecondary captures enum value "secondary"
+ CustomLinkButtonClassSecondary string = "secondary"
)
// prop value enum
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/device.go b/vendor/github.com/smutel/go-netbox/netbox/models/device.go
index 4c978a5bb..e81b44aa3 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/device.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/device.go
@@ -68,10 +68,6 @@ type Device struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// face
Face *DeviceFace `json:"face,omitempty"`
@@ -286,6 +282,8 @@ func (m *Device) validateCluster(formats strfmt.Registry) error {
if err := m.Cluster.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -316,6 +314,8 @@ func (m *Device) validateDeviceRole(formats strfmt.Registry) error {
if err := m.DeviceRole.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_role")
}
return err
}
@@ -334,6 +334,8 @@ func (m *Device) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -351,6 +353,8 @@ func (m *Device) validateFace(formats strfmt.Registry) error {
if err := m.Face.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
@@ -380,6 +384,8 @@ func (m *Device) validateLocation(formats strfmt.Registry) error {
if err := m.Location.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -409,6 +415,8 @@ func (m *Device) validateParentDevice(formats strfmt.Registry) error {
if err := m.ParentDevice.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -426,6 +434,8 @@ func (m *Device) validatePlatform(formats strfmt.Registry) error {
if err := m.Platform.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -459,6 +469,8 @@ func (m *Device) validatePrimaryIP(formats strfmt.Registry) error {
if err := m.PrimaryIP.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -476,6 +488,8 @@ func (m *Device) validatePrimaryIp4(formats strfmt.Registry) error {
if err := m.PrimaryIp4.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -493,6 +507,8 @@ func (m *Device) validatePrimaryIp6(formats strfmt.Registry) error {
if err := m.PrimaryIp6.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -510,6 +526,8 @@ func (m *Device) validateRack(formats strfmt.Registry) error {
if err := m.Rack.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -540,6 +558,8 @@ func (m *Device) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -557,6 +577,8 @@ func (m *Device) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -579,6 +601,8 @@ func (m *Device) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -598,6 +622,8 @@ func (m *Device) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -659,6 +685,8 @@ func (m *Device) validateVirtualChassis(formats strfmt.Registry) error {
if err := m.VirtualChassis.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_chassis")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_chassis")
}
return err
}
@@ -691,10 +719,6 @@ func (m *Device) ContextValidate(ctx context.Context, formats strfmt.Registry) e
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateFace(ctx, formats); err != nil {
res = append(res, err)
}
@@ -771,6 +795,8 @@ func (m *Device) contextValidateCluster(ctx context.Context, formats strfmt.Regi
if err := m.Cluster.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -794,6 +820,8 @@ func (m *Device) contextValidateDeviceRole(ctx context.Context, formats strfmt.R
if err := m.DeviceRole.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_role")
}
return err
}
@@ -808,6 +836,8 @@ func (m *Device) contextValidateDeviceType(ctx context.Context, formats strfmt.R
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -825,21 +855,14 @@ func (m *Device) contextValidateDisplay(ctx context.Context, formats strfmt.Regi
return nil
}
-func (m *Device) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *Device) contextValidateFace(ctx context.Context, formats strfmt.Registry) error {
if m.Face != nil {
if err := m.Face.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
@@ -872,6 +895,8 @@ func (m *Device) contextValidateLocation(ctx context.Context, formats strfmt.Reg
if err := m.Location.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -886,6 +911,8 @@ func (m *Device) contextValidateParentDevice(ctx context.Context, formats strfmt
if err := m.ParentDevice.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -900,6 +927,8 @@ func (m *Device) contextValidatePlatform(ctx context.Context, formats strfmt.Reg
if err := m.Platform.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -914,6 +943,8 @@ func (m *Device) contextValidatePrimaryIP(ctx context.Context, formats strfmt.Re
if err := m.PrimaryIP.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -928,6 +959,8 @@ func (m *Device) contextValidatePrimaryIp4(ctx context.Context, formats strfmt.R
if err := m.PrimaryIp4.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -942,6 +975,8 @@ func (m *Device) contextValidatePrimaryIp6(ctx context.Context, formats strfmt.R
if err := m.PrimaryIp6.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -956,6 +991,8 @@ func (m *Device) contextValidateRack(ctx context.Context, formats strfmt.Registr
if err := m.Rack.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -970,6 +1007,8 @@ func (m *Device) contextValidateSite(ctx context.Context, formats strfmt.Registr
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -984,6 +1023,8 @@ func (m *Device) contextValidateStatus(ctx context.Context, formats strfmt.Regis
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -1000,6 +1041,8 @@ func (m *Device) contextValidateTags(ctx context.Context, formats strfmt.Registr
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -1016,6 +1059,8 @@ func (m *Device) contextValidateTenant(ctx context.Context, formats strfmt.Regis
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -1039,6 +1084,8 @@ func (m *Device) contextValidateVirtualChassis(ctx context.Context, formats strf
if err := m.VirtualChassis.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_chassis")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_chassis")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/device_bay.go b/vendor/github.com/smutel/go-netbox/netbox/models/device_bay.go
index 9fd924ef1..ba63c561f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/device_bay.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/device_bay.go
@@ -168,6 +168,8 @@ func (m *DeviceBay) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -185,6 +187,8 @@ func (m *DeviceBay) validateInstalledDevice(formats strfmt.Registry) error {
if err := m.InstalledDevice.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("installed_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("installed_device")
}
return err
}
@@ -248,6 +252,8 @@ func (m *DeviceBay) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -327,6 +333,8 @@ func (m *DeviceBay) contextValidateDevice(ctx context.Context, formats strfmt.Re
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -359,6 +367,8 @@ func (m *DeviceBay) contextValidateInstalledDevice(ctx context.Context, formats
if err := m.InstalledDevice.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("installed_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("installed_device")
}
return err
}
@@ -384,6 +394,8 @@ func (m *DeviceBay) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/device_bay_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/device_bay_template.go
index 15ef13fd0..ddf38e971 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/device_bay_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/device_bay_template.go
@@ -150,6 +150,8 @@ func (m *DeviceBayTemplate) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -260,6 +262,8 @@ func (m *DeviceBayTemplate) contextValidateDeviceType(ctx context.Context, forma
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/device_type.go b/vendor/github.com/smutel/go-netbox/netbox/models/device_type.go
index 366d69c3b..7df52e9d5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/device_type.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/device_type.go
@@ -55,10 +55,6 @@ type DeviceType struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Front image
// Read Only: true
// Format: uri
@@ -227,6 +223,8 @@ func (m *DeviceType) validateManufacturer(formats strfmt.Registry) error {
if err := m.Manufacturer.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -306,6 +304,8 @@ func (m *DeviceType) validateSubdeviceRole(formats strfmt.Registry) error {
if err := m.SubdeviceRole.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("subdevice_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("subdevice_role")
}
return err
}
@@ -328,6 +328,8 @@ func (m *DeviceType) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -382,10 +384,6 @@ func (m *DeviceType) ContextValidate(ctx context.Context, formats strfmt.Registr
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateFrontImage(ctx, formats); err != nil {
res = append(res, err)
}
@@ -451,15 +449,6 @@ func (m *DeviceType) contextValidateDisplay(ctx context.Context, formats strfmt.
return nil
}
-func (m *DeviceType) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *DeviceType) contextValidateFrontImage(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "front_image", "body", strfmt.URI(m.FrontImage)); err != nil {
@@ -493,6 +482,8 @@ func (m *DeviceType) contextValidateManufacturer(ctx context.Context, formats st
if err := m.Manufacturer.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -516,6 +507,8 @@ func (m *DeviceType) contextValidateSubdeviceRole(ctx context.Context, formats s
if err := m.SubdeviceRole.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("subdevice_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("subdevice_role")
}
return err
}
@@ -532,6 +525,8 @@ func (m *DeviceType) contextValidateTags(ctx context.Context, formats strfmt.Reg
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/device_with_config_context.go b/vendor/github.com/smutel/go-netbox/netbox/models/device_with_config_context.go
index a2506c695..daebde72e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/device_with_config_context.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/device_with_config_context.go
@@ -72,10 +72,6 @@ type DeviceWithConfigContext struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// face
Face *DeviceWithConfigContextFace `json:"face,omitempty"`
@@ -290,6 +286,8 @@ func (m *DeviceWithConfigContext) validateCluster(formats strfmt.Registry) error
if err := m.Cluster.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -320,6 +318,8 @@ func (m *DeviceWithConfigContext) validateDeviceRole(formats strfmt.Registry) er
if err := m.DeviceRole.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_role")
}
return err
}
@@ -338,6 +338,8 @@ func (m *DeviceWithConfigContext) validateDeviceType(formats strfmt.Registry) er
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -355,6 +357,8 @@ func (m *DeviceWithConfigContext) validateFace(formats strfmt.Registry) error {
if err := m.Face.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
@@ -384,6 +388,8 @@ func (m *DeviceWithConfigContext) validateLocation(formats strfmt.Registry) erro
if err := m.Location.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -413,6 +419,8 @@ func (m *DeviceWithConfigContext) validateParentDevice(formats strfmt.Registry)
if err := m.ParentDevice.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -430,6 +438,8 @@ func (m *DeviceWithConfigContext) validatePlatform(formats strfmt.Registry) erro
if err := m.Platform.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -463,6 +473,8 @@ func (m *DeviceWithConfigContext) validatePrimaryIP(formats strfmt.Registry) err
if err := m.PrimaryIP.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -480,6 +492,8 @@ func (m *DeviceWithConfigContext) validatePrimaryIp4(formats strfmt.Registry) er
if err := m.PrimaryIp4.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -497,6 +511,8 @@ func (m *DeviceWithConfigContext) validatePrimaryIp6(formats strfmt.Registry) er
if err := m.PrimaryIp6.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -514,6 +530,8 @@ func (m *DeviceWithConfigContext) validateRack(formats strfmt.Registry) error {
if err := m.Rack.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -544,6 +562,8 @@ func (m *DeviceWithConfigContext) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -561,6 +581,8 @@ func (m *DeviceWithConfigContext) validateStatus(formats strfmt.Registry) error
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -583,6 +605,8 @@ func (m *DeviceWithConfigContext) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -602,6 +626,8 @@ func (m *DeviceWithConfigContext) validateTenant(formats strfmt.Registry) error
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -663,6 +689,8 @@ func (m *DeviceWithConfigContext) validateVirtualChassis(formats strfmt.Registry
if err := m.VirtualChassis.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_chassis")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_chassis")
}
return err
}
@@ -699,10 +727,6 @@ func (m *DeviceWithConfigContext) ContextValidate(ctx context.Context, formats s
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateFace(ctx, formats); err != nil {
res = append(res, err)
}
@@ -779,6 +803,8 @@ func (m *DeviceWithConfigContext) contextValidateCluster(ctx context.Context, fo
if err := m.Cluster.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -807,6 +833,8 @@ func (m *DeviceWithConfigContext) contextValidateDeviceRole(ctx context.Context,
if err := m.DeviceRole.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_role")
}
return err
}
@@ -821,6 +849,8 @@ func (m *DeviceWithConfigContext) contextValidateDeviceType(ctx context.Context,
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -838,21 +868,14 @@ func (m *DeviceWithConfigContext) contextValidateDisplay(ctx context.Context, fo
return nil
}
-func (m *DeviceWithConfigContext) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *DeviceWithConfigContext) contextValidateFace(ctx context.Context, formats strfmt.Registry) error {
if m.Face != nil {
if err := m.Face.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
@@ -885,6 +908,8 @@ func (m *DeviceWithConfigContext) contextValidateLocation(ctx context.Context, f
if err := m.Location.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -899,6 +924,8 @@ func (m *DeviceWithConfigContext) contextValidateParentDevice(ctx context.Contex
if err := m.ParentDevice.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -913,6 +940,8 @@ func (m *DeviceWithConfigContext) contextValidatePlatform(ctx context.Context, f
if err := m.Platform.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -927,6 +956,8 @@ func (m *DeviceWithConfigContext) contextValidatePrimaryIP(ctx context.Context,
if err := m.PrimaryIP.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -941,6 +972,8 @@ func (m *DeviceWithConfigContext) contextValidatePrimaryIp4(ctx context.Context,
if err := m.PrimaryIp4.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -955,6 +988,8 @@ func (m *DeviceWithConfigContext) contextValidatePrimaryIp6(ctx context.Context,
if err := m.PrimaryIp6.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -969,6 +1004,8 @@ func (m *DeviceWithConfigContext) contextValidateRack(ctx context.Context, forma
if err := m.Rack.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -983,6 +1020,8 @@ func (m *DeviceWithConfigContext) contextValidateSite(ctx context.Context, forma
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -997,6 +1036,8 @@ func (m *DeviceWithConfigContext) contextValidateStatus(ctx context.Context, for
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -1013,6 +1054,8 @@ func (m *DeviceWithConfigContext) contextValidateTags(ctx context.Context, forma
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -1029,6 +1072,8 @@ func (m *DeviceWithConfigContext) contextValidateTenant(ctx context.Context, for
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -1052,6 +1097,8 @@ func (m *DeviceWithConfigContext) contextValidateVirtualChassis(ctx context.Cont
if err := m.VirtualChassis.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_chassis")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_chassis")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/export_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/export_template.go
index e7f67e10b..2133cdf2f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/export_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/export_template.go
@@ -75,7 +75,7 @@ type ExportTemplate struct {
// Template code
//
- // The list of objects being exported is passed as a context variable named queryset
.
+ // Jinja2 template code. The list of objects being exported is passed as a context variable named queryset
.
// Required: true
// Min Length: 1
TemplateCode *string `json:"template_code"`
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/front_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/front_port.go
index e490a5867..667992448 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/front_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/front_port.go
@@ -55,6 +55,11 @@ type FrontPort struct {
// Read Only: true
CablePeerType string `json:"cable_peer_type,omitempty"`
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -131,6 +136,10 @@ func (m *FrontPort) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -190,6 +199,8 @@ func (m *FrontPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -198,6 +209,22 @@ func (m *FrontPort) validateCable(formats strfmt.Registry) error {
return nil
}
+func (m *FrontPort) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *FrontPort) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -232,6 +259,8 @@ func (m *FrontPort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -291,6 +320,8 @@ func (m *FrontPort) validateRearPort(formats strfmt.Registry) error {
if err := m.RearPort.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rear_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rear_port")
}
return err
}
@@ -329,6 +360,8 @@ func (m *FrontPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -349,6 +382,8 @@ func (m *FrontPort) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -446,6 +481,8 @@ func (m *FrontPort) contextValidateCable(ctx context.Context, formats strfmt.Reg
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -483,6 +520,8 @@ func (m *FrontPort) contextValidateDevice(ctx context.Context, formats strfmt.Re
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -524,6 +563,8 @@ func (m *FrontPort) contextValidateRearPort(ctx context.Context, formats strfmt.
if err := m.RearPort.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rear_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rear_port")
}
return err
}
@@ -540,6 +581,8 @@ func (m *FrontPort) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -556,6 +599,8 @@ func (m *FrontPort) contextValidateType(ctx context.Context, formats strfmt.Regi
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -598,12 +643,12 @@ type FrontPortType struct {
// label
// Required: true
- // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN Splice]
+ // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN SMA 905 SMA 906 URM-P2 URM-P4 URM-P8 Splice]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Value *string `json:"value"`
}
@@ -629,7 +674,7 @@ var frontPortTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","Splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","SMA 905","SMA 906","URM-P2","URM-P4","URM-P8","Splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -729,6 +774,21 @@ const (
// FrontPortTypeLabelSN captures enum value "SN"
FrontPortTypeLabelSN string = "SN"
+ // FrontPortTypeLabelSMA905 captures enum value "SMA 905"
+ FrontPortTypeLabelSMA905 string = "SMA 905"
+
+ // FrontPortTypeLabelSMA906 captures enum value "SMA 906"
+ FrontPortTypeLabelSMA906 string = "SMA 906"
+
+ // FrontPortTypeLabelURMDashP2 captures enum value "URM-P2"
+ FrontPortTypeLabelURMDashP2 string = "URM-P2"
+
+ // FrontPortTypeLabelURMDashP4 captures enum value "URM-P4"
+ FrontPortTypeLabelURMDashP4 string = "URM-P4"
+
+ // FrontPortTypeLabelURMDashP8 captures enum value "URM-P8"
+ FrontPortTypeLabelURMDashP8 string = "URM-P8"
+
// FrontPortTypeLabelSplice captures enum value "Splice"
FrontPortTypeLabelSplice string = "Splice"
)
@@ -759,7 +819,7 @@ var frontPortTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -859,6 +919,21 @@ const (
// FrontPortTypeValueSn captures enum value "sn"
FrontPortTypeValueSn string = "sn"
+ // FrontPortTypeValueSmaDash905 captures enum value "sma-905"
+ FrontPortTypeValueSmaDash905 string = "sma-905"
+
+ // FrontPortTypeValueSmaDash906 captures enum value "sma-906"
+ FrontPortTypeValueSmaDash906 string = "sma-906"
+
+ // FrontPortTypeValueUrmDashP2 captures enum value "urm-p2"
+ FrontPortTypeValueUrmDashP2 string = "urm-p2"
+
+ // FrontPortTypeValueUrmDashP4 captures enum value "urm-p4"
+ FrontPortTypeValueUrmDashP4 string = "urm-p4"
+
+ // FrontPortTypeValueUrmDashP8 captures enum value "urm-p8"
+ FrontPortTypeValueUrmDashP8 string = "urm-p8"
+
// FrontPortTypeValueSplice captures enum value "splice"
FrontPortTypeValueSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/front_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/front_port_template.go
index 01ac8df49..4bbe46148 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/front_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/front_port_template.go
@@ -35,6 +35,11 @@ import (
// swagger:model FrontPortTemplate
type FrontPortTemplate struct {
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -96,6 +101,10 @@ type FrontPortTemplate struct {
func (m *FrontPortTemplate) Validate(formats strfmt.Registry) error {
var res []error
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -142,6 +151,22 @@ func (m *FrontPortTemplate) Validate(formats strfmt.Registry) error {
return nil
}
+func (m *FrontPortTemplate) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *FrontPortTemplate) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -176,6 +201,8 @@ func (m *FrontPortTemplate) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -235,6 +262,8 @@ func (m *FrontPortTemplate) validateRearPort(formats strfmt.Registry) error {
if err := m.RearPort.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rear_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rear_port")
}
return err
}
@@ -269,6 +298,8 @@ func (m *FrontPortTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -346,6 +377,8 @@ func (m *FrontPortTemplate) contextValidateDeviceType(ctx context.Context, forma
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -387,6 +420,8 @@ func (m *FrontPortTemplate) contextValidateRearPort(ctx context.Context, formats
if err := m.RearPort.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rear_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rear_port")
}
return err
}
@@ -401,6 +436,8 @@ func (m *FrontPortTemplate) contextValidateType(ctx context.Context, formats str
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -443,12 +480,12 @@ type FrontPortTemplateType struct {
// label
// Required: true
- // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN Splice]
+ // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN SMA 905 SMA 906 URM-P2 URM-P4 URM-P8 Splice]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Value *string `json:"value"`
}
@@ -474,7 +511,7 @@ var frontPortTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","Splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","SMA 905","SMA 906","URM-P2","URM-P4","URM-P8","Splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -574,6 +611,21 @@ const (
// FrontPortTemplateTypeLabelSN captures enum value "SN"
FrontPortTemplateTypeLabelSN string = "SN"
+ // FrontPortTemplateTypeLabelSMA905 captures enum value "SMA 905"
+ FrontPortTemplateTypeLabelSMA905 string = "SMA 905"
+
+ // FrontPortTemplateTypeLabelSMA906 captures enum value "SMA 906"
+ FrontPortTemplateTypeLabelSMA906 string = "SMA 906"
+
+ // FrontPortTemplateTypeLabelURMDashP2 captures enum value "URM-P2"
+ FrontPortTemplateTypeLabelURMDashP2 string = "URM-P2"
+
+ // FrontPortTemplateTypeLabelURMDashP4 captures enum value "URM-P4"
+ FrontPortTemplateTypeLabelURMDashP4 string = "URM-P4"
+
+ // FrontPortTemplateTypeLabelURMDashP8 captures enum value "URM-P8"
+ FrontPortTemplateTypeLabelURMDashP8 string = "URM-P8"
+
// FrontPortTemplateTypeLabelSplice captures enum value "Splice"
FrontPortTemplateTypeLabelSplice string = "Splice"
)
@@ -604,7 +656,7 @@ var frontPortTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -704,6 +756,21 @@ const (
// FrontPortTemplateTypeValueSn captures enum value "sn"
FrontPortTemplateTypeValueSn string = "sn"
+ // FrontPortTemplateTypeValueSmaDash905 captures enum value "sma-905"
+ FrontPortTemplateTypeValueSmaDash905 string = "sma-905"
+
+ // FrontPortTemplateTypeValueSmaDash906 captures enum value "sma-906"
+ FrontPortTemplateTypeValueSmaDash906 string = "sma-906"
+
+ // FrontPortTemplateTypeValueUrmDashP2 captures enum value "urm-p2"
+ FrontPortTemplateTypeValueUrmDashP2 string = "urm-p2"
+
+ // FrontPortTemplateTypeValueUrmDashP4 captures enum value "urm-p4"
+ FrontPortTemplateTypeValueUrmDashP4 string = "urm-p4"
+
+ // FrontPortTemplateTypeValueUrmDashP8 captures enum value "urm-p8"
+ FrontPortTemplateTypeValueUrmDashP8 string = "urm-p8"
+
// FrontPortTemplateTypeValueSplice captures enum value "splice"
FrontPortTemplateTypeValueSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/interface.go
index 6993f8dfc..59fd86e79 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/interface.go
@@ -249,6 +249,8 @@ func (m *Interface) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -291,6 +293,8 @@ func (m *Interface) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -320,6 +324,8 @@ func (m *Interface) validateLag(formats strfmt.Registry) error {
if err := m.Lag.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("lag")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("lag")
}
return err
}
@@ -349,6 +355,8 @@ func (m *Interface) validateMode(formats strfmt.Registry) error {
if err := m.Mode.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("mode")
}
return err
}
@@ -399,6 +407,8 @@ func (m *Interface) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -425,6 +435,8 @@ func (m *Interface) validateTaggedVlans(formats strfmt.Registry) error {
if err := m.TaggedVlans[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
}
return err
}
@@ -449,6 +461,8 @@ func (m *Interface) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -469,6 +483,8 @@ func (m *Interface) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -486,6 +502,8 @@ func (m *Interface) validateUntaggedVlan(formats strfmt.Registry) error {
if err := m.UntaggedVlan.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("untagged_vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("untagged_vlan")
}
return err
}
@@ -615,6 +633,8 @@ func (m *Interface) contextValidateCable(ctx context.Context, formats strfmt.Reg
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -684,6 +704,8 @@ func (m *Interface) contextValidateDevice(ctx context.Context, formats strfmt.Re
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -716,6 +738,8 @@ func (m *Interface) contextValidateLag(ctx context.Context, formats strfmt.Regis
if err := m.Lag.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("lag")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("lag")
}
return err
}
@@ -739,6 +763,8 @@ func (m *Interface) contextValidateMode(ctx context.Context, formats strfmt.Regi
if err := m.Mode.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("mode")
}
return err
}
@@ -753,6 +779,8 @@ func (m *Interface) contextValidateParent(ctx context.Context, formats strfmt.Re
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -769,6 +797,8 @@ func (m *Interface) contextValidateTaggedVlans(ctx context.Context, formats strf
if err := m.TaggedVlans[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
}
return err
}
@@ -787,6 +817,8 @@ func (m *Interface) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -803,6 +835,8 @@ func (m *Interface) contextValidateType(ctx context.Context, formats strfmt.Regi
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -817,6 +851,8 @@ func (m *Interface) contextValidateUntaggedVlan(ctx context.Context, formats str
if err := m.UntaggedVlan.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("untagged_vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("untagged_vlan")
}
return err
}
@@ -1008,12 +1044,12 @@ type InterfaceType struct {
// label
// Required: true
- // Enum: [Virtual Link Aggregation Group (LAG) 100BASE-TX (10/100ME) 1000BASE-T (1GE) 2.5GBASE-T (2.5GE) 5GBASE-T (5GE) 10GBASE-T (10GE) 10GBASE-CX4 (10GE) GBIC (1GE) SFP (1GE) SFP+ (10GE) XFP (10GE) XENPAK (10GE) X2 (10GE) SFP28 (25GE) SFP56 (50GE) QSFP+ (40GE) QSFP28 (50GE) CFP (100GE) CFP2 (100GE) CFP2 (200GE) CFP4 (100GE) Cisco CPAK (100GE) QSFP28 (100GE) QSFP56 (200GE) QSFP-DD (400GE) OSFP (400GE) IEEE 802.11a IEEE 802.11b/g IEEE 802.11n IEEE 802.11ac IEEE 802.11ad IEEE 802.11ax GSM CDMA LTE OC-3/STM-1 OC-12/STM-4 OC-48/STM-16 OC-192/STM-64 OC-768/STM-256 OC-1920/STM-640 OC-3840/STM-1234 SFP (1GFC) SFP (2GFC) SFP (4GFC) SFP+ (8GFC) SFP+ (16GFC) SFP28 (32GFC) QSFP+ (64GFC) QSFP28 (128GFC) SDR (2 Gbps) DDR (4 Gbps) QDR (8 Gbps) FDR10 (10 Gbps) FDR (13.5 Gbps) EDR (25 Gbps) HDR (50 Gbps) NDR (100 Gbps) XDR (250 Gbps) T1 (1.544 Mbps) E1 (2.048 Mbps) T3 (45 Mbps) E3 (34 Mbps) Cisco StackWise Cisco StackWise Plus Cisco FlexStack Cisco FlexStack Plus Juniper VCP Extreme SummitStack Extreme SummitStack-128 Extreme SummitStack-256 Extreme SummitStack-512 Other]
+ // Enum: [Virtual Link Aggregation Group (LAG) 100BASE-TX (10/100ME) 1000BASE-T (1GE) 2.5GBASE-T (2.5GE) 5GBASE-T (5GE) 10GBASE-T (10GE) 10GBASE-CX4 (10GE) GBIC (1GE) SFP (1GE) SFP+ (10GE) XFP (10GE) XENPAK (10GE) X2 (10GE) SFP28 (25GE) SFP56 (50GE) QSFP+ (40GE) QSFP28 (50GE) CFP (100GE) CFP2 (100GE) CFP2 (200GE) CFP4 (100GE) Cisco CPAK (100GE) QSFP28 (100GE) QSFP56 (200GE) QSFP-DD (400GE) OSFP (400GE) IEEE 802.11a IEEE 802.11b/g IEEE 802.11n IEEE 802.11ac IEEE 802.11ad IEEE 802.11ax IEEE 802.15.1 (Bluetooth) GSM CDMA LTE OC-3/STM-1 OC-12/STM-4 OC-48/STM-16 OC-192/STM-64 OC-768/STM-256 OC-1920/STM-640 OC-3840/STM-1234 SFP (1GFC) SFP (2GFC) SFP (4GFC) SFP+ (8GFC) SFP+ (16GFC) SFP28 (32GFC) QSFP+ (64GFC) QSFP28 (128GFC) SDR (2 Gbps) DDR (4 Gbps) QDR (8 Gbps) FDR10 (10 Gbps) FDR (13.5 Gbps) EDR (25 Gbps) HDR (50 Gbps) NDR (100 Gbps) XDR (250 Gbps) T1 (1.544 Mbps) E1 (2.048 Mbps) T3 (45 Mbps) E3 (34 Mbps) xDSL Cisco StackWise Cisco StackWise Plus Cisco FlexStack Cisco FlexStack Plus Juniper VCP Extreme SummitStack Extreme SummitStack-128 Extreme SummitStack-256 Extreme SummitStack-512 Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
+ // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax ieee802.15.1 gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 xdsl cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
Value *string `json:"value"`
}
@@ -1039,7 +1075,7 @@ var interfaceTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["Virtual","Link Aggregation Group (LAG)","100BASE-TX (10/100ME)","1000BASE-T (1GE)","2.5GBASE-T (2.5GE)","5GBASE-T (5GE)","10GBASE-T (10GE)","10GBASE-CX4 (10GE)","GBIC (1GE)","SFP (1GE)","SFP+ (10GE)","XFP (10GE)","XENPAK (10GE)","X2 (10GE)","SFP28 (25GE)","SFP56 (50GE)","QSFP+ (40GE)","QSFP28 (50GE)","CFP (100GE)","CFP2 (100GE)","CFP2 (200GE)","CFP4 (100GE)","Cisco CPAK (100GE)","QSFP28 (100GE)","QSFP56 (200GE)","QSFP-DD (400GE)","OSFP (400GE)","IEEE 802.11a","IEEE 802.11b/g","IEEE 802.11n","IEEE 802.11ac","IEEE 802.11ad","IEEE 802.11ax","GSM","CDMA","LTE","OC-3/STM-1","OC-12/STM-4","OC-48/STM-16","OC-192/STM-64","OC-768/STM-256","OC-1920/STM-640","OC-3840/STM-1234","SFP (1GFC)","SFP (2GFC)","SFP (4GFC)","SFP+ (8GFC)","SFP+ (16GFC)","SFP28 (32GFC)","QSFP+ (64GFC)","QSFP28 (128GFC)","SDR (2 Gbps)","DDR (4 Gbps)","QDR (8 Gbps)","FDR10 (10 Gbps)","FDR (13.5 Gbps)","EDR (25 Gbps)","HDR (50 Gbps)","NDR (100 Gbps)","XDR (250 Gbps)","T1 (1.544 Mbps)","E1 (2.048 Mbps)","T3 (45 Mbps)","E3 (34 Mbps)","Cisco StackWise","Cisco StackWise Plus","Cisco FlexStack","Cisco FlexStack Plus","Juniper VCP","Extreme SummitStack","Extreme SummitStack-128","Extreme SummitStack-256","Extreme SummitStack-512","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["Virtual","Link Aggregation Group (LAG)","100BASE-TX (10/100ME)","1000BASE-T (1GE)","2.5GBASE-T (2.5GE)","5GBASE-T (5GE)","10GBASE-T (10GE)","10GBASE-CX4 (10GE)","GBIC (1GE)","SFP (1GE)","SFP+ (10GE)","XFP (10GE)","XENPAK (10GE)","X2 (10GE)","SFP28 (25GE)","SFP56 (50GE)","QSFP+ (40GE)","QSFP28 (50GE)","CFP (100GE)","CFP2 (100GE)","CFP2 (200GE)","CFP4 (100GE)","Cisco CPAK (100GE)","QSFP28 (100GE)","QSFP56 (200GE)","QSFP-DD (400GE)","OSFP (400GE)","IEEE 802.11a","IEEE 802.11b/g","IEEE 802.11n","IEEE 802.11ac","IEEE 802.11ad","IEEE 802.11ax","IEEE 802.15.1 (Bluetooth)","GSM","CDMA","LTE","OC-3/STM-1","OC-12/STM-4","OC-48/STM-16","OC-192/STM-64","OC-768/STM-256","OC-1920/STM-640","OC-3840/STM-1234","SFP (1GFC)","SFP (2GFC)","SFP (4GFC)","SFP+ (8GFC)","SFP+ (16GFC)","SFP28 (32GFC)","QSFP+ (64GFC)","QSFP28 (128GFC)","SDR (2 Gbps)","DDR (4 Gbps)","QDR (8 Gbps)","FDR10 (10 Gbps)","FDR (13.5 Gbps)","EDR (25 Gbps)","HDR (50 Gbps)","NDR (100 Gbps)","XDR (250 Gbps)","T1 (1.544 Mbps)","E1 (2.048 Mbps)","T3 (45 Mbps)","E3 (34 Mbps)","xDSL","Cisco StackWise","Cisco StackWise Plus","Cisco FlexStack","Cisco FlexStack Plus","Juniper VCP","Extreme SummitStack","Extreme SummitStack-128","Extreme SummitStack-256","Extreme SummitStack-512","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -1148,6 +1184,9 @@ const (
// InterfaceTypeLabelIEEE802Dot11ax captures enum value "IEEE 802.11ax"
InterfaceTypeLabelIEEE802Dot11ax string = "IEEE 802.11ax"
+ // InterfaceTypeLabelIEEE802Dot15Dot1Bluetooth captures enum value "IEEE 802.15.1 (Bluetooth)"
+ InterfaceTypeLabelIEEE802Dot15Dot1Bluetooth string = "IEEE 802.15.1 (Bluetooth)"
+
// InterfaceTypeLabelGSM captures enum value "GSM"
InterfaceTypeLabelGSM string = "GSM"
@@ -1241,6 +1280,9 @@ const (
// InterfaceTypeLabelE334Mbps captures enum value "E3 (34 Mbps)"
InterfaceTypeLabelE334Mbps string = "E3 (34 Mbps)"
+ // InterfaceTypeLabelXDSL captures enum value "xDSL"
+ InterfaceTypeLabelXDSL string = "xDSL"
+
// InterfaceTypeLabelCiscoStackWise captures enum value "Cisco StackWise"
InterfaceTypeLabelCiscoStackWise string = "Cisco StackWise"
@@ -1298,7 +1340,7 @@ var interfaceTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","ieee802.15.1","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","xdsl","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -1407,6 +1449,9 @@ const (
// InterfaceTypeValueIeee802Dot11ax captures enum value "ieee802.11ax"
InterfaceTypeValueIeee802Dot11ax string = "ieee802.11ax"
+ // InterfaceTypeValueIeee802Dot15Dot1 captures enum value "ieee802.15.1"
+ InterfaceTypeValueIeee802Dot15Dot1 string = "ieee802.15.1"
+
// InterfaceTypeValueGsm captures enum value "gsm"
InterfaceTypeValueGsm string = "gsm"
@@ -1500,6 +1545,9 @@ const (
// InterfaceTypeValueE3 captures enum value "e3"
InterfaceTypeValueE3 string = "e3"
+ // InterfaceTypeValueXdsl captures enum value "xdsl"
+ InterfaceTypeValueXdsl string = "xdsl"
+
// InterfaceTypeValueCiscoDashStackwise captures enum value "cisco-stackwise"
InterfaceTypeValueCiscoDashStackwise string = "cisco-stackwise"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/interface_connection.go b/vendor/github.com/smutel/go-netbox/netbox/models/interface_connection.go
deleted file mode 100644
index cb8e8a115..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/models/interface_connection.go
+++ /dev/null
@@ -1,177 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package models
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-)
-
-// InterfaceConnection interface connection
-//
-// swagger:model InterfaceConnection
-type InterfaceConnection struct {
-
- // Connected endpoint reachable
- // Read Only: true
- ConnectedEndpointReachable *bool `json:"connected_endpoint_reachable,omitempty"`
-
- // interface a
- Interfacea *NestedInterface `json:"interface_a,omitempty"`
-
- // interface b
- // Required: true
- Interfaceb *NestedInterface `json:"interface_b"`
-}
-
-// Validate validates this interface connection
-func (m *InterfaceConnection) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := m.validateInterfacea(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateInterfaceb(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *InterfaceConnection) validateInterfacea(formats strfmt.Registry) error {
- if swag.IsZero(m.Interfacea) { // not required
- return nil
- }
-
- if m.Interfacea != nil {
- if err := m.Interfacea.Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("interface_a")
- }
- return err
- }
- }
-
- return nil
-}
-
-func (m *InterfaceConnection) validateInterfaceb(formats strfmt.Registry) error {
-
- if err := validate.Required("interface_b", "body", m.Interfaceb); err != nil {
- return err
- }
-
- if m.Interfaceb != nil {
- if err := m.Interfaceb.Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("interface_b")
- }
- return err
- }
- }
-
- return nil
-}
-
-// ContextValidate validate this interface connection based on the context it is used
-func (m *InterfaceConnection) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := m.contextValidateConnectedEndpointReachable(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateInterfacea(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateInterfaceb(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *InterfaceConnection) contextValidateConnectedEndpointReachable(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "connected_endpoint_reachable", "body", m.ConnectedEndpointReachable); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *InterfaceConnection) contextValidateInterfacea(ctx context.Context, formats strfmt.Registry) error {
-
- if m.Interfacea != nil {
- if err := m.Interfacea.ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("interface_a")
- }
- return err
- }
- }
-
- return nil
-}
-
-func (m *InterfaceConnection) contextValidateInterfaceb(ctx context.Context, formats strfmt.Registry) error {
-
- if m.Interfaceb != nil {
- if err := m.Interfaceb.ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("interface_b")
- }
- return err
- }
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (m *InterfaceConnection) MarshalBinary() ([]byte, error) {
- if m == nil {
- return nil, nil
- }
- return swag.WriteJSON(m)
-}
-
-// UnmarshalBinary interface implementation
-func (m *InterfaceConnection) UnmarshalBinary(b []byte) error {
- var res InterfaceConnection
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *m = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/interface_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/interface_template.go
index 1a1786fd5..17e7b98c0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/interface_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/interface_template.go
@@ -162,6 +162,8 @@ func (m *InterfaceTemplate) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -221,6 +223,8 @@ func (m *InterfaceTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -294,6 +298,8 @@ func (m *InterfaceTemplate) contextValidateDeviceType(ctx context.Context, forma
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -335,6 +341,8 @@ func (m *InterfaceTemplate) contextValidateType(ctx context.Context, formats str
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -377,12 +385,12 @@ type InterfaceTemplateType struct {
// label
// Required: true
- // Enum: [Virtual Link Aggregation Group (LAG) 100BASE-TX (10/100ME) 1000BASE-T (1GE) 2.5GBASE-T (2.5GE) 5GBASE-T (5GE) 10GBASE-T (10GE) 10GBASE-CX4 (10GE) GBIC (1GE) SFP (1GE) SFP+ (10GE) XFP (10GE) XENPAK (10GE) X2 (10GE) SFP28 (25GE) SFP56 (50GE) QSFP+ (40GE) QSFP28 (50GE) CFP (100GE) CFP2 (100GE) CFP2 (200GE) CFP4 (100GE) Cisco CPAK (100GE) QSFP28 (100GE) QSFP56 (200GE) QSFP-DD (400GE) OSFP (400GE) IEEE 802.11a IEEE 802.11b/g IEEE 802.11n IEEE 802.11ac IEEE 802.11ad IEEE 802.11ax GSM CDMA LTE OC-3/STM-1 OC-12/STM-4 OC-48/STM-16 OC-192/STM-64 OC-768/STM-256 OC-1920/STM-640 OC-3840/STM-1234 SFP (1GFC) SFP (2GFC) SFP (4GFC) SFP+ (8GFC) SFP+ (16GFC) SFP28 (32GFC) QSFP+ (64GFC) QSFP28 (128GFC) SDR (2 Gbps) DDR (4 Gbps) QDR (8 Gbps) FDR10 (10 Gbps) FDR (13.5 Gbps) EDR (25 Gbps) HDR (50 Gbps) NDR (100 Gbps) XDR (250 Gbps) T1 (1.544 Mbps) E1 (2.048 Mbps) T3 (45 Mbps) E3 (34 Mbps) Cisco StackWise Cisco StackWise Plus Cisco FlexStack Cisco FlexStack Plus Juniper VCP Extreme SummitStack Extreme SummitStack-128 Extreme SummitStack-256 Extreme SummitStack-512 Other]
+ // Enum: [Virtual Link Aggregation Group (LAG) 100BASE-TX (10/100ME) 1000BASE-T (1GE) 2.5GBASE-T (2.5GE) 5GBASE-T (5GE) 10GBASE-T (10GE) 10GBASE-CX4 (10GE) GBIC (1GE) SFP (1GE) SFP+ (10GE) XFP (10GE) XENPAK (10GE) X2 (10GE) SFP28 (25GE) SFP56 (50GE) QSFP+ (40GE) QSFP28 (50GE) CFP (100GE) CFP2 (100GE) CFP2 (200GE) CFP4 (100GE) Cisco CPAK (100GE) QSFP28 (100GE) QSFP56 (200GE) QSFP-DD (400GE) OSFP (400GE) IEEE 802.11a IEEE 802.11b/g IEEE 802.11n IEEE 802.11ac IEEE 802.11ad IEEE 802.11ax IEEE 802.15.1 (Bluetooth) GSM CDMA LTE OC-3/STM-1 OC-12/STM-4 OC-48/STM-16 OC-192/STM-64 OC-768/STM-256 OC-1920/STM-640 OC-3840/STM-1234 SFP (1GFC) SFP (2GFC) SFP (4GFC) SFP+ (8GFC) SFP+ (16GFC) SFP28 (32GFC) QSFP+ (64GFC) QSFP28 (128GFC) SDR (2 Gbps) DDR (4 Gbps) QDR (8 Gbps) FDR10 (10 Gbps) FDR (13.5 Gbps) EDR (25 Gbps) HDR (50 Gbps) NDR (100 Gbps) XDR (250 Gbps) T1 (1.544 Mbps) E1 (2.048 Mbps) T3 (45 Mbps) E3 (34 Mbps) xDSL Cisco StackWise Cisco StackWise Plus Cisco FlexStack Cisco FlexStack Plus Juniper VCP Extreme SummitStack Extreme SummitStack-128 Extreme SummitStack-256 Extreme SummitStack-512 Other]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
+ // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax ieee802.15.1 gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 xdsl cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
Value *string `json:"value"`
}
@@ -408,7 +416,7 @@ var interfaceTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["Virtual","Link Aggregation Group (LAG)","100BASE-TX (10/100ME)","1000BASE-T (1GE)","2.5GBASE-T (2.5GE)","5GBASE-T (5GE)","10GBASE-T (10GE)","10GBASE-CX4 (10GE)","GBIC (1GE)","SFP (1GE)","SFP+ (10GE)","XFP (10GE)","XENPAK (10GE)","X2 (10GE)","SFP28 (25GE)","SFP56 (50GE)","QSFP+ (40GE)","QSFP28 (50GE)","CFP (100GE)","CFP2 (100GE)","CFP2 (200GE)","CFP4 (100GE)","Cisco CPAK (100GE)","QSFP28 (100GE)","QSFP56 (200GE)","QSFP-DD (400GE)","OSFP (400GE)","IEEE 802.11a","IEEE 802.11b/g","IEEE 802.11n","IEEE 802.11ac","IEEE 802.11ad","IEEE 802.11ax","GSM","CDMA","LTE","OC-3/STM-1","OC-12/STM-4","OC-48/STM-16","OC-192/STM-64","OC-768/STM-256","OC-1920/STM-640","OC-3840/STM-1234","SFP (1GFC)","SFP (2GFC)","SFP (4GFC)","SFP+ (8GFC)","SFP+ (16GFC)","SFP28 (32GFC)","QSFP+ (64GFC)","QSFP28 (128GFC)","SDR (2 Gbps)","DDR (4 Gbps)","QDR (8 Gbps)","FDR10 (10 Gbps)","FDR (13.5 Gbps)","EDR (25 Gbps)","HDR (50 Gbps)","NDR (100 Gbps)","XDR (250 Gbps)","T1 (1.544 Mbps)","E1 (2.048 Mbps)","T3 (45 Mbps)","E3 (34 Mbps)","Cisco StackWise","Cisco StackWise Plus","Cisco FlexStack","Cisco FlexStack Plus","Juniper VCP","Extreme SummitStack","Extreme SummitStack-128","Extreme SummitStack-256","Extreme SummitStack-512","Other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["Virtual","Link Aggregation Group (LAG)","100BASE-TX (10/100ME)","1000BASE-T (1GE)","2.5GBASE-T (2.5GE)","5GBASE-T (5GE)","10GBASE-T (10GE)","10GBASE-CX4 (10GE)","GBIC (1GE)","SFP (1GE)","SFP+ (10GE)","XFP (10GE)","XENPAK (10GE)","X2 (10GE)","SFP28 (25GE)","SFP56 (50GE)","QSFP+ (40GE)","QSFP28 (50GE)","CFP (100GE)","CFP2 (100GE)","CFP2 (200GE)","CFP4 (100GE)","Cisco CPAK (100GE)","QSFP28 (100GE)","QSFP56 (200GE)","QSFP-DD (400GE)","OSFP (400GE)","IEEE 802.11a","IEEE 802.11b/g","IEEE 802.11n","IEEE 802.11ac","IEEE 802.11ad","IEEE 802.11ax","IEEE 802.15.1 (Bluetooth)","GSM","CDMA","LTE","OC-3/STM-1","OC-12/STM-4","OC-48/STM-16","OC-192/STM-64","OC-768/STM-256","OC-1920/STM-640","OC-3840/STM-1234","SFP (1GFC)","SFP (2GFC)","SFP (4GFC)","SFP+ (8GFC)","SFP+ (16GFC)","SFP28 (32GFC)","QSFP+ (64GFC)","QSFP28 (128GFC)","SDR (2 Gbps)","DDR (4 Gbps)","QDR (8 Gbps)","FDR10 (10 Gbps)","FDR (13.5 Gbps)","EDR (25 Gbps)","HDR (50 Gbps)","NDR (100 Gbps)","XDR (250 Gbps)","T1 (1.544 Mbps)","E1 (2.048 Mbps)","T3 (45 Mbps)","E3 (34 Mbps)","xDSL","Cisco StackWise","Cisco StackWise Plus","Cisco FlexStack","Cisco FlexStack Plus","Juniper VCP","Extreme SummitStack","Extreme SummitStack-128","Extreme SummitStack-256","Extreme SummitStack-512","Other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -517,6 +525,9 @@ const (
// InterfaceTemplateTypeLabelIEEE802Dot11ax captures enum value "IEEE 802.11ax"
InterfaceTemplateTypeLabelIEEE802Dot11ax string = "IEEE 802.11ax"
+ // InterfaceTemplateTypeLabelIEEE802Dot15Dot1Bluetooth captures enum value "IEEE 802.15.1 (Bluetooth)"
+ InterfaceTemplateTypeLabelIEEE802Dot15Dot1Bluetooth string = "IEEE 802.15.1 (Bluetooth)"
+
// InterfaceTemplateTypeLabelGSM captures enum value "GSM"
InterfaceTemplateTypeLabelGSM string = "GSM"
@@ -610,6 +621,9 @@ const (
// InterfaceTemplateTypeLabelE334Mbps captures enum value "E3 (34 Mbps)"
InterfaceTemplateTypeLabelE334Mbps string = "E3 (34 Mbps)"
+ // InterfaceTemplateTypeLabelXDSL captures enum value "xDSL"
+ InterfaceTemplateTypeLabelXDSL string = "xDSL"
+
// InterfaceTemplateTypeLabelCiscoStackWise captures enum value "Cisco StackWise"
InterfaceTemplateTypeLabelCiscoStackWise string = "Cisco StackWise"
@@ -667,7 +681,7 @@ var interfaceTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","ieee802.15.1","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","xdsl","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -776,6 +790,9 @@ const (
// InterfaceTemplateTypeValueIeee802Dot11ax captures enum value "ieee802.11ax"
InterfaceTemplateTypeValueIeee802Dot11ax string = "ieee802.11ax"
+ // InterfaceTemplateTypeValueIeee802Dot15Dot1 captures enum value "ieee802.15.1"
+ InterfaceTemplateTypeValueIeee802Dot15Dot1 string = "ieee802.15.1"
+
// InterfaceTemplateTypeValueGsm captures enum value "gsm"
InterfaceTemplateTypeValueGsm string = "gsm"
@@ -869,6 +886,9 @@ const (
// InterfaceTemplateTypeValueE3 captures enum value "e3"
InterfaceTemplateTypeValueE3 string = "e3"
+ // InterfaceTemplateTypeValueXdsl captures enum value "xdsl"
+ InterfaceTemplateTypeValueXdsl string = "xdsl"
+
// InterfaceTemplateTypeValueCiscoDashStackwise captures enum value "cisco-stackwise"
InterfaceTemplateTypeValueCiscoDashStackwise string = "cisco-stackwise"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/inventory_item.go b/vendor/github.com/smutel/go-netbox/netbox/models/inventory_item.go
index ebebd8b56..3f7563ecf 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/inventory_item.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/inventory_item.go
@@ -220,6 +220,8 @@ func (m *InventoryItem) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -261,6 +263,8 @@ func (m *InventoryItem) validateManufacturer(formats strfmt.Registry) error {
if err := m.Manufacturer.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -324,6 +328,8 @@ func (m *InventoryItem) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -416,6 +422,8 @@ func (m *InventoryItem) contextValidateDevice(ctx context.Context, formats strfm
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -457,6 +465,8 @@ func (m *InventoryItem) contextValidateManufacturer(ctx context.Context, formats
if err := m.Manufacturer.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -473,6 +483,8 @@ func (m *InventoryItem) contextValidateTags(ctx context.Context, formats strfmt.
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/ip_address.go b/vendor/github.com/smutel/go-netbox/netbox/models/ip_address.go
index 8af8ca9f2..2a7ca96e1 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/ip_address.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/ip_address.go
@@ -260,6 +260,8 @@ func (m *IPAddress) validateFamily(formats strfmt.Registry) error {
if err := m.Family.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -289,6 +291,8 @@ func (m *IPAddress) validateNatInside(formats strfmt.Registry) error {
if err := m.NatInside.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("nat_inside")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("nat_inside")
}
return err
}
@@ -306,6 +310,8 @@ func (m *IPAddress) validateNatOutside(formats strfmt.Registry) error {
if err := m.NatOutside.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("nat_outside")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("nat_outside")
}
return err
}
@@ -323,6 +329,8 @@ func (m *IPAddress) validateRole(formats strfmt.Registry) error {
if err := m.Role.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -340,6 +348,8 @@ func (m *IPAddress) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -362,6 +372,8 @@ func (m *IPAddress) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -381,6 +393,8 @@ func (m *IPAddress) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -410,6 +424,8 @@ func (m *IPAddress) validateVrf(formats strfmt.Registry) error {
if err := m.Vrf.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
@@ -504,6 +520,8 @@ func (m *IPAddress) contextValidateFamily(ctx context.Context, formats strfmt.Re
if err := m.Family.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -536,6 +554,8 @@ func (m *IPAddress) contextValidateNatInside(ctx context.Context, formats strfmt
if err := m.NatInside.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("nat_inside")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("nat_inside")
}
return err
}
@@ -550,6 +570,8 @@ func (m *IPAddress) contextValidateNatOutside(ctx context.Context, formats strfm
if err := m.NatOutside.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("nat_outside")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("nat_outside")
}
return err
}
@@ -564,6 +586,8 @@ func (m *IPAddress) contextValidateRole(ctx context.Context, formats strfmt.Regi
if err := m.Role.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -578,6 +602,8 @@ func (m *IPAddress) contextValidateStatus(ctx context.Context, formats strfmt.Re
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -594,6 +620,8 @@ func (m *IPAddress) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -610,6 +638,8 @@ func (m *IPAddress) contextValidateTenant(ctx context.Context, formats strfmt.Re
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -633,6 +663,8 @@ func (m *IPAddress) contextValidateVrf(ctx context.Context, formats strfmt.Regis
if err := m.Vrf.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/ip_range.go b/vendor/github.com/smutel/go-netbox/netbox/models/ip_range.go
new file mode 100644
index 000000000..23b157ee6
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/ip_range.go
@@ -0,0 +1,882 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package models
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+ "encoding/json"
+ "strconv"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+ "github.com/go-openapi/validate"
+)
+
+// IPRange IP range
+//
+// swagger:model IPRange
+type IPRange struct {
+
+ // Children
+ // Read Only: true
+ Children int64 `json:"children,omitempty"`
+
+ // Created
+ // Read Only: true
+ // Format: date
+ Created strfmt.Date `json:"created,omitempty"`
+
+ // Custom fields
+ CustomFields interface{} `json:"custom_fields,omitempty"`
+
+ // Description
+ // Max Length: 200
+ Description string `json:"description,omitempty"`
+
+ // Display
+ // Read Only: true
+ Display string `json:"display,omitempty"`
+
+ // End address
+ //
+ // IPv4 or IPv6 address (with mask)
+ // Required: true
+ EndAddress *string `json:"end_address"`
+
+ // family
+ Family *IPRangeFamily `json:"family,omitempty"`
+
+ // Id
+ // Read Only: true
+ ID int64 `json:"id,omitempty"`
+
+ // Last updated
+ // Read Only: true
+ // Format: date-time
+ LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
+
+ // role
+ Role *NestedRole `json:"role,omitempty"`
+
+ // Size
+ // Read Only: true
+ Size int64 `json:"size,omitempty"`
+
+ // Start address
+ //
+ // IPv4 or IPv6 address (with mask)
+ // Required: true
+ StartAddress *string `json:"start_address"`
+
+ // status
+ Status *IPRangeStatus `json:"status,omitempty"`
+
+ // tags
+ Tags []*NestedTag `json:"tags"`
+
+ // tenant
+ Tenant *NestedTenant `json:"tenant,omitempty"`
+
+ // Url
+ // Read Only: true
+ // Format: uri
+ URL strfmt.URI `json:"url,omitempty"`
+
+ // vrf
+ Vrf *NestedVRF `json:"vrf,omitempty"`
+}
+
+// Validate validates this IP range
+func (m *IPRange) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.validateCreated(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateDescription(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateEndAddress(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateFamily(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateLastUpdated(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateRole(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateStartAddress(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateStatus(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateTags(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateTenant(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateURL(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateVrf(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (m *IPRange) validateCreated(formats strfmt.Registry) error {
+ if swag.IsZero(m.Created) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateDescription(formats strfmt.Registry) error {
+ if swag.IsZero(m.Description) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateEndAddress(formats strfmt.Registry) error {
+
+ if err := validate.Required("end_address", "body", m.EndAddress); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateFamily(formats strfmt.Registry) error {
+ if swag.IsZero(m.Family) { // not required
+ return nil
+ }
+
+ if m.Family != nil {
+ if err := m.Family.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateLastUpdated(formats strfmt.Registry) error {
+ if swag.IsZero(m.LastUpdated) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateRole(formats strfmt.Registry) error {
+ if swag.IsZero(m.Role) { // not required
+ return nil
+ }
+
+ if m.Role != nil {
+ if err := m.Role.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateStartAddress(formats strfmt.Registry) error {
+
+ if err := validate.Required("start_address", "body", m.StartAddress); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(m.Status) { // not required
+ return nil
+ }
+
+ if m.Status != nil {
+ if err := m.Status.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateTags(formats strfmt.Registry) error {
+ if swag.IsZero(m.Tags) { // not required
+ return nil
+ }
+
+ for i := 0; i < len(m.Tags); i++ {
+ if swag.IsZero(m.Tags[i]) { // not required
+ continue
+ }
+
+ if m.Tags[i] != nil {
+ if err := m.Tags[i].Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
+ }
+ return err
+ }
+ }
+
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateTenant(formats strfmt.Registry) error {
+ if swag.IsZero(m.Tenant) { // not required
+ return nil
+ }
+
+ if m.Tenant != nil {
+ if err := m.Tenant.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateURL(formats strfmt.Registry) error {
+ if swag.IsZero(m.URL) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) validateVrf(formats strfmt.Registry) error {
+ if swag.IsZero(m.Vrf) { // not required
+ return nil
+ }
+
+ if m.Vrf != nil {
+ if err := m.Vrf.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+// ContextValidate validate this IP range based on the context it is used
+func (m *IPRange) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.contextValidateChildren(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateCreated(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateDisplay(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateFamily(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateID(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateRole(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateSize(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateStatus(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateTags(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateTenant(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateURL(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateVrf(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (m *IPRange) contextValidateChildren(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "children", "body", int64(m.Children)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateFamily(ctx context.Context, formats strfmt.Registry) error {
+
+ if m.Family != nil {
+ if err := m.Family.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateRole(ctx context.Context, formats strfmt.Registry) error {
+
+ if m.Role != nil {
+ if err := m.Role.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateSize(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "size", "body", int64(m.Size)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateStatus(ctx context.Context, formats strfmt.Registry) error {
+
+ if m.Status != nil {
+ if err := m.Status.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
+
+ for i := 0; i < len(m.Tags); i++ {
+
+ if m.Tags[i] != nil {
+ if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
+ }
+ return err
+ }
+ }
+
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateTenant(ctx context.Context, formats strfmt.Registry) error {
+
+ if m.Tenant != nil {
+ if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *IPRange) contextValidateVrf(ctx context.Context, formats strfmt.Registry) error {
+
+ if m.Vrf != nil {
+ if err := m.Vrf.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
+ }
+ return err
+ }
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (m *IPRange) MarshalBinary() ([]byte, error) {
+ if m == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *IPRange) UnmarshalBinary(b []byte) error {
+ var res IPRange
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *m = res
+ return nil
+}
+
+// IPRangeFamily Family
+//
+// swagger:model IPRangeFamily
+type IPRangeFamily struct {
+
+ // label
+ // Required: true
+ // Enum: [IPv4 IPv6]
+ Label *string `json:"label"`
+
+ // value
+ // Required: true
+ // Enum: [4 6]
+ Value *int64 `json:"value"`
+}
+
+// Validate validates this IP range family
+func (m *IPRangeFamily) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.validateLabel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateValue(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var ipRangeFamilyTypeLabelPropEnum []interface{}
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["IPv4","IPv6"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ ipRangeFamilyTypeLabelPropEnum = append(ipRangeFamilyTypeLabelPropEnum, v)
+ }
+}
+
+const (
+
+ // IPRangeFamilyLabelIPV4 captures enum value "IPv4"
+ IPRangeFamilyLabelIPV4 string = "IPv4"
+
+ // IPRangeFamilyLabelIPV6 captures enum value "IPv6"
+ IPRangeFamilyLabelIPV6 string = "IPv6"
+)
+
+// prop value enum
+func (m *IPRangeFamily) validateLabelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, ipRangeFamilyTypeLabelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *IPRangeFamily) validateLabel(formats strfmt.Registry) error {
+
+ if err := validate.Required("family"+"."+"label", "body", m.Label); err != nil {
+ return err
+ }
+
+ // value enum
+ if err := m.validateLabelEnum("family"+"."+"label", "body", *m.Label); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+var ipRangeFamilyTypeValuePropEnum []interface{}
+
+func init() {
+ var res []int64
+ if err := json.Unmarshal([]byte(`[4,6]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ ipRangeFamilyTypeValuePropEnum = append(ipRangeFamilyTypeValuePropEnum, v)
+ }
+}
+
+// prop value enum
+func (m *IPRangeFamily) validateValueEnum(path, location string, value int64) error {
+ if err := validate.EnumCase(path, location, value, ipRangeFamilyTypeValuePropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *IPRangeFamily) validateValue(formats strfmt.Registry) error {
+
+ if err := validate.Required("family"+"."+"value", "body", m.Value); err != nil {
+ return err
+ }
+
+ // value enum
+ if err := m.validateValueEnum("family"+"."+"value", "body", *m.Value); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// ContextValidate validate this IP range family based on the context it is used
+func (m *IPRangeFamily) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (m *IPRangeFamily) MarshalBinary() ([]byte, error) {
+ if m == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *IPRangeFamily) UnmarshalBinary(b []byte) error {
+ var res IPRangeFamily
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *m = res
+ return nil
+}
+
+// IPRangeStatus Status
+//
+// swagger:model IPRangeStatus
+type IPRangeStatus struct {
+
+ // label
+ // Required: true
+ // Enum: [Active Reserved Deprecated]
+ Label *string `json:"label"`
+
+ // value
+ // Required: true
+ // Enum: [active reserved deprecated]
+ Value *string `json:"value"`
+}
+
+// Validate validates this IP range status
+func (m *IPRangeStatus) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.validateLabel(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateValue(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+var ipRangeStatusTypeLabelPropEnum []interface{}
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["Active","Reserved","Deprecated"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ ipRangeStatusTypeLabelPropEnum = append(ipRangeStatusTypeLabelPropEnum, v)
+ }
+}
+
+const (
+
+ // IPRangeStatusLabelActive captures enum value "Active"
+ IPRangeStatusLabelActive string = "Active"
+
+ // IPRangeStatusLabelReserved captures enum value "Reserved"
+ IPRangeStatusLabelReserved string = "Reserved"
+
+ // IPRangeStatusLabelDeprecated captures enum value "Deprecated"
+ IPRangeStatusLabelDeprecated string = "Deprecated"
+)
+
+// prop value enum
+func (m *IPRangeStatus) validateLabelEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, ipRangeStatusTypeLabelPropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *IPRangeStatus) validateLabel(formats strfmt.Registry) error {
+
+ if err := validate.Required("status"+"."+"label", "body", m.Label); err != nil {
+ return err
+ }
+
+ // value enum
+ if err := m.validateLabelEnum("status"+"."+"label", "body", *m.Label); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+var ipRangeStatusTypeValuePropEnum []interface{}
+
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["active","reserved","deprecated"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ ipRangeStatusTypeValuePropEnum = append(ipRangeStatusTypeValuePropEnum, v)
+ }
+}
+
+const (
+
+ // IPRangeStatusValueActive captures enum value "active"
+ IPRangeStatusValueActive string = "active"
+
+ // IPRangeStatusValueReserved captures enum value "reserved"
+ IPRangeStatusValueReserved string = "reserved"
+
+ // IPRangeStatusValueDeprecated captures enum value "deprecated"
+ IPRangeStatusValueDeprecated string = "deprecated"
+)
+
+// prop value enum
+func (m *IPRangeStatus) validateValueEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, ipRangeStatusTypeValuePropEnum, true); err != nil {
+ return err
+ }
+ return nil
+}
+
+func (m *IPRangeStatus) validateValue(formats strfmt.Registry) error {
+
+ if err := validate.Required("status"+"."+"value", "body", m.Value); err != nil {
+ return err
+ }
+
+ // value enum
+ if err := m.validateValueEnum("status"+"."+"value", "body", *m.Value); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// ContextValidate validates this IP range status based on context it is used
+func (m *IPRangeStatus) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (m *IPRangeStatus) MarshalBinary() ([]byte, error) {
+ if m == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *IPRangeStatus) UnmarshalBinary(b []byte) error {
+ var res IPRangeStatus
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *m = res
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/job_result.go b/vendor/github.com/smutel/go-netbox/netbox/models/job_result.go
index 296f54c9f..c9feaa593 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/job_result.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/job_result.go
@@ -183,6 +183,8 @@ func (m *JobResult) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -212,6 +214,8 @@ func (m *JobResult) validateUser(formats strfmt.Registry) error {
if err := m.User.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
@@ -300,6 +304,8 @@ func (m *JobResult) contextValidateStatus(ctx context.Context, formats strfmt.Re
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -323,6 +329,8 @@ func (m *JobResult) contextValidateUser(ctx context.Context, formats strfmt.Regi
if err := m.User.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/journal_entry.go b/vendor/github.com/smutel/go-netbox/netbox/models/journal_entry.go
index 3b87c9bb5..b258f0147 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/journal_entry.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/journal_entry.go
@@ -173,6 +173,8 @@ func (m *JournalEntry) validateKind(formats strfmt.Registry) error {
if err := m.Kind.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("kind")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("kind")
}
return err
}
@@ -265,6 +267,8 @@ func (m *JournalEntry) contextValidateKind(ctx context.Context, formats strfmt.R
if err := m.Kind.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("kind")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("kind")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/location.go b/vendor/github.com/smutel/go-netbox/netbox/models/location.go
index d5df01c28..0fc968485 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/location.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/location.go
@@ -201,6 +201,8 @@ func (m *Location) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -219,6 +221,8 @@ func (m *Location) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -370,6 +374,8 @@ func (m *Location) contextValidateParent(ctx context.Context, formats strfmt.Reg
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -393,6 +399,8 @@ func (m *Location) contextValidateSite(ctx context.Context, formats strfmt.Regis
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_device.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_device.go
index d1fbfaa38..8dcb2c46b 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_device.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_device.go
@@ -38,10 +38,6 @@ type NestedDevice struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -106,10 +102,6 @@ func (m *NestedDevice) ContextValidate(ctx context.Context, formats strfmt.Regis
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -133,15 +125,6 @@ func (m *NestedDevice) contextValidateDisplay(ctx context.Context, formats strfm
return nil
}
-func (m *NestedDevice) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *NestedDevice) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_device_type.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_device_type.go
index 3838dd3a2..6edccd12c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_device_type.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_device_type.go
@@ -42,10 +42,6 @@ type NestedDeviceType struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -107,6 +103,8 @@ func (m *NestedDeviceType) validateManufacturer(formats strfmt.Registry) error {
if err := m.Manufacturer.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -177,10 +175,6 @@ func (m *NestedDeviceType) ContextValidate(ctx context.Context, formats strfmt.R
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -217,15 +211,6 @@ func (m *NestedDeviceType) contextValidateDisplay(ctx context.Context, formats s
return nil
}
-func (m *NestedDeviceType) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *NestedDeviceType) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -241,6 +226,8 @@ func (m *NestedDeviceType) contextValidateManufacturer(ctx context.Context, form
if err := m.Manufacturer.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_interface.go
index 262369c98..f3c6bbbad 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_interface.go
@@ -95,6 +95,8 @@ func (m *NestedInterface) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -177,6 +179,8 @@ func (m *NestedInterface) contextValidateDevice(ctx context.Context, formats str
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_power_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_power_port.go
index 1382c3d58..59d4f023c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_power_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_power_port.go
@@ -95,6 +95,8 @@ func (m *NestedPowerPort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -177,6 +179,8 @@ func (m *NestedPowerPort) contextValidateDevice(ctx context.Context, formats str
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_rack.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_rack.go
index b57f815c9..05f2ebd76 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_rack.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_rack.go
@@ -42,10 +42,6 @@ type NestedRack struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -121,10 +117,6 @@ func (m *NestedRack) ContextValidate(ctx context.Context, formats strfmt.Registr
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -157,15 +149,6 @@ func (m *NestedRack) contextValidateDisplay(ctx context.Context, formats strfmt.
return nil
}
-func (m *NestedRack) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *NestedRack) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_secret_role.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_secret_role.go
deleted file mode 100644
index 6d7d0e8f7..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_secret_role.go
+++ /dev/null
@@ -1,218 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package models
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-)
-
-// NestedSecretRole nested secret role
-//
-// swagger:model NestedSecretRole
-type NestedSecretRole struct {
-
- // Display
- // Read Only: true
- Display string `json:"display,omitempty"`
-
- // Id
- // Read Only: true
- ID int64 `json:"id,omitempty"`
-
- // Name
- // Required: true
- // Max Length: 100
- // Min Length: 1
- Name *string `json:"name"`
-
- // Secret count
- // Read Only: true
- SecretCount int64 `json:"secret_count,omitempty"`
-
- // Slug
- // Required: true
- // Max Length: 100
- // Min Length: 1
- // Pattern: ^[-a-zA-Z0-9_]+$
- Slug *string `json:"slug"`
-
- // Url
- // Read Only: true
- // Format: uri
- URL strfmt.URI `json:"url,omitempty"`
-}
-
-// Validate validates this nested secret role
-func (m *NestedSecretRole) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := m.validateName(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateSlug(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateURL(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *NestedSecretRole) validateName(formats strfmt.Registry) error {
-
- if err := validate.Required("name", "body", m.Name); err != nil {
- return err
- }
-
- if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
- return err
- }
-
- if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *NestedSecretRole) validateSlug(formats strfmt.Registry) error {
-
- if err := validate.Required("slug", "body", m.Slug); err != nil {
- return err
- }
-
- if err := validate.MinLength("slug", "body", *m.Slug, 1); err != nil {
- return err
- }
-
- if err := validate.MaxLength("slug", "body", *m.Slug, 100); err != nil {
- return err
- }
-
- if err := validate.Pattern("slug", "body", *m.Slug, `^[-a-zA-Z0-9_]+$`); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *NestedSecretRole) validateURL(formats strfmt.Registry) error {
- if swag.IsZero(m.URL) { // not required
- return nil
- }
-
- if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-// ContextValidate validate this nested secret role based on the context it is used
-func (m *NestedSecretRole) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := m.contextValidateDisplay(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateID(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateSecretCount(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateURL(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *NestedSecretRole) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *NestedSecretRole) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *NestedSecretRole) contextValidateSecretCount(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "secret_count", "body", int64(m.SecretCount)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *NestedSecretRole) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
- return err
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (m *NestedSecretRole) MarshalBinary() ([]byte, error) {
- if m == nil {
- return nil, nil
- }
- return swag.WriteJSON(m)
-}
-
-// UnmarshalBinary interface implementation
-func (m *NestedSecretRole) UnmarshalBinary(b []byte) error {
- var res NestedSecretRole
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *m = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_l_a_n.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_l_a_n.go
index d32f8a7b9..eee709648 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_l_a_n.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_l_a_n.go
@@ -38,10 +38,6 @@ type NestedVLAN struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -140,10 +136,6 @@ func (m *NestedVLAN) ContextValidate(ctx context.Context, formats strfmt.Registr
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -167,15 +159,6 @@ func (m *NestedVLAN) contextValidateDisplay(ctx context.Context, formats strfmt.
return nil
}
-func (m *NestedVLAN) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *NestedVLAN) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_r_f.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_r_f.go
index 2f1ee73fd..cd4d6e244 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_r_f.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_v_r_f.go
@@ -38,10 +38,6 @@ type NestedVRF struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -139,10 +135,6 @@ func (m *NestedVRF) ContextValidate(ctx context.Context, formats strfmt.Registry
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -170,15 +162,6 @@ func (m *NestedVRF) contextValidateDisplay(ctx context.Context, formats strfmt.R
return nil
}
-func (m *NestedVRF) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *NestedVRF) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_virtual_chassis.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_virtual_chassis.go
index 2b5253106..7eb5cb782 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_virtual_chassis.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_virtual_chassis.go
@@ -34,6 +34,10 @@ import (
// swagger:model NestedVirtualChassis
type NestedVirtualChassis struct {
+ // Display
+ // Read Only: true
+ Display string `json:"display,omitempty"`
+
// Id
// Read Only: true
ID int64 `json:"id,omitempty"`
@@ -90,6 +94,8 @@ func (m *NestedVirtualChassis) validateMaster(formats strfmt.Registry) error {
if err := m.Master.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("master")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("master")
}
return err
}
@@ -131,6 +137,10 @@ func (m *NestedVirtualChassis) validateURL(formats strfmt.Registry) error {
func (m *NestedVirtualChassis) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
+ if err := m.contextValidateDisplay(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -153,6 +163,15 @@ func (m *NestedVirtualChassis) ContextValidate(ctx context.Context, formats strf
return nil
}
+func (m *NestedVirtualChassis) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *NestedVirtualChassis) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -168,6 +187,8 @@ func (m *NestedVirtualChassis) contextValidateMaster(ctx context.Context, format
if err := m.Master.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("master")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("master")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/nested_vm_interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/nested_vm_interface.go
index 82a963eba..42d58f9cb 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/nested_vm_interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/nested_vm_interface.go
@@ -117,6 +117,8 @@ func (m *NestedVMInterface) validateVirtualMachine(formats strfmt.Registry) erro
if err := m.VirtualMachine.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
@@ -184,6 +186,8 @@ func (m *NestedVMInterface) contextValidateVirtualMachine(ctx context.Context, f
if err := m.VirtualMachine.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/object_change.go b/vendor/github.com/smutel/go-netbox/netbox/models/object_change.go
index 078bd149d..08cb15d29 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/object_change.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/object_change.go
@@ -143,6 +143,8 @@ func (m *ObjectChange) validateAction(formats strfmt.Registry) error {
if err := m.Action.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("action")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("action")
}
return err
}
@@ -213,6 +215,8 @@ func (m *ObjectChange) validateUser(formats strfmt.Registry) error {
if err := m.User.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
@@ -297,6 +301,8 @@ func (m *ObjectChange) contextValidateAction(ctx context.Context, formats strfmt
if err := m.Action.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("action")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("action")
}
return err
}
@@ -388,6 +394,8 @@ func (m *ObjectChange) contextValidateUser(ctx context.Context, formats strfmt.R
if err := m.User.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/object_permission.go b/vendor/github.com/smutel/go-netbox/netbox/models/object_permission.go
index 5a17f6981..673a37c36 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/object_permission.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/object_permission.go
@@ -173,6 +173,8 @@ func (m *ObjectPermission) validateGroups(formats strfmt.Registry) error {
if err := m.Groups[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -243,6 +245,8 @@ func (m *ObjectPermission) validateUsers(formats strfmt.Registry) error {
if err := m.Users[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("users" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("users" + "." + strconv.Itoa(i))
}
return err
}
@@ -300,6 +304,8 @@ func (m *ObjectPermission) contextValidateGroups(ctx context.Context, formats st
if err := m.Groups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -336,6 +342,8 @@ func (m *ObjectPermission) contextValidateUsers(ctx context.Context, formats str
if err := m.Users[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("users" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("users" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/platform.go b/vendor/github.com/smutel/go-netbox/netbox/models/platform.go
index b4d64fd83..4b2960b93 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/platform.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/platform.go
@@ -187,6 +187,8 @@ func (m *Platform) validateManufacturer(formats strfmt.Registry) error {
if err := m.Manufacturer.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
@@ -350,6 +352,8 @@ func (m *Platform) contextValidateManufacturer(ctx context.Context, formats strf
if err := m.Manufacturer.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("manufacturer")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("manufacturer")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_feed.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_feed.go
index 187882e47..637eae906 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_feed.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_feed.go
@@ -246,6 +246,8 @@ func (m *PowerFeed) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -320,6 +322,8 @@ func (m *PowerFeed) validatePhase(formats strfmt.Registry) error {
if err := m.Phase.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("phase")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("phase")
}
return err
}
@@ -338,6 +342,8 @@ func (m *PowerFeed) validatePowerPanel(formats strfmt.Registry) error {
if err := m.PowerPanel.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_panel")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_panel")
}
return err
}
@@ -355,6 +361,8 @@ func (m *PowerFeed) validateRack(formats strfmt.Registry) error {
if err := m.Rack.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -372,6 +380,8 @@ func (m *PowerFeed) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -389,6 +399,8 @@ func (m *PowerFeed) validateSupply(formats strfmt.Registry) error {
if err := m.Supply.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("supply")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("supply")
}
return err
}
@@ -411,6 +423,8 @@ func (m *PowerFeed) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -430,6 +444,8 @@ func (m *PowerFeed) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -567,6 +583,8 @@ func (m *PowerFeed) contextValidateCable(ctx context.Context, formats strfmt.Reg
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -654,6 +672,8 @@ func (m *PowerFeed) contextValidatePhase(ctx context.Context, formats strfmt.Reg
if err := m.Phase.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("phase")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("phase")
}
return err
}
@@ -668,6 +688,8 @@ func (m *PowerFeed) contextValidatePowerPanel(ctx context.Context, formats strfm
if err := m.PowerPanel.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_panel")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_panel")
}
return err
}
@@ -682,6 +704,8 @@ func (m *PowerFeed) contextValidateRack(ctx context.Context, formats strfmt.Regi
if err := m.Rack.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -696,6 +720,8 @@ func (m *PowerFeed) contextValidateStatus(ctx context.Context, formats strfmt.Re
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -710,6 +736,8 @@ func (m *PowerFeed) contextValidateSupply(ctx context.Context, formats strfmt.Re
if err := m.Supply.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("supply")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("supply")
}
return err
}
@@ -726,6 +754,8 @@ func (m *PowerFeed) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -742,6 +772,8 @@ func (m *PowerFeed) contextValidateType(ctx context.Context, formats strfmt.Regi
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet.go
index 7e3b5a8ca..f1128cefc 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet.go
@@ -202,6 +202,8 @@ func (m *PowerOutlet) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -244,6 +246,8 @@ func (m *PowerOutlet) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -261,6 +265,8 @@ func (m *PowerOutlet) validateFeedLeg(formats strfmt.Registry) error {
if err := m.FeedLeg.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("feed_leg")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("feed_leg")
}
return err
}
@@ -319,6 +325,8 @@ func (m *PowerOutlet) validatePowerPort(formats strfmt.Registry) error {
if err := m.PowerPort.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_port")
}
return err
}
@@ -341,6 +349,8 @@ func (m *PowerOutlet) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -360,6 +370,8 @@ func (m *PowerOutlet) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -473,6 +485,8 @@ func (m *PowerOutlet) contextValidateCable(ctx context.Context, formats strfmt.R
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -533,6 +547,8 @@ func (m *PowerOutlet) contextValidateDevice(ctx context.Context, formats strfmt.
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -556,6 +572,8 @@ func (m *PowerOutlet) contextValidateFeedLeg(ctx context.Context, formats strfmt
if err := m.FeedLeg.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("feed_leg")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("feed_leg")
}
return err
}
@@ -588,6 +606,8 @@ func (m *PowerOutlet) contextValidatePowerPort(ctx context.Context, formats strf
if err := m.PowerPort.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_port")
}
return err
}
@@ -604,6 +624,8 @@ func (m *PowerOutlet) contextValidateTags(ctx context.Context, formats strfmt.Re
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -620,6 +642,8 @@ func (m *PowerOutlet) contextValidateType(ctx context.Context, formats strfmt.Re
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -811,7 +835,7 @@ type PowerOutletType struct {
// label
// Required: true
- // Enum: [C5 C7 C13 C15 C19 C21 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15R NEMA 5-15R NEMA 5-20R NEMA 5-30R NEMA 5-50R NEMA 6-15R NEMA 6-20R NEMA 6-30R NEMA 6-50R NEMA 10-30R NEMA 10-50R NEMA 14-20R NEMA 14-30R NEMA 14-50R NEMA 14-60R NEMA 15-15R NEMA 15-20R NEMA 15-30R NEMA 15-50R NEMA 15-60R NEMA L1-15R NEMA L5-15R NEMA L5-20R NEMA L5-30R NEMA L5-50R NEMA L6-15R NEMA L6-20R NEMA L6-30R NEMA L6-50R NEMA L10-30R NEMA L14-20R NEMA L14-30R NEMA L14-50R NEMA L14-60R NEMA L15-20R NEMA L15-30R NEMA L15-50R NEMA L15-60R NEMA L21-20R NEMA L21-30R CS6360C CS6364C CS8164C CS8264C CS8364C CS8464C ITA Type E (CEE7/5) ITA Type F (CEE7/3) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Micro B USB Type C DC Terminal HDOT Cx Saf-D-Grid Hardwired]
+ // Enum: [C5 C7 C13 C15 C19 C21 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15R NEMA 5-15R NEMA 5-20R NEMA 5-30R NEMA 5-50R NEMA 6-15R NEMA 6-20R NEMA 6-30R NEMA 6-50R NEMA 10-30R NEMA 10-50R NEMA 14-20R NEMA 14-30R NEMA 14-50R NEMA 14-60R NEMA 15-15R NEMA 15-20R NEMA 15-30R NEMA 15-50R NEMA 15-60R NEMA L1-15R NEMA L5-15R NEMA L5-20R NEMA L5-30R NEMA L5-50R NEMA L6-15R NEMA L6-20R NEMA L6-30R NEMA L6-50R NEMA L10-30R NEMA L14-20R NEMA L14-30R NEMA L14-50R NEMA L14-60R NEMA L15-20R NEMA L15-30R NEMA L15-50R NEMA L15-60R NEMA L21-20R NEMA L21-30R CS6360C CS6364C CS8164C CS8264C CS8364C CS8464C ITA Type E (CEE 7/5) ITA Type F (CEE 7/3) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Micro B USB Type C DC Terminal HDOT Cx Saf-D-Grid Hardwired]
Label *string `json:"label"`
// value
@@ -842,7 +866,7 @@ var powerOutletTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["C5","C7","C13","C15","C19","C21","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15R","NEMA 5-15R","NEMA 5-20R","NEMA 5-30R","NEMA 5-50R","NEMA 6-15R","NEMA 6-20R","NEMA 6-30R","NEMA 6-50R","NEMA 10-30R","NEMA 10-50R","NEMA 14-20R","NEMA 14-30R","NEMA 14-50R","NEMA 14-60R","NEMA 15-15R","NEMA 15-20R","NEMA 15-30R","NEMA 15-50R","NEMA 15-60R","NEMA L1-15R","NEMA L5-15R","NEMA L5-20R","NEMA L5-30R","NEMA L5-50R","NEMA L6-15R","NEMA L6-20R","NEMA L6-30R","NEMA L6-50R","NEMA L10-30R","NEMA L14-20R","NEMA L14-30R","NEMA L14-50R","NEMA L14-60R","NEMA L15-20R","NEMA L15-30R","NEMA L15-50R","NEMA L15-60R","NEMA L21-20R","NEMA L21-30R","CS6360C","CS6364C","CS8164C","CS8264C","CS8364C","CS8464C","ITA Type E (CEE7/5)","ITA Type F (CEE7/3)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Micro B","USB Type C","DC Terminal","HDOT Cx","Saf-D-Grid","Hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["C5","C7","C13","C15","C19","C21","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15R","NEMA 5-15R","NEMA 5-20R","NEMA 5-30R","NEMA 5-50R","NEMA 6-15R","NEMA 6-20R","NEMA 6-30R","NEMA 6-50R","NEMA 10-30R","NEMA 10-50R","NEMA 14-20R","NEMA 14-30R","NEMA 14-50R","NEMA 14-60R","NEMA 15-15R","NEMA 15-20R","NEMA 15-30R","NEMA 15-50R","NEMA 15-60R","NEMA L1-15R","NEMA L5-15R","NEMA L5-20R","NEMA L5-30R","NEMA L5-50R","NEMA L6-15R","NEMA L6-20R","NEMA L6-30R","NEMA L6-50R","NEMA L10-30R","NEMA L14-20R","NEMA L14-30R","NEMA L14-50R","NEMA L14-60R","NEMA L15-20R","NEMA L15-30R","NEMA L15-50R","NEMA L15-60R","NEMA L21-20R","NEMA L21-30R","CS6360C","CS6364C","CS8164C","CS8264C","CS8364C","CS8464C","ITA Type E (CEE 7/5)","ITA Type F (CEE 7/3)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Micro B","USB Type C","DC Terminal","HDOT Cx","Saf-D-Grid","Hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -1044,11 +1068,11 @@ const (
// PowerOutletTypeLabelCS8464C captures enum value "CS8464C"
PowerOutletTypeLabelCS8464C string = "CS8464C"
- // PowerOutletTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE7/5)"
- PowerOutletTypeLabelITATypeECEE75 string = "ITA Type E (CEE7/5)"
+ // PowerOutletTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE 7/5)"
+ PowerOutletTypeLabelITATypeECEE75 string = "ITA Type E (CEE 7/5)"
- // PowerOutletTypeLabelITATypeFCEE73 captures enum value "ITA Type F (CEE7/3)"
- PowerOutletTypeLabelITATypeFCEE73 string = "ITA Type F (CEE7/3)"
+ // PowerOutletTypeLabelITATypeFCEE73 captures enum value "ITA Type F (CEE 7/3)"
+ PowerOutletTypeLabelITATypeFCEE73 string = "ITA Type F (CEE 7/3)"
// PowerOutletTypeLabelITATypeGBS1363 captures enum value "ITA Type G (BS 1363)"
PowerOutletTypeLabelITATypeGBS1363 string = "ITA Type G (BS 1363)"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet_template.go
index d9ad60c49..69cd2b024 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_outlet_template.go
@@ -172,6 +172,8 @@ func (m *PowerOutletTemplate) validateDeviceType(formats strfmt.Registry) error
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -189,6 +191,8 @@ func (m *PowerOutletTemplate) validateFeedLeg(formats strfmt.Registry) error {
if err := m.FeedLeg.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("feed_leg")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("feed_leg")
}
return err
}
@@ -247,6 +251,8 @@ func (m *PowerOutletTemplate) validatePowerPort(formats strfmt.Registry) error {
if err := m.PowerPort.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_port")
}
return err
}
@@ -264,6 +270,8 @@ func (m *PowerOutletTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -345,6 +353,8 @@ func (m *PowerOutletTemplate) contextValidateDeviceType(ctx context.Context, for
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -368,6 +378,8 @@ func (m *PowerOutletTemplate) contextValidateFeedLeg(ctx context.Context, format
if err := m.FeedLeg.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("feed_leg")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("feed_leg")
}
return err
}
@@ -400,6 +412,8 @@ func (m *PowerOutletTemplate) contextValidatePowerPort(ctx context.Context, form
if err := m.PowerPort.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("power_port")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("power_port")
}
return err
}
@@ -414,6 +428,8 @@ func (m *PowerOutletTemplate) contextValidateType(ctx context.Context, formats s
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -605,7 +621,7 @@ type PowerOutletTemplateType struct {
// label
// Required: true
- // Enum: [C5 C7 C13 C15 C19 C21 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15R NEMA 5-15R NEMA 5-20R NEMA 5-30R NEMA 5-50R NEMA 6-15R NEMA 6-20R NEMA 6-30R NEMA 6-50R NEMA 10-30R NEMA 10-50R NEMA 14-20R NEMA 14-30R NEMA 14-50R NEMA 14-60R NEMA 15-15R NEMA 15-20R NEMA 15-30R NEMA 15-50R NEMA 15-60R NEMA L1-15R NEMA L5-15R NEMA L5-20R NEMA L5-30R NEMA L5-50R NEMA L6-15R NEMA L6-20R NEMA L6-30R NEMA L6-50R NEMA L10-30R NEMA L14-20R NEMA L14-30R NEMA L14-50R NEMA L14-60R NEMA L15-20R NEMA L15-30R NEMA L15-50R NEMA L15-60R NEMA L21-20R NEMA L21-30R CS6360C CS6364C CS8164C CS8264C CS8364C CS8464C ITA Type E (CEE7/5) ITA Type F (CEE7/3) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Micro B USB Type C DC Terminal HDOT Cx Saf-D-Grid Hardwired]
+ // Enum: [C5 C7 C13 C15 C19 C21 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15R NEMA 5-15R NEMA 5-20R NEMA 5-30R NEMA 5-50R NEMA 6-15R NEMA 6-20R NEMA 6-30R NEMA 6-50R NEMA 10-30R NEMA 10-50R NEMA 14-20R NEMA 14-30R NEMA 14-50R NEMA 14-60R NEMA 15-15R NEMA 15-20R NEMA 15-30R NEMA 15-50R NEMA 15-60R NEMA L1-15R NEMA L5-15R NEMA L5-20R NEMA L5-30R NEMA L5-50R NEMA L6-15R NEMA L6-20R NEMA L6-30R NEMA L6-50R NEMA L10-30R NEMA L14-20R NEMA L14-30R NEMA L14-50R NEMA L14-60R NEMA L15-20R NEMA L15-30R NEMA L15-50R NEMA L15-60R NEMA L21-20R NEMA L21-30R CS6360C CS6364C CS8164C CS8264C CS8364C CS8464C ITA Type E (CEE 7/5) ITA Type F (CEE 7/3) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Micro B USB Type C DC Terminal HDOT Cx Saf-D-Grid Hardwired]
Label *string `json:"label"`
// value
@@ -636,7 +652,7 @@ var powerOutletTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["C5","C7","C13","C15","C19","C21","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15R","NEMA 5-15R","NEMA 5-20R","NEMA 5-30R","NEMA 5-50R","NEMA 6-15R","NEMA 6-20R","NEMA 6-30R","NEMA 6-50R","NEMA 10-30R","NEMA 10-50R","NEMA 14-20R","NEMA 14-30R","NEMA 14-50R","NEMA 14-60R","NEMA 15-15R","NEMA 15-20R","NEMA 15-30R","NEMA 15-50R","NEMA 15-60R","NEMA L1-15R","NEMA L5-15R","NEMA L5-20R","NEMA L5-30R","NEMA L5-50R","NEMA L6-15R","NEMA L6-20R","NEMA L6-30R","NEMA L6-50R","NEMA L10-30R","NEMA L14-20R","NEMA L14-30R","NEMA L14-50R","NEMA L14-60R","NEMA L15-20R","NEMA L15-30R","NEMA L15-50R","NEMA L15-60R","NEMA L21-20R","NEMA L21-30R","CS6360C","CS6364C","CS8164C","CS8264C","CS8364C","CS8464C","ITA Type E (CEE7/5)","ITA Type F (CEE7/3)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Micro B","USB Type C","DC Terminal","HDOT Cx","Saf-D-Grid","Hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["C5","C7","C13","C15","C19","C21","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15R","NEMA 5-15R","NEMA 5-20R","NEMA 5-30R","NEMA 5-50R","NEMA 6-15R","NEMA 6-20R","NEMA 6-30R","NEMA 6-50R","NEMA 10-30R","NEMA 10-50R","NEMA 14-20R","NEMA 14-30R","NEMA 14-50R","NEMA 14-60R","NEMA 15-15R","NEMA 15-20R","NEMA 15-30R","NEMA 15-50R","NEMA 15-60R","NEMA L1-15R","NEMA L5-15R","NEMA L5-20R","NEMA L5-30R","NEMA L5-50R","NEMA L6-15R","NEMA L6-20R","NEMA L6-30R","NEMA L6-50R","NEMA L10-30R","NEMA L14-20R","NEMA L14-30R","NEMA L14-50R","NEMA L14-60R","NEMA L15-20R","NEMA L15-30R","NEMA L15-50R","NEMA L15-60R","NEMA L21-20R","NEMA L21-30R","CS6360C","CS6364C","CS8164C","CS8264C","CS8364C","CS8464C","ITA Type E (CEE 7/5)","ITA Type F (CEE 7/3)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Micro B","USB Type C","DC Terminal","HDOT Cx","Saf-D-Grid","Hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -838,11 +854,11 @@ const (
// PowerOutletTemplateTypeLabelCS8464C captures enum value "CS8464C"
PowerOutletTemplateTypeLabelCS8464C string = "CS8464C"
- // PowerOutletTemplateTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE7/5)"
- PowerOutletTemplateTypeLabelITATypeECEE75 string = "ITA Type E (CEE7/5)"
+ // PowerOutletTemplateTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE 7/5)"
+ PowerOutletTemplateTypeLabelITATypeECEE75 string = "ITA Type E (CEE 7/5)"
- // PowerOutletTemplateTypeLabelITATypeFCEE73 captures enum value "ITA Type F (CEE7/3)"
- PowerOutletTemplateTypeLabelITATypeFCEE73 string = "ITA Type F (CEE7/3)"
+ // PowerOutletTemplateTypeLabelITATypeFCEE73 captures enum value "ITA Type F (CEE 7/3)"
+ PowerOutletTemplateTypeLabelITATypeFCEE73 string = "ITA Type F (CEE 7/3)"
// PowerOutletTemplateTypeLabelITATypeGBS1363 captures enum value "ITA Type G (BS 1363)"
PowerOutletTemplateTypeLabelITATypeGBS1363 string = "ITA Type G (BS 1363)"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_panel.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_panel.go
index dc90d709b..2e1531628 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_panel.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_panel.go
@@ -111,6 +111,8 @@ func (m *PowerPanel) validateLocation(formats strfmt.Registry) error {
if err := m.Location.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -146,6 +148,8 @@ func (m *PowerPanel) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -168,6 +172,8 @@ func (m *PowerPanel) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -252,6 +258,8 @@ func (m *PowerPanel) contextValidateLocation(ctx context.Context, formats strfmt
if err := m.Location.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -275,6 +283,8 @@ func (m *PowerPanel) contextValidateSite(ctx context.Context, formats strfmt.Reg
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -291,6 +301,8 @@ func (m *PowerPanel) contextValidateTags(ctx context.Context, formats strfmt.Reg
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_port.go
index 88615db48..084c44950 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_port.go
@@ -226,6 +226,8 @@ func (m *PowerPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -268,6 +270,8 @@ func (m *PowerPort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -347,6 +351,8 @@ func (m *PowerPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -366,6 +372,8 @@ func (m *PowerPort) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -471,6 +479,8 @@ func (m *PowerPort) contextValidateCable(ctx context.Context, formats strfmt.Reg
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -531,6 +541,8 @@ func (m *PowerPort) contextValidateDevice(ctx context.Context, formats strfmt.Re
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -574,6 +586,8 @@ func (m *PowerPort) contextValidateTags(ctx context.Context, formats strfmt.Regi
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -590,6 +604,8 @@ func (m *PowerPort) contextValidateType(ctx context.Context, formats strfmt.Regi
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -632,12 +648,12 @@ type PowerPortType struct {
// label
// Required: true
- // Enum: [C6 C8 C14 C16 C20 C22 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15P NEMA 5-15P NEMA 5-20P NEMA 5-30P NEMA 5-50P NEMA 6-15P NEMA 6-20P NEMA 6-30P NEMA 6-50P NEMA 10-30P NEMA 10-50P NEMA 14-20P NEMA 14-30P NEMA 14-50P NEMA 14-60P NEMA 15-15P NEMA 15-20P NEMA 15-30P NEMA 15-50P NEMA 15-60P NEMA L1-15P NEMA L5-15P NEMA L5-20P NEMA L5-30P NEMA L5-50P NEMA L6-15P NEMA L6-20P NEMA L6-30P NEMA L6-50P NEMA L10-30P NEMA L14-20P NEMA L14-30P NEMA L14-50P NEMA L14-60P NEMA L15-20P NEMA L15-30P NEMA L15-50P NEMA L15-60P NEMA L21-20P NEMA L21-30P CS6361C CS6365C CS8165C CS8265C CS8365C CS8465C ITA Type E (CEE 7/5) ITA Type F (CEE 7/4) ITA Type E/F (CEE 7/7) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB 3.0 Type B USB 3.0 Micro B DC Terminal Saf-D-Grid Hardwired]
+ // Enum: [C6 C8 C14 C16 C20 C22 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15P NEMA 5-15P NEMA 5-20P NEMA 5-30P NEMA 5-50P NEMA 6-15P NEMA 6-20P NEMA 6-30P NEMA 6-50P NEMA 10-30P NEMA 10-50P NEMA 14-20P NEMA 14-30P NEMA 14-50P NEMA 14-60P NEMA 15-15P NEMA 15-20P NEMA 15-30P NEMA 15-50P NEMA 15-60P NEMA L1-15P NEMA L5-15P NEMA L5-20P NEMA L5-30P NEMA L5-50P NEMA L6-15P NEMA L6-20P NEMA L6-30P NEMA L6-50P NEMA L10-30P NEMA L14-20P NEMA L14-30P NEMA L14-50P NEMA L14-60P NEMA L15-20P NEMA L15-30P NEMA L15-50P NEMA L15-60P NEMA L21-20P NEMA L21-30P CS6361C CS6365C CS8165C CS8265C CS8365C CS8465C ITA Type C (CEE 7/16) ITA Type E (CEE 7/6) ITA Type F (CEE 7/4) ITA Type E/F (CEE 7/7) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB USB 3.0 Type B USB 3.0 Micro B DC Terminal Saf-D-Grid Hardwired]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
+ // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
Value *string `json:"value"`
}
@@ -663,7 +679,7 @@ var powerPortTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["C6","C8","C14","C16","C20","C22","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15P","NEMA 5-15P","NEMA 5-20P","NEMA 5-30P","NEMA 5-50P","NEMA 6-15P","NEMA 6-20P","NEMA 6-30P","NEMA 6-50P","NEMA 10-30P","NEMA 10-50P","NEMA 14-20P","NEMA 14-30P","NEMA 14-50P","NEMA 14-60P","NEMA 15-15P","NEMA 15-20P","NEMA 15-30P","NEMA 15-50P","NEMA 15-60P","NEMA L1-15P","NEMA L5-15P","NEMA L5-20P","NEMA L5-30P","NEMA L5-50P","NEMA L6-15P","NEMA L6-20P","NEMA L6-30P","NEMA L6-50P","NEMA L10-30P","NEMA L14-20P","NEMA L14-30P","NEMA L14-50P","NEMA L14-60P","NEMA L15-20P","NEMA L15-30P","NEMA L15-50P","NEMA L15-60P","NEMA L21-20P","NEMA L21-30P","CS6361C","CS6365C","CS8165C","CS8265C","CS8365C","CS8465C","ITA Type E (CEE 7/5)","ITA Type F (CEE 7/4)","ITA Type E/F (CEE 7/7)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB 3.0 Type B","USB 3.0 Micro B","DC Terminal","Saf-D-Grid","Hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["C6","C8","C14","C16","C20","C22","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15P","NEMA 5-15P","NEMA 5-20P","NEMA 5-30P","NEMA 5-50P","NEMA 6-15P","NEMA 6-20P","NEMA 6-30P","NEMA 6-50P","NEMA 10-30P","NEMA 10-50P","NEMA 14-20P","NEMA 14-30P","NEMA 14-50P","NEMA 14-60P","NEMA 15-15P","NEMA 15-20P","NEMA 15-30P","NEMA 15-50P","NEMA 15-60P","NEMA L1-15P","NEMA L5-15P","NEMA L5-20P","NEMA L5-30P","NEMA L5-50P","NEMA L6-15P","NEMA L6-20P","NEMA L6-30P","NEMA L6-50P","NEMA L10-30P","NEMA L14-20P","NEMA L14-30P","NEMA L14-50P","NEMA L14-60P","NEMA L15-20P","NEMA L15-30P","NEMA L15-50P","NEMA L15-60P","NEMA L21-20P","NEMA L21-30P","CS6361C","CS6365C","CS8165C","CS8265C","CS8365C","CS8465C","ITA Type C (CEE 7/16)","ITA Type E (CEE 7/6)","ITA Type F (CEE 7/4)","ITA Type E/F (CEE 7/7)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","USB 3.0 Type B","USB 3.0 Micro B","DC Terminal","Saf-D-Grid","Hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -865,8 +881,11 @@ const (
// PowerPortTypeLabelCS8465C captures enum value "CS8465C"
PowerPortTypeLabelCS8465C string = "CS8465C"
- // PowerPortTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE 7/5)"
- PowerPortTypeLabelITATypeECEE75 string = "ITA Type E (CEE 7/5)"
+ // PowerPortTypeLabelITATypeCCEE716 captures enum value "ITA Type C (CEE 7/16)"
+ PowerPortTypeLabelITATypeCCEE716 string = "ITA Type C (CEE 7/16)"
+
+ // PowerPortTypeLabelITATypeECEE76 captures enum value "ITA Type E (CEE 7/6)"
+ PowerPortTypeLabelITATypeECEE76 string = "ITA Type E (CEE 7/6)"
// PowerPortTypeLabelITATypeFCEE74 captures enum value "ITA Type F (CEE 7/4)"
PowerPortTypeLabelITATypeFCEE74 string = "ITA Type F (CEE 7/4)"
@@ -922,6 +941,9 @@ const (
// PowerPortTypeLabelUSBMicroB captures enum value "USB Micro B"
PowerPortTypeLabelUSBMicroB string = "USB Micro B"
+ // PowerPortTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ PowerPortTypeLabelUSBMicroAB string = "USB Micro AB"
+
// PowerPortTypeLabelUSB3Dot0TypeB captures enum value "USB 3.0 Type B"
PowerPortTypeLabelUSB3Dot0TypeB string = "USB 3.0 Type B"
@@ -964,7 +986,7 @@ var powerPortTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -1166,6 +1188,9 @@ const (
// PowerPortTypeValueCs8465c captures enum value "cs8465c"
PowerPortTypeValueCs8465c string = "cs8465c"
+ // PowerPortTypeValueItaDashc captures enum value "ita-c"
+ PowerPortTypeValueItaDashc string = "ita-c"
+
// PowerPortTypeValueItaDashe captures enum value "ita-e"
PowerPortTypeValueItaDashe string = "ita-e"
@@ -1223,6 +1248,9 @@ const (
// PowerPortTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
PowerPortTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // PowerPortTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ PowerPortTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// PowerPortTypeValueUsbDash3Dashb captures enum value "usb-3-b"
PowerPortTypeValueUsbDash3Dashb string = "usb-3-b"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/power_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/power_port_template.go
index ce5f54c27..71fda2054 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/power_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/power_port_template.go
@@ -196,6 +196,8 @@ func (m *PowerPortTemplate) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -270,6 +272,8 @@ func (m *PowerPortTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -343,6 +347,8 @@ func (m *PowerPortTemplate) contextValidateDeviceType(ctx context.Context, forma
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -384,6 +390,8 @@ func (m *PowerPortTemplate) contextValidateType(ctx context.Context, formats str
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -426,12 +434,12 @@ type PowerPortTemplateType struct {
// label
// Required: true
- // Enum: [C6 C8 C14 C16 C20 C22 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15P NEMA 5-15P NEMA 5-20P NEMA 5-30P NEMA 5-50P NEMA 6-15P NEMA 6-20P NEMA 6-30P NEMA 6-50P NEMA 10-30P NEMA 10-50P NEMA 14-20P NEMA 14-30P NEMA 14-50P NEMA 14-60P NEMA 15-15P NEMA 15-20P NEMA 15-30P NEMA 15-50P NEMA 15-60P NEMA L1-15P NEMA L5-15P NEMA L5-20P NEMA L5-30P NEMA L5-50P NEMA L6-15P NEMA L6-20P NEMA L6-30P NEMA L6-50P NEMA L10-30P NEMA L14-20P NEMA L14-30P NEMA L14-50P NEMA L14-60P NEMA L15-20P NEMA L15-30P NEMA L15-50P NEMA L15-60P NEMA L21-20P NEMA L21-30P CS6361C CS6365C CS8165C CS8265C CS8365C CS8465C ITA Type E (CEE 7/5) ITA Type F (CEE 7/4) ITA Type E/F (CEE 7/7) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB 3.0 Type B USB 3.0 Micro B DC Terminal Saf-D-Grid Hardwired]
+ // Enum: [C6 C8 C14 C16 C20 C22 P+N+E 4H P+N+E 6H P+N+E 9H 2P+E 4H 2P+E 6H 2P+E 9H 3P+E 4H 3P+E 6H 3P+E 9H 3P+N+E 4H 3P+N+E 6H 3P+N+E 9H NEMA 1-15P NEMA 5-15P NEMA 5-20P NEMA 5-30P NEMA 5-50P NEMA 6-15P NEMA 6-20P NEMA 6-30P NEMA 6-50P NEMA 10-30P NEMA 10-50P NEMA 14-20P NEMA 14-30P NEMA 14-50P NEMA 14-60P NEMA 15-15P NEMA 15-20P NEMA 15-30P NEMA 15-50P NEMA 15-60P NEMA L1-15P NEMA L5-15P NEMA L5-20P NEMA L5-30P NEMA L5-50P NEMA L6-15P NEMA L6-20P NEMA L6-30P NEMA L6-50P NEMA L10-30P NEMA L14-20P NEMA L14-30P NEMA L14-50P NEMA L14-60P NEMA L15-20P NEMA L15-30P NEMA L15-50P NEMA L15-60P NEMA L21-20P NEMA L21-30P CS6361C CS6365C CS8165C CS8265C CS8365C CS8465C ITA Type C (CEE 7/16) ITA Type E (CEE 7/6) ITA Type F (CEE 7/4) ITA Type E/F (CEE 7/7) ITA Type G (BS 1363) ITA Type H ITA Type I ITA Type J ITA Type K ITA Type L (CEI 23-50) ITA Type M (BS 546) ITA Type N ITA Type O USB Type A USB Type B USB Type C USB Mini A USB Mini B USB Micro A USB Micro B USB Micro AB USB 3.0 Type B USB 3.0 Micro B DC Terminal Saf-D-Grid Hardwired]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
+ // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
Value *string `json:"value"`
}
@@ -457,7 +465,7 @@ var powerPortTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["C6","C8","C14","C16","C20","C22","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15P","NEMA 5-15P","NEMA 5-20P","NEMA 5-30P","NEMA 5-50P","NEMA 6-15P","NEMA 6-20P","NEMA 6-30P","NEMA 6-50P","NEMA 10-30P","NEMA 10-50P","NEMA 14-20P","NEMA 14-30P","NEMA 14-50P","NEMA 14-60P","NEMA 15-15P","NEMA 15-20P","NEMA 15-30P","NEMA 15-50P","NEMA 15-60P","NEMA L1-15P","NEMA L5-15P","NEMA L5-20P","NEMA L5-30P","NEMA L5-50P","NEMA L6-15P","NEMA L6-20P","NEMA L6-30P","NEMA L6-50P","NEMA L10-30P","NEMA L14-20P","NEMA L14-30P","NEMA L14-50P","NEMA L14-60P","NEMA L15-20P","NEMA L15-30P","NEMA L15-50P","NEMA L15-60P","NEMA L21-20P","NEMA L21-30P","CS6361C","CS6365C","CS8165C","CS8265C","CS8365C","CS8465C","ITA Type E (CEE 7/5)","ITA Type F (CEE 7/4)","ITA Type E/F (CEE 7/7)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB 3.0 Type B","USB 3.0 Micro B","DC Terminal","Saf-D-Grid","Hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["C6","C8","C14","C16","C20","C22","P+N+E 4H","P+N+E 6H","P+N+E 9H","2P+E 4H","2P+E 6H","2P+E 9H","3P+E 4H","3P+E 6H","3P+E 9H","3P+N+E 4H","3P+N+E 6H","3P+N+E 9H","NEMA 1-15P","NEMA 5-15P","NEMA 5-20P","NEMA 5-30P","NEMA 5-50P","NEMA 6-15P","NEMA 6-20P","NEMA 6-30P","NEMA 6-50P","NEMA 10-30P","NEMA 10-50P","NEMA 14-20P","NEMA 14-30P","NEMA 14-50P","NEMA 14-60P","NEMA 15-15P","NEMA 15-20P","NEMA 15-30P","NEMA 15-50P","NEMA 15-60P","NEMA L1-15P","NEMA L5-15P","NEMA L5-20P","NEMA L5-30P","NEMA L5-50P","NEMA L6-15P","NEMA L6-20P","NEMA L6-30P","NEMA L6-50P","NEMA L10-30P","NEMA L14-20P","NEMA L14-30P","NEMA L14-50P","NEMA L14-60P","NEMA L15-20P","NEMA L15-30P","NEMA L15-50P","NEMA L15-60P","NEMA L21-20P","NEMA L21-30P","CS6361C","CS6365C","CS8165C","CS8265C","CS8365C","CS8465C","ITA Type C (CEE 7/16)","ITA Type E (CEE 7/6)","ITA Type F (CEE 7/4)","ITA Type E/F (CEE 7/7)","ITA Type G (BS 1363)","ITA Type H","ITA Type I","ITA Type J","ITA Type K","ITA Type L (CEI 23-50)","ITA Type M (BS 546)","ITA Type N","ITA Type O","USB Type A","USB Type B","USB Type C","USB Mini A","USB Mini B","USB Micro A","USB Micro B","USB Micro AB","USB 3.0 Type B","USB 3.0 Micro B","DC Terminal","Saf-D-Grid","Hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -659,8 +667,11 @@ const (
// PowerPortTemplateTypeLabelCS8465C captures enum value "CS8465C"
PowerPortTemplateTypeLabelCS8465C string = "CS8465C"
- // PowerPortTemplateTypeLabelITATypeECEE75 captures enum value "ITA Type E (CEE 7/5)"
- PowerPortTemplateTypeLabelITATypeECEE75 string = "ITA Type E (CEE 7/5)"
+ // PowerPortTemplateTypeLabelITATypeCCEE716 captures enum value "ITA Type C (CEE 7/16)"
+ PowerPortTemplateTypeLabelITATypeCCEE716 string = "ITA Type C (CEE 7/16)"
+
+ // PowerPortTemplateTypeLabelITATypeECEE76 captures enum value "ITA Type E (CEE 7/6)"
+ PowerPortTemplateTypeLabelITATypeECEE76 string = "ITA Type E (CEE 7/6)"
// PowerPortTemplateTypeLabelITATypeFCEE74 captures enum value "ITA Type F (CEE 7/4)"
PowerPortTemplateTypeLabelITATypeFCEE74 string = "ITA Type F (CEE 7/4)"
@@ -716,6 +727,9 @@ const (
// PowerPortTemplateTypeLabelUSBMicroB captures enum value "USB Micro B"
PowerPortTemplateTypeLabelUSBMicroB string = "USB Micro B"
+ // PowerPortTemplateTypeLabelUSBMicroAB captures enum value "USB Micro AB"
+ PowerPortTemplateTypeLabelUSBMicroAB string = "USB Micro AB"
+
// PowerPortTemplateTypeLabelUSB3Dot0TypeB captures enum value "USB 3.0 Type B"
PowerPortTemplateTypeLabelUSB3Dot0TypeB string = "USB 3.0 Type B"
@@ -758,7 +772,7 @@ var powerPortTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -960,6 +974,9 @@ const (
// PowerPortTemplateTypeValueCs8465c captures enum value "cs8465c"
PowerPortTemplateTypeValueCs8465c string = "cs8465c"
+ // PowerPortTemplateTypeValueItaDashc captures enum value "ita-c"
+ PowerPortTemplateTypeValueItaDashc string = "ita-c"
+
// PowerPortTemplateTypeValueItaDashe captures enum value "ita-e"
PowerPortTemplateTypeValueItaDashe string = "ita-e"
@@ -1017,6 +1034,9 @@ const (
// PowerPortTemplateTypeValueUsbDashMicroDashb captures enum value "usb-micro-b"
PowerPortTemplateTypeValueUsbDashMicroDashb string = "usb-micro-b"
+ // PowerPortTemplateTypeValueUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ PowerPortTemplateTypeValueUsbDashMicroDashAb string = "usb-micro-ab"
+
// PowerPortTemplateTypeValueUsbDash3Dashb captures enum value "usb-3-b"
PowerPortTemplateTypeValueUsbDash3Dashb string = "usb-3-b"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/prefix.go b/vendor/github.com/smutel/go-netbox/netbox/models/prefix.go
index 651402734..768b97dfd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/prefix.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/prefix.go
@@ -77,6 +77,11 @@ type Prefix struct {
// Format: date-time
LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
+ // Mark utilized
+ //
+ // Treat as 100% utilized
+ MarkUtilized bool `json:"mark_utilized,omitempty"`
+
// Prefix
//
// IPv4 or IPv6 network with mask
@@ -205,6 +210,8 @@ func (m *Prefix) validateFamily(formats strfmt.Registry) error {
if err := m.Family.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -243,6 +250,8 @@ func (m *Prefix) validateRole(formats strfmt.Registry) error {
if err := m.Role.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -260,6 +269,8 @@ func (m *Prefix) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -277,6 +288,8 @@ func (m *Prefix) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -299,6 +312,8 @@ func (m *Prefix) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -318,6 +333,8 @@ func (m *Prefix) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -347,6 +364,8 @@ func (m *Prefix) validateVlan(formats strfmt.Registry) error {
if err := m.Vlan.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vlan")
}
return err
}
@@ -364,6 +383,8 @@ func (m *Prefix) validateVrf(formats strfmt.Registry) error {
if err := m.Vrf.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
@@ -484,6 +505,8 @@ func (m *Prefix) contextValidateFamily(ctx context.Context, formats strfmt.Regis
if err := m.Family.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("family")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("family")
}
return err
}
@@ -516,6 +539,8 @@ func (m *Prefix) contextValidateRole(ctx context.Context, formats strfmt.Registr
if err := m.Role.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -530,6 +555,8 @@ func (m *Prefix) contextValidateSite(ctx context.Context, formats strfmt.Registr
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -544,6 +571,8 @@ func (m *Prefix) contextValidateStatus(ctx context.Context, formats strfmt.Regis
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -560,6 +589,8 @@ func (m *Prefix) contextValidateTags(ctx context.Context, formats strfmt.Registr
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -576,6 +607,8 @@ func (m *Prefix) contextValidateTenant(ctx context.Context, formats strfmt.Regis
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -599,6 +632,8 @@ func (m *Prefix) contextValidateVlan(ctx context.Context, formats strfmt.Registr
if err := m.Vlan.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vlan")
}
return err
}
@@ -613,6 +648,8 @@ func (m *Prefix) contextValidateVrf(ctx context.Context, formats strfmt.Registry
if err := m.Vrf.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("vrf")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("vrf")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/provider.go b/vendor/github.com/smutel/go-netbox/netbox/models/provider.go
index 5d09b7656..d55b5ff7f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/provider.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/provider.go
@@ -273,6 +273,8 @@ func (m *Provider) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -386,6 +388,8 @@ func (m *Provider) contextValidateTags(ctx context.Context, formats strfmt.Regis
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/provider_network.go b/vendor/github.com/smutel/go-netbox/netbox/models/provider_network.go
index 0be72ed2b..8eb3428f0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/provider_network.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/provider_network.go
@@ -183,6 +183,8 @@ func (m *ProviderNetwork) validateProvider(formats strfmt.Registry) error {
if err := m.Provider.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider")
}
return err
}
@@ -205,6 +207,8 @@ func (m *ProviderNetwork) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -307,6 +311,8 @@ func (m *ProviderNetwork) contextValidateProvider(ctx context.Context, formats s
if err := m.Provider.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("provider")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("provider")
}
return err
}
@@ -323,6 +329,8 @@ func (m *ProviderNetwork) contextValidateTags(ctx context.Context, formats strfm
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/rack.go b/vendor/github.com/smutel/go-netbox/netbox/models/rack.go
index 5d4591983..79bdfaa53 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/rack.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/rack.go
@@ -66,10 +66,6 @@ type Rack struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Facility ID
//
// Locally-assigned identifier
@@ -297,6 +293,8 @@ func (m *Rack) validateLocation(formats strfmt.Registry) error {
if err := m.Location.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -347,6 +345,8 @@ func (m *Rack) validateOuterUnit(formats strfmt.Registry) error {
if err := m.OuterUnit.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("outer_unit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("outer_unit")
}
return err
}
@@ -380,6 +380,8 @@ func (m *Rack) validateRole(formats strfmt.Registry) error {
if err := m.Role.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -410,6 +412,8 @@ func (m *Rack) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -427,6 +431,8 @@ func (m *Rack) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -449,6 +455,8 @@ func (m *Rack) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -468,6 +476,8 @@ func (m *Rack) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -485,6 +495,8 @@ func (m *Rack) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -530,6 +542,8 @@ func (m *Rack) validateWidth(formats strfmt.Registry) error {
if err := m.Width.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("width")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("width")
}
return err
}
@@ -554,10 +568,6 @@ func (m *Rack) ContextValidate(ctx context.Context, formats strfmt.Registry) err
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -643,15 +653,6 @@ func (m *Rack) contextValidateDisplay(ctx context.Context, formats strfmt.Regist
return nil
}
-func (m *Rack) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *Rack) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -676,6 +677,8 @@ func (m *Rack) contextValidateLocation(ctx context.Context, formats strfmt.Regis
if err := m.Location.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("location")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("location")
}
return err
}
@@ -690,6 +693,8 @@ func (m *Rack) contextValidateOuterUnit(ctx context.Context, formats strfmt.Regi
if err := m.OuterUnit.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("outer_unit")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("outer_unit")
}
return err
}
@@ -713,6 +718,8 @@ func (m *Rack) contextValidateRole(ctx context.Context, formats strfmt.Registry)
if err := m.Role.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -727,6 +734,8 @@ func (m *Rack) contextValidateSite(ctx context.Context, formats strfmt.Registry)
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -741,6 +750,8 @@ func (m *Rack) contextValidateStatus(ctx context.Context, formats strfmt.Registr
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -757,6 +768,8 @@ func (m *Rack) contextValidateTags(ctx context.Context, formats strfmt.Registry)
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -773,6 +786,8 @@ func (m *Rack) contextValidateTenant(ctx context.Context, formats strfmt.Registr
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -787,6 +802,8 @@ func (m *Rack) contextValidateType(ctx context.Context, formats strfmt.Registry)
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -810,6 +827,8 @@ func (m *Rack) contextValidateWidth(ctx context.Context, formats strfmt.Registry
if err := m.Width.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("width")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("width")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/rack_reservation.go b/vendor/github.com/smutel/go-netbox/netbox/models/rack_reservation.go
index 132592651..417436aa6 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/rack_reservation.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/rack_reservation.go
@@ -162,6 +162,8 @@ func (m *RackReservation) validateRack(formats strfmt.Registry) error {
if err := m.Rack.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -184,6 +186,8 @@ func (m *RackReservation) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -203,6 +207,8 @@ func (m *RackReservation) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -257,6 +263,8 @@ func (m *RackReservation) validateUser(formats strfmt.Registry) error {
if err := m.User.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
@@ -340,6 +348,8 @@ func (m *RackReservation) contextValidateRack(ctx context.Context, formats strfm
if err := m.Rack.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("rack")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("rack")
}
return err
}
@@ -356,6 +366,8 @@ func (m *RackReservation) contextValidateTags(ctx context.Context, formats strfm
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -372,6 +384,8 @@ func (m *RackReservation) contextValidateTenant(ctx context.Context, formats str
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -395,6 +409,8 @@ func (m *RackReservation) contextValidateUser(ctx context.Context, formats strfm
if err := m.User.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/rack_unit.go b/vendor/github.com/smutel/go-netbox/netbox/models/rack_unit.go
index 3fde90c0d..61813ec2f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/rack_unit.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/rack_unit.go
@@ -90,6 +90,8 @@ func (m *RackUnit) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -107,6 +109,8 @@ func (m *RackUnit) validateFace(formats strfmt.Registry) error {
if err := m.Face.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
@@ -167,6 +171,8 @@ func (m *RackUnit) contextValidateDevice(ctx context.Context, formats strfmt.Reg
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -190,6 +196,8 @@ func (m *RackUnit) contextValidateFace(ctx context.Context, formats strfmt.Regis
if err := m.Face.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("face")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("face")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/rear_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/rear_port.go
index df8e7b723..5882692be 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/rear_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/rear_port.go
@@ -55,6 +55,11 @@ type RearPort struct {
// Read Only: true
CablePeerType string `json:"cable_peer_type,omitempty"`
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -127,6 +132,10 @@ func (m *RearPort) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -182,6 +191,8 @@ func (m *RearPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -190,6 +201,22 @@ func (m *RearPort) validateCable(formats strfmt.Registry) error {
return nil
}
+func (m *RearPort) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *RearPort) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -224,6 +251,8 @@ func (m *RearPort) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -303,6 +332,8 @@ func (m *RearPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -323,6 +354,8 @@ func (m *RearPort) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -416,6 +449,8 @@ func (m *RearPort) contextValidateCable(ctx context.Context, formats strfmt.Regi
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -453,6 +488,8 @@ func (m *RearPort) contextValidateDevice(ctx context.Context, formats strfmt.Reg
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -496,6 +533,8 @@ func (m *RearPort) contextValidateTags(ctx context.Context, formats strfmt.Regis
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -512,6 +551,8 @@ func (m *RearPort) contextValidateType(ctx context.Context, formats strfmt.Regis
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -554,12 +595,12 @@ type RearPortType struct {
// label
// Required: true
- // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN Splice]
+ // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN SMA 905 SMA 906 URM-P2 URM-P4 URM-P8 Splice]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Value *string `json:"value"`
}
@@ -585,7 +626,7 @@ var rearPortTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","Splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","SMA 905","SMA 906","URM-P2","URM-P4","URM-P8","Splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -685,6 +726,21 @@ const (
// RearPortTypeLabelSN captures enum value "SN"
RearPortTypeLabelSN string = "SN"
+ // RearPortTypeLabelSMA905 captures enum value "SMA 905"
+ RearPortTypeLabelSMA905 string = "SMA 905"
+
+ // RearPortTypeLabelSMA906 captures enum value "SMA 906"
+ RearPortTypeLabelSMA906 string = "SMA 906"
+
+ // RearPortTypeLabelURMDashP2 captures enum value "URM-P2"
+ RearPortTypeLabelURMDashP2 string = "URM-P2"
+
+ // RearPortTypeLabelURMDashP4 captures enum value "URM-P4"
+ RearPortTypeLabelURMDashP4 string = "URM-P4"
+
+ // RearPortTypeLabelURMDashP8 captures enum value "URM-P8"
+ RearPortTypeLabelURMDashP8 string = "URM-P8"
+
// RearPortTypeLabelSplice captures enum value "Splice"
RearPortTypeLabelSplice string = "Splice"
)
@@ -715,7 +771,7 @@ var rearPortTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -815,6 +871,21 @@ const (
// RearPortTypeValueSn captures enum value "sn"
RearPortTypeValueSn string = "sn"
+ // RearPortTypeValueSmaDash905 captures enum value "sma-905"
+ RearPortTypeValueSmaDash905 string = "sma-905"
+
+ // RearPortTypeValueSmaDash906 captures enum value "sma-906"
+ RearPortTypeValueSmaDash906 string = "sma-906"
+
+ // RearPortTypeValueUrmDashP2 captures enum value "urm-p2"
+ RearPortTypeValueUrmDashP2 string = "urm-p2"
+
+ // RearPortTypeValueUrmDashP4 captures enum value "urm-p4"
+ RearPortTypeValueUrmDashP4 string = "urm-p4"
+
+ // RearPortTypeValueUrmDashP8 captures enum value "urm-p8"
+ RearPortTypeValueUrmDashP8 string = "urm-p8"
+
// RearPortTypeValueSplice captures enum value "splice"
RearPortTypeValueSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/rear_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/rear_port_template.go
index df1d6f267..7760cb1a7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/rear_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/rear_port_template.go
@@ -35,6 +35,11 @@ import (
// swagger:model RearPortTemplate
type RearPortTemplate struct {
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -92,6 +97,10 @@ type RearPortTemplate struct {
func (m *RearPortTemplate) Validate(formats strfmt.Registry) error {
var res []error
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -134,6 +143,22 @@ func (m *RearPortTemplate) Validate(formats strfmt.Registry) error {
return nil
}
+func (m *RearPortTemplate) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *RearPortTemplate) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -168,6 +193,8 @@ func (m *RearPortTemplate) validateDeviceType(formats strfmt.Registry) error {
if err := m.DeviceType.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -243,6 +270,8 @@ func (m *RearPortTemplate) validateType(formats strfmt.Registry) error {
if err := m.Type.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -316,6 +345,8 @@ func (m *RearPortTemplate) contextValidateDeviceType(ctx context.Context, format
if err := m.DeviceType.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device_type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device_type")
}
return err
}
@@ -357,6 +388,8 @@ func (m *RearPortTemplate) contextValidateType(ctx context.Context, formats strf
if err := m.Type.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("type")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("type")
}
return err
}
@@ -399,12 +432,12 @@ type RearPortTemplateType struct {
// label
// Required: true
- // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN Splice]
+ // Enum: [8P8C 8P6C 8P4C 8P2C 6P6C 6P4C 6P2C 4P4C 4P2C GG45 TERA 4P TERA 2P TERA 1P 110 Punch BNC F Connector N Connector MRJ21 FC LC LC/APC LSH LSH/APC MPO MTRJ SC SC/APC ST CS SN SMA 905 SMA 906 URM-P2 URM-P4 URM-P8 Splice]
Label *string `json:"label"`
// value
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Value *string `json:"value"`
}
@@ -430,7 +463,7 @@ var rearPortTemplateTypeTypeLabelPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","Splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8P8C","8P6C","8P4C","8P2C","6P6C","6P4C","6P2C","4P4C","4P2C","GG45","TERA 4P","TERA 2P","TERA 1P","110 Punch","BNC","F Connector","N Connector","MRJ21","FC","LC","LC/APC","LSH","LSH/APC","MPO","MTRJ","SC","SC/APC","ST","CS","SN","SMA 905","SMA 906","URM-P2","URM-P4","URM-P8","Splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -530,6 +563,21 @@ const (
// RearPortTemplateTypeLabelSN captures enum value "SN"
RearPortTemplateTypeLabelSN string = "SN"
+ // RearPortTemplateTypeLabelSMA905 captures enum value "SMA 905"
+ RearPortTemplateTypeLabelSMA905 string = "SMA 905"
+
+ // RearPortTemplateTypeLabelSMA906 captures enum value "SMA 906"
+ RearPortTemplateTypeLabelSMA906 string = "SMA 906"
+
+ // RearPortTemplateTypeLabelURMDashP2 captures enum value "URM-P2"
+ RearPortTemplateTypeLabelURMDashP2 string = "URM-P2"
+
+ // RearPortTemplateTypeLabelURMDashP4 captures enum value "URM-P4"
+ RearPortTemplateTypeLabelURMDashP4 string = "URM-P4"
+
+ // RearPortTemplateTypeLabelURMDashP8 captures enum value "URM-P8"
+ RearPortTemplateTypeLabelURMDashP8 string = "URM-P8"
+
// RearPortTemplateTypeLabelSplice captures enum value "Splice"
RearPortTemplateTypeLabelSplice string = "Splice"
)
@@ -560,7 +608,7 @@ var rearPortTemplateTypeTypeValuePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -660,6 +708,21 @@ const (
// RearPortTemplateTypeValueSn captures enum value "sn"
RearPortTemplateTypeValueSn string = "sn"
+ // RearPortTemplateTypeValueSmaDash905 captures enum value "sma-905"
+ RearPortTemplateTypeValueSmaDash905 string = "sma-905"
+
+ // RearPortTemplateTypeValueSmaDash906 captures enum value "sma-906"
+ RearPortTemplateTypeValueSmaDash906 string = "sma-906"
+
+ // RearPortTemplateTypeValueUrmDashP2 captures enum value "urm-p2"
+ RearPortTemplateTypeValueUrmDashP2 string = "urm-p2"
+
+ // RearPortTemplateTypeValueUrmDashP4 captures enum value "urm-p4"
+ RearPortTemplateTypeValueUrmDashP4 string = "urm-p4"
+
+ // RearPortTemplateTypeValueUrmDashP8 captures enum value "urm-p8"
+ RearPortTemplateTypeValueUrmDashP8 string = "urm-p8"
+
// RearPortTemplateTypeValueSplice captures enum value "splice"
RearPortTemplateTypeValueSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/region.go b/vendor/github.com/smutel/go-netbox/netbox/models/region.go
index a30a08699..e33106ebc 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/region.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/region.go
@@ -189,6 +189,8 @@ func (m *Region) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -323,6 +325,8 @@ func (m *Region) contextValidateParent(ctx context.Context, formats strfmt.Regis
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/route_target.go b/vendor/github.com/smutel/go-netbox/netbox/models/route_target.go
index b8f086c3c..fd48d5568 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/route_target.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/route_target.go
@@ -185,6 +185,8 @@ func (m *RouteTarget) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -204,6 +206,8 @@ func (m *RouteTarget) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -306,6 +310,8 @@ func (m *RouteTarget) contextValidateTags(ctx context.Context, formats strfmt.Re
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -322,6 +328,8 @@ func (m *RouteTarget) contextValidateTenant(ctx context.Context, formats strfmt.
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/secret.go b/vendor/github.com/smutel/go-netbox/netbox/models/secret.go
deleted file mode 100644
index f1a112e24..000000000
--- a/vendor/github.com/smutel/go-netbox/netbox/models/secret.go
+++ /dev/null
@@ -1,444 +0,0 @@
-// Code generated by go-swagger; DO NOT EDIT.
-
-// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
-//
-// Permission to use, copy, modify, and distribute this software for any
-// purpose with or without fee is hereby granted, provided that the above
-// copyright notice and this permission notice appear in all copies.
-//
-// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
-// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
-// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
-// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
-// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
-// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
-// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
-//
-
-package models
-
-// This file was generated by the swagger tool.
-// Editing this file might prove futile when you re-run the swagger generate command
-
-import (
- "context"
- "strconv"
-
- "github.com/go-openapi/errors"
- "github.com/go-openapi/strfmt"
- "github.com/go-openapi/swag"
- "github.com/go-openapi/validate"
-)
-
-// Secret secret
-//
-// swagger:model Secret
-type Secret struct {
-
- // Assigned object
- // Read Only: true
- AssignedObject map[string]*string `json:"assigned_object,omitempty"`
-
- // Assigned object id
- // Required: true
- // Maximum: 2.147483647e+09
- // Minimum: 0
- AssignedObjectID *int64 `json:"assigned_object_id"`
-
- // Assigned object type
- // Required: true
- AssignedObjectType *string `json:"assigned_object_type"`
-
- // Created
- // Read Only: true
- // Format: date
- Created strfmt.Date `json:"created,omitempty"`
-
- // Custom fields
- CustomFields interface{} `json:"custom_fields,omitempty"`
-
- // Display
- // Read Only: true
- Display string `json:"display,omitempty"`
-
- // Hash
- // Read Only: true
- // Min Length: 1
- Hash string `json:"hash,omitempty"`
-
- // Id
- // Read Only: true
- ID int64 `json:"id,omitempty"`
-
- // Last updated
- // Read Only: true
- // Format: date-time
- LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
-
- // Name
- // Max Length: 100
- Name string `json:"name,omitempty"`
-
- // Plaintext
- // Required: true
- // Min Length: 1
- Plaintext *string `json:"plaintext"`
-
- // role
- // Required: true
- Role *NestedSecretRole `json:"role"`
-
- // tags
- Tags []*NestedTag `json:"tags"`
-
- // Url
- // Read Only: true
- // Format: uri
- URL strfmt.URI `json:"url,omitempty"`
-}
-
-// Validate validates this secret
-func (m *Secret) Validate(formats strfmt.Registry) error {
- var res []error
-
- if err := m.validateAssignedObjectID(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateAssignedObjectType(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateCreated(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateHash(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateLastUpdated(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateName(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validatePlaintext(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateRole(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateTags(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateURL(formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *Secret) validateAssignedObjectID(formats strfmt.Registry) error {
-
- if err := validate.Required("assigned_object_id", "body", m.AssignedObjectID); err != nil {
- return err
- }
-
- if err := validate.MinimumInt("assigned_object_id", "body", *m.AssignedObjectID, 0, false); err != nil {
- return err
- }
-
- if err := validate.MaximumInt("assigned_object_id", "body", *m.AssignedObjectID, 2.147483647e+09, false); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateAssignedObjectType(formats strfmt.Registry) error {
-
- if err := validate.Required("assigned_object_type", "body", m.AssignedObjectType); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateCreated(formats strfmt.Registry) error {
- if swag.IsZero(m.Created) { // not required
- return nil
- }
-
- if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateHash(formats strfmt.Registry) error {
- if swag.IsZero(m.Hash) { // not required
- return nil
- }
-
- if err := validate.MinLength("hash", "body", m.Hash, 1); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateLastUpdated(formats strfmt.Registry) error {
- if swag.IsZero(m.LastUpdated) { // not required
- return nil
- }
-
- if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateName(formats strfmt.Registry) error {
- if swag.IsZero(m.Name) { // not required
- return nil
- }
-
- if err := validate.MaxLength("name", "body", m.Name, 100); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validatePlaintext(formats strfmt.Registry) error {
-
- if err := validate.Required("plaintext", "body", m.Plaintext); err != nil {
- return err
- }
-
- if err := validate.MinLength("plaintext", "body", *m.Plaintext, 1); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) validateRole(formats strfmt.Registry) error {
-
- if err := validate.Required("role", "body", m.Role); err != nil {
- return err
- }
-
- if m.Role != nil {
- if err := m.Role.Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("role")
- }
- return err
- }
- }
-
- return nil
-}
-
-func (m *Secret) validateTags(formats strfmt.Registry) error {
- if swag.IsZero(m.Tags) { // not required
- return nil
- }
-
- for i := 0; i < len(m.Tags); i++ {
- if swag.IsZero(m.Tags[i]) { // not required
- continue
- }
-
- if m.Tags[i] != nil {
- if err := m.Tags[i].Validate(formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("tags" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-func (m *Secret) validateURL(formats strfmt.Registry) error {
- if swag.IsZero(m.URL) { // not required
- return nil
- }
-
- if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
- return err
- }
-
- return nil
-}
-
-// ContextValidate validate this secret based on the context it is used
-func (m *Secret) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
- var res []error
-
- if err := m.contextValidateAssignedObject(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateCreated(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateDisplay(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateHash(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateID(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateRole(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateTags(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateURL(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if len(res) > 0 {
- return errors.CompositeValidationError(res...)
- }
- return nil
-}
-
-func (m *Secret) contextValidateAssignedObject(ctx context.Context, formats strfmt.Registry) error {
-
- return nil
-}
-
-func (m *Secret) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateHash(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "hash", "body", string(m.Hash)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateRole(ctx context.Context, formats strfmt.Registry) error {
-
- if m.Role != nil {
- if err := m.Role.ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("role")
- }
- return err
- }
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
-
- for i := 0; i < len(m.Tags); i++ {
-
- if m.Tags[i] != nil {
- if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
- if ve, ok := err.(*errors.Validation); ok {
- return ve.ValidateName("tags" + "." + strconv.Itoa(i))
- }
- return err
- }
- }
-
- }
-
- return nil
-}
-
-func (m *Secret) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
- return err
- }
-
- return nil
-}
-
-// MarshalBinary interface implementation
-func (m *Secret) MarshalBinary() ([]byte, error) {
- if m == nil {
- return nil, nil
- }
- return swag.WriteJSON(m)
-}
-
-// UnmarshalBinary interface implementation
-func (m *Secret) UnmarshalBinary(b []byte) error {
- var res Secret
- if err := swag.ReadJSON(b, &res); err != nil {
- return err
- }
- *m = res
- return nil
-}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/service.go b/vendor/github.com/smutel/go-netbox/netbox/models/service.go
index f456e0fb9..417de0877 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/service.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/service.go
@@ -180,6 +180,8 @@ func (m *Service) validateDevice(formats strfmt.Registry) error {
if err := m.Device.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -206,6 +208,8 @@ func (m *Service) validateIpaddresses(formats strfmt.Registry) error {
if err := m.Ipaddresses[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipaddresses" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipaddresses" + "." + strconv.Itoa(i))
}
return err
}
@@ -275,6 +279,8 @@ func (m *Service) validateProtocol(formats strfmt.Registry) error {
if err := m.Protocol.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("protocol")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("protocol")
}
return err
}
@@ -297,6 +303,8 @@ func (m *Service) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -328,6 +336,8 @@ func (m *Service) validateVirtualMachine(formats strfmt.Registry) error {
if err := m.VirtualMachine.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
@@ -401,6 +411,8 @@ func (m *Service) contextValidateDevice(ctx context.Context, formats strfmt.Regi
if err := m.Device.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("device")
}
return err
}
@@ -435,6 +447,8 @@ func (m *Service) contextValidateIpaddresses(ctx context.Context, formats strfmt
if err := m.Ipaddresses[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("ipaddresses" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("ipaddresses" + "." + strconv.Itoa(i))
}
return err
}
@@ -460,6 +474,8 @@ func (m *Service) contextValidateProtocol(ctx context.Context, formats strfmt.Re
if err := m.Protocol.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("protocol")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("protocol")
}
return err
}
@@ -476,6 +492,8 @@ func (m *Service) contextValidateTags(ctx context.Context, formats strfmt.Regist
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -501,6 +519,8 @@ func (m *Service) contextValidateVirtualMachine(ctx context.Context, formats str
if err := m.VirtualMachine.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/site.go b/vendor/github.com/smutel/go-netbox/netbox/models/site.go
index 67cf807b7..208627c28 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/site.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/site.go
@@ -104,12 +104,12 @@ type Site struct {
// Latitude
//
// GPS coordinate (latitude)
- Latitude *string `json:"latitude,omitempty"`
+ Latitude *float64 `json:"latitude,omitempty"`
// Longitude
//
// GPS coordinate (longitude)
- Longitude *string `json:"longitude,omitempty"`
+ Longitude *float64 `json:"longitude,omitempty"`
// Name
// Required: true
@@ -352,6 +352,8 @@ func (m *Site) validateGroup(formats strfmt.Registry) error {
if err := m.Group.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -410,6 +412,8 @@ func (m *Site) validateRegion(formats strfmt.Registry) error {
if err := m.Region.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("region")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("region")
}
return err
}
@@ -460,6 +464,8 @@ func (m *Site) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -482,6 +488,8 @@ func (m *Site) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -501,6 +509,8 @@ func (m *Site) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -637,6 +647,8 @@ func (m *Site) contextValidateGroup(ctx context.Context, formats strfmt.Registry
if err := m.Group.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -687,6 +699,8 @@ func (m *Site) contextValidateRegion(ctx context.Context, formats strfmt.Registr
if err := m.Region.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("region")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("region")
}
return err
}
@@ -701,6 +715,8 @@ func (m *Site) contextValidateStatus(ctx context.Context, formats strfmt.Registr
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -717,6 +733,8 @@ func (m *Site) contextValidateTags(ctx context.Context, formats strfmt.Registry)
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -733,6 +751,8 @@ func (m *Site) contextValidateTenant(ctx context.Context, formats strfmt.Registr
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/site_group.go b/vendor/github.com/smutel/go-netbox/netbox/models/site_group.go
index 14fbaae66..023b9f42d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/site_group.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/site_group.go
@@ -189,6 +189,8 @@ func (m *SiteGroup) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -323,6 +325,8 @@ func (m *SiteGroup) contextValidateParent(ctx context.Context, formats strfmt.Re
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/tenant.go b/vendor/github.com/smutel/go-netbox/netbox/models/tenant.go
index 309247350..7804e953c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/tenant.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/tenant.go
@@ -203,6 +203,8 @@ func (m *Tenant) validateGroup(formats strfmt.Registry) error {
if err := m.Group.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -275,6 +277,8 @@ func (m *Tenant) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -426,6 +430,8 @@ func (m *Tenant) contextValidateGroup(ctx context.Context, formats strfmt.Regist
if err := m.Group.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -496,6 +502,8 @@ func (m *Tenant) contextValidateTags(ctx context.Context, formats strfmt.Registr
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/tenant_group.go b/vendor/github.com/smutel/go-netbox/netbox/models/tenant_group.go
index 30d587ef5..5aa641a82 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/tenant_group.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/tenant_group.go
@@ -189,6 +189,8 @@ func (m *TenantGroup) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -323,6 +325,8 @@ func (m *TenantGroup) contextValidateParent(ctx context.Context, formats strfmt.
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/secret_role.go b/vendor/github.com/smutel/go-netbox/netbox/models/token.go
similarity index 52%
rename from vendor/github.com/smutel/go-netbox/netbox/models/secret_role.go
rename to vendor/github.com/smutel/go-netbox/netbox/models/token.go
index 1a1d9148c..4a9166909 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/secret_role.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/token.go
@@ -29,18 +29,15 @@ import (
"github.com/go-openapi/validate"
)
-// SecretRole secret role
+// Token token
//
-// swagger:model SecretRole
-type SecretRole struct {
+// swagger:model Token
+type Token struct {
// Created
// Read Only: true
- // Format: date
- Created strfmt.Date `json:"created,omitempty"`
-
- // Custom fields
- CustomFields interface{} `json:"custom_fields,omitempty"`
+ // Format: date-time
+ Created strfmt.DateTime `json:"created,omitempty"`
// Description
// Max Length: 200
@@ -50,40 +47,36 @@ type SecretRole struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Id
- // Read Only: true
- ID int64 `json:"id,omitempty"`
-
- // Last updated
- // Read Only: true
+ // Expires
// Format: date-time
- LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
+ Expires *strfmt.DateTime `json:"expires,omitempty"`
- // Name
- // Required: true
- // Max Length: 100
- // Min Length: 1
- Name *string `json:"name"`
-
- // Secret count
+ // Id
// Read Only: true
- SecretCount int64 `json:"secret_count,omitempty"`
+ ID int64 `json:"id,omitempty"`
- // Slug
- // Required: true
- // Max Length: 100
- // Min Length: 1
- // Pattern: ^[-a-zA-Z0-9_]+$
- Slug *string `json:"slug"`
+ // Key
+ // Max Length: 40
+ // Min Length: 40
+ Key string `json:"key,omitempty"`
// Url
// Read Only: true
// Format: uri
URL strfmt.URI `json:"url,omitempty"`
+
+ // user
+ // Required: true
+ User *NestedUser `json:"user"`
+
+ // Write enabled
+ //
+ // Permit create/update/delete operations using this key
+ WriteEnabled bool `json:"write_enabled,omitempty"`
}
-// Validate validates this secret role
-func (m *SecretRole) Validate(formats strfmt.Registry) error {
+// Validate validates this token
+func (m *Token) Validate(formats strfmt.Registry) error {
var res []error
if err := m.validateCreated(formats); err != nil {
@@ -94,19 +87,19 @@ func (m *SecretRole) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
- if err := m.validateLastUpdated(formats); err != nil {
+ if err := m.validateExpires(formats); err != nil {
res = append(res, err)
}
- if err := m.validateName(formats); err != nil {
+ if err := m.validateKey(formats); err != nil {
res = append(res, err)
}
- if err := m.validateSlug(formats); err != nil {
+ if err := m.validateURL(formats); err != nil {
res = append(res, err)
}
- if err := m.validateURL(formats); err != nil {
+ if err := m.validateUser(formats); err != nil {
res = append(res, err)
}
@@ -116,19 +109,19 @@ func (m *SecretRole) Validate(formats strfmt.Registry) error {
return nil
}
-func (m *SecretRole) validateCreated(formats strfmt.Registry) error {
+func (m *Token) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
}
- if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
+ if err := validate.FormatOf("created", "body", "date-time", m.Created.String(), formats); err != nil {
return err
}
return nil
}
-func (m *SecretRole) validateDescription(formats strfmt.Registry) error {
+func (m *Token) validateDescription(formats strfmt.Registry) error {
if swag.IsZero(m.Description) { // not required
return nil
}
@@ -140,70 +133,68 @@ func (m *SecretRole) validateDescription(formats strfmt.Registry) error {
return nil
}
-func (m *SecretRole) validateLastUpdated(formats strfmt.Registry) error {
- if swag.IsZero(m.LastUpdated) { // not required
+func (m *Token) validateExpires(formats strfmt.Registry) error {
+ if swag.IsZero(m.Expires) { // not required
return nil
}
- if err := validate.FormatOf("last_updated", "body", "date-time", m.LastUpdated.String(), formats); err != nil {
+ if err := validate.FormatOf("expires", "body", "date-time", m.Expires.String(), formats); err != nil {
return err
}
return nil
}
-func (m *SecretRole) validateName(formats strfmt.Registry) error {
-
- if err := validate.Required("name", "body", m.Name); err != nil {
- return err
+func (m *Token) validateKey(formats strfmt.Registry) error {
+ if swag.IsZero(m.Key) { // not required
+ return nil
}
- if err := validate.MinLength("name", "body", *m.Name, 1); err != nil {
+ if err := validate.MinLength("key", "body", m.Key, 40); err != nil {
return err
}
- if err := validate.MaxLength("name", "body", *m.Name, 100); err != nil {
+ if err := validate.MaxLength("key", "body", m.Key, 40); err != nil {
return err
}
return nil
}
-func (m *SecretRole) validateSlug(formats strfmt.Registry) error {
-
- if err := validate.Required("slug", "body", m.Slug); err != nil {
- return err
- }
-
- if err := validate.MinLength("slug", "body", *m.Slug, 1); err != nil {
- return err
- }
-
- if err := validate.MaxLength("slug", "body", *m.Slug, 100); err != nil {
- return err
+func (m *Token) validateURL(formats strfmt.Registry) error {
+ if swag.IsZero(m.URL) { // not required
+ return nil
}
- if err := validate.Pattern("slug", "body", *m.Slug, `^[-a-zA-Z0-9_]+$`); err != nil {
+ if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
return err
}
return nil
}
-func (m *SecretRole) validateURL(formats strfmt.Registry) error {
- if swag.IsZero(m.URL) { // not required
- return nil
- }
+func (m *Token) validateUser(formats strfmt.Registry) error {
- if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
+ if err := validate.Required("user", "body", m.User); err != nil {
return err
}
+ if m.User != nil {
+ if err := m.User.Validate(formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
+ }
+ return err
+ }
+ }
+
return nil
}
-// ContextValidate validate this secret role based on the context it is used
-func (m *SecretRole) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this token based on the context it is used
+func (m *Token) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
if err := m.contextValidateCreated(ctx, formats); err != nil {
@@ -218,15 +209,11 @@ func (m *SecretRole) ContextValidate(ctx context.Context, formats strfmt.Registr
res = append(res, err)
}
- if err := m.contextValidateLastUpdated(ctx, formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.contextValidateSecretCount(ctx, formats); err != nil {
+ if err := m.contextValidateURL(ctx, formats); err != nil {
res = append(res, err)
}
- if err := m.contextValidateURL(ctx, formats); err != nil {
+ if err := m.contextValidateUser(ctx, formats); err != nil {
res = append(res, err)
}
@@ -236,16 +223,16 @@ func (m *SecretRole) ContextValidate(ctx context.Context, formats strfmt.Registr
return nil
}
-func (m *SecretRole) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
+func (m *Token) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
- if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
+ if err := validate.ReadOnly(ctx, "created", "body", strfmt.DateTime(m.Created)); err != nil {
return err
}
return nil
}
-func (m *SecretRole) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
+func (m *Token) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
return err
@@ -254,7 +241,7 @@ func (m *SecretRole) contextValidateDisplay(ctx context.Context, formats strfmt.
return nil
}
-func (m *SecretRole) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
+func (m *Token) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
return err
@@ -263,35 +250,33 @@ func (m *SecretRole) contextValidateID(ctx context.Context, formats strfmt.Regis
return nil
}
-func (m *SecretRole) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
+func (m *Token) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
- if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
- return err
- }
-
- return nil
-}
-
-func (m *SecretRole) contextValidateSecretCount(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "secret_count", "body", int64(m.SecretCount)); err != nil {
+ if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
return err
}
return nil
}
-func (m *SecretRole) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
+func (m *Token) contextValidateUser(ctx context.Context, formats strfmt.Registry) error {
- if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
- return err
+ if m.User != nil {
+ if err := m.User.ContextValidate(ctx, formats); err != nil {
+ if ve, ok := err.(*errors.Validation); ok {
+ return ve.ValidateName("user")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("user")
+ }
+ return err
+ }
}
return nil
}
// MarshalBinary interface implementation
-func (m *SecretRole) MarshalBinary() ([]byte, error) {
+func (m *Token) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
@@ -299,8 +284,8 @@ func (m *SecretRole) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (m *SecretRole) UnmarshalBinary(b []byte) error {
- var res SecretRole
+func (m *Token) UnmarshalBinary(b []byte) error {
+ var res Token
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/user.go b/vendor/github.com/smutel/go-netbox/netbox/models/user.go
index 22f8cea69..a043a5f29 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/user.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/user.go
@@ -195,6 +195,8 @@ func (m *User) validateGroups(formats strfmt.Registry) error {
if err := m.Groups[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("groups" + "." + strconv.Itoa(i))
}
return err
}
@@ -310,6 +312,8 @@ func (m *User) contextValidateGroups(ctx context.Context, formats strfmt.Registr
if err := m.Groups[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("groups" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("groups" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/v_l_a_n.go b/vendor/github.com/smutel/go-netbox/netbox/models/v_l_a_n.go
index 5c948ba0e..5c2646e37 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/v_l_a_n.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/v_l_a_n.go
@@ -52,10 +52,6 @@ type VLAN struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// group
Group *NestedVLANGroup `json:"group,omitempty"`
@@ -196,6 +192,8 @@ func (m *VLAN) validateGroup(formats strfmt.Registry) error {
if err := m.Group.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -242,6 +240,8 @@ func (m *VLAN) validateRole(formats strfmt.Registry) error {
if err := m.Role.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -259,6 +259,8 @@ func (m *VLAN) validateSite(formats strfmt.Registry) error {
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -276,6 +278,8 @@ func (m *VLAN) validateStatus(formats strfmt.Registry) error {
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -298,6 +302,8 @@ func (m *VLAN) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -317,6 +323,8 @@ func (m *VLAN) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -366,10 +374,6 @@ func (m *VLAN) ContextValidate(ctx context.Context, formats strfmt.Registry) err
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateGroup(ctx, formats); err != nil {
res = append(res, err)
}
@@ -434,21 +438,14 @@ func (m *VLAN) contextValidateDisplay(ctx context.Context, formats strfmt.Regist
return nil
}
-func (m *VLAN) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *VLAN) contextValidateGroup(ctx context.Context, formats strfmt.Registry) error {
if m.Group != nil {
if err := m.Group.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("group")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("group")
}
return err
}
@@ -490,6 +487,8 @@ func (m *VLAN) contextValidateRole(ctx context.Context, formats strfmt.Registry)
if err := m.Role.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -504,6 +503,8 @@ func (m *VLAN) contextValidateSite(ctx context.Context, formats strfmt.Registry)
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -518,6 +519,8 @@ func (m *VLAN) contextValidateStatus(ctx context.Context, formats strfmt.Registr
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -534,6 +537,8 @@ func (m *VLAN) contextValidateTags(ctx context.Context, formats strfmt.Registry)
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -550,6 +555,8 @@ func (m *VLAN) contextValidateTenant(ctx context.Context, formats strfmt.Registr
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/v_r_f.go b/vendor/github.com/smutel/go-netbox/netbox/models/v_r_f.go
index 047fd1e21..581b5d6a1 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/v_r_f.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/v_r_f.go
@@ -51,10 +51,6 @@ type VRF struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Enforce unique space
//
// Prevent duplicate prefixes/IP addresses within this VRF
@@ -201,6 +197,8 @@ func (m *VRF) validateExportTargets(formats strfmt.Registry) error {
if err := m.ExportTargets[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("export_targets" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("export_targets" + "." + strconv.Itoa(i))
}
return err
}
@@ -229,6 +227,8 @@ func (m *VRF) validateImportTargets(formats strfmt.Registry) error {
if err := m.ImportTargets[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("import_targets" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("import_targets" + "." + strconv.Itoa(i))
}
return err
}
@@ -294,6 +294,8 @@ func (m *VRF) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -313,6 +315,8 @@ func (m *VRF) validateTenant(formats strfmt.Registry) error {
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -345,10 +349,6 @@ func (m *VRF) ContextValidate(ctx context.Context, formats strfmt.Registry) erro
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateExportTargets(ctx, formats); err != nil {
res = append(res, err)
}
@@ -409,15 +409,6 @@ func (m *VRF) contextValidateDisplay(ctx context.Context, formats strfmt.Registr
return nil
}
-func (m *VRF) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *VRF) contextValidateExportTargets(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.ExportTargets); i++ {
@@ -426,6 +417,8 @@ func (m *VRF) contextValidateExportTargets(ctx context.Context, formats strfmt.R
if err := m.ExportTargets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("export_targets" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("export_targets" + "." + strconv.Itoa(i))
}
return err
}
@@ -453,6 +446,8 @@ func (m *VRF) contextValidateImportTargets(ctx context.Context, formats strfmt.R
if err := m.ImportTargets[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("import_targets" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("import_targets" + "." + strconv.Itoa(i))
}
return err
}
@@ -498,6 +493,8 @@ func (m *VRF) contextValidateTags(ctx context.Context, formats strfmt.Registry)
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -514,6 +511,8 @@ func (m *VRF) contextValidateTenant(ctx context.Context, formats strfmt.Registry
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/virtual_chassis.go b/vendor/github.com/smutel/go-netbox/netbox/models/virtual_chassis.go
index d74a300e7..0c685e51c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/virtual_chassis.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/virtual_chassis.go
@@ -123,6 +123,8 @@ func (m *VirtualChassis) validateMaster(formats strfmt.Registry) error {
if err := m.Master.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("master")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("master")
}
return err
}
@@ -162,6 +164,8 @@ func (m *VirtualChassis) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -242,6 +246,8 @@ func (m *VirtualChassis) contextValidateMaster(ctx context.Context, formats strf
if err := m.Master.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("master")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("master")
}
return err
}
@@ -267,6 +273,8 @@ func (m *VirtualChassis) contextValidateTags(ctx context.Context, formats strfmt
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/virtual_machine_with_config_context.go b/vendor/github.com/smutel/go-netbox/netbox/models/virtual_machine_with_config_context.go
index 36735e3ab..27efeeafd 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/virtual_machine_with_config_context.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/virtual_machine_with_config_context.go
@@ -120,7 +120,8 @@ type VirtualMachineWithConfigContext struct {
URL strfmt.URI `json:"url,omitempty"`
// VCPUs
- Vcpus *string `json:"vcpus,omitempty"`
+ // Minimum: 0.01
+ Vcpus *float64 `json:"vcpus,omitempty"`
}
// Validate validates this virtual machine with config context
@@ -191,6 +192,10 @@ func (m *VirtualMachineWithConfigContext) Validate(formats strfmt.Registry) erro
res = append(res, err)
}
+ if err := m.validateVcpus(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -207,6 +212,8 @@ func (m *VirtualMachineWithConfigContext) validateCluster(formats strfmt.Registr
if err := m.Cluster.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -297,6 +304,8 @@ func (m *VirtualMachineWithConfigContext) validatePlatform(formats strfmt.Regist
if err := m.Platform.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -314,6 +323,8 @@ func (m *VirtualMachineWithConfigContext) validatePrimaryIP(formats strfmt.Regis
if err := m.PrimaryIP.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -331,6 +342,8 @@ func (m *VirtualMachineWithConfigContext) validatePrimaryIp4(formats strfmt.Regi
if err := m.PrimaryIp4.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -348,6 +361,8 @@ func (m *VirtualMachineWithConfigContext) validatePrimaryIp6(formats strfmt.Regi
if err := m.PrimaryIp6.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -365,6 +380,8 @@ func (m *VirtualMachineWithConfigContext) validateRole(formats strfmt.Registry)
if err := m.Role.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -382,6 +399,8 @@ func (m *VirtualMachineWithConfigContext) validateSite(formats strfmt.Registry)
if err := m.Site.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -399,6 +418,8 @@ func (m *VirtualMachineWithConfigContext) validateStatus(formats strfmt.Registry
if err := m.Status.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -421,6 +442,8 @@ func (m *VirtualMachineWithConfigContext) validateTags(formats strfmt.Registry)
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -440,6 +463,8 @@ func (m *VirtualMachineWithConfigContext) validateTenant(formats strfmt.Registry
if err := m.Tenant.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
@@ -460,6 +485,18 @@ func (m *VirtualMachineWithConfigContext) validateURL(formats strfmt.Registry) e
return nil
}
+func (m *VirtualMachineWithConfigContext) validateVcpus(formats strfmt.Registry) error {
+ if swag.IsZero(m.Vcpus) { // not required
+ return nil
+ }
+
+ if err := validate.Minimum("vcpus", "body", *m.Vcpus, 0.01, false); err != nil {
+ return err
+ }
+
+ return nil
+}
+
// ContextValidate validate this virtual machine with config context based on the context it is used
func (m *VirtualMachineWithConfigContext) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -540,6 +577,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateCluster(ctx context.Con
if err := m.Cluster.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cluster")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cluster")
}
return err
}
@@ -595,6 +634,8 @@ func (m *VirtualMachineWithConfigContext) contextValidatePlatform(ctx context.Co
if err := m.Platform.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("platform")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("platform")
}
return err
}
@@ -609,6 +650,8 @@ func (m *VirtualMachineWithConfigContext) contextValidatePrimaryIP(ctx context.C
if err := m.PrimaryIP.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip")
}
return err
}
@@ -623,6 +666,8 @@ func (m *VirtualMachineWithConfigContext) contextValidatePrimaryIp4(ctx context.
if err := m.PrimaryIp4.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip4")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip4")
}
return err
}
@@ -637,6 +682,8 @@ func (m *VirtualMachineWithConfigContext) contextValidatePrimaryIp6(ctx context.
if err := m.PrimaryIp6.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("primary_ip6")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("primary_ip6")
}
return err
}
@@ -651,6 +698,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateRole(ctx context.Contex
if err := m.Role.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("role")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("role")
}
return err
}
@@ -665,6 +714,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateSite(ctx context.Contex
if err := m.Site.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("site")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("site")
}
return err
}
@@ -679,6 +730,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateStatus(ctx context.Cont
if err := m.Status.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("status")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("status")
}
return err
}
@@ -695,6 +748,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateTags(ctx context.Contex
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -711,6 +766,8 @@ func (m *VirtualMachineWithConfigContext) contextValidateTenant(ctx context.Cont
if err := m.Tenant.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tenant")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tenant")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/vm_interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/vm_interface.go
index 81294a2bc..12cf99b3c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/vm_interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/vm_interface.go
@@ -211,6 +211,8 @@ func (m *VMInterface) validateMode(formats strfmt.Registry) error {
if err := m.Mode.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("mode")
}
return err
}
@@ -261,6 +263,8 @@ func (m *VMInterface) validateParent(formats strfmt.Registry) error {
if err := m.Parent.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -287,6 +291,8 @@ func (m *VMInterface) validateTaggedVlans(formats strfmt.Registry) error {
if err := m.TaggedVlans[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
}
return err
}
@@ -311,6 +317,8 @@ func (m *VMInterface) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -330,6 +338,8 @@ func (m *VMInterface) validateUntaggedVlan(formats strfmt.Registry) error {
if err := m.UntaggedVlan.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("untagged_vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("untagged_vlan")
}
return err
}
@@ -360,6 +370,8 @@ func (m *VMInterface) validateVirtualMachine(formats strfmt.Registry) error {
if err := m.VirtualMachine.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
@@ -477,6 +489,8 @@ func (m *VMInterface) contextValidateMode(ctx context.Context, formats strfmt.Re
if err := m.Mode.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("mode")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("mode")
}
return err
}
@@ -491,6 +505,8 @@ func (m *VMInterface) contextValidateParent(ctx context.Context, formats strfmt.
if err := m.Parent.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent")
}
return err
}
@@ -507,6 +523,8 @@ func (m *VMInterface) contextValidateTaggedVlans(ctx context.Context, formats st
if err := m.TaggedVlans[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tagged_vlans" + "." + strconv.Itoa(i))
}
return err
}
@@ -525,6 +543,8 @@ func (m *VMInterface) contextValidateTags(ctx context.Context, formats strfmt.Re
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -541,6 +561,8 @@ func (m *VMInterface) contextValidateUntaggedVlan(ctx context.Context, formats s
if err := m.UntaggedVlan.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("untagged_vlan")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("untagged_vlan")
}
return err
}
@@ -564,6 +586,8 @@ func (m *VMInterface) contextValidateVirtualMachine(ctx context.Context, formats
if err := m.VirtualMachine.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("virtual_machine")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("virtual_machine")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/webhook.go b/vendor/github.com/smutel/go-netbox/netbox/models/webhook.go
index 3764143c9..ddee5e46a 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/webhook.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/webhook.go
@@ -37,7 +37,7 @@ type Webhook struct {
// Additional headers
//
- // User-supplied HTTP headers to be sent with the request in addition to the HTTP content type. Headers should be defined in the format Name: Value
. Jinja2 template processing is support with the same context as the request body (below).
+ // User-supplied HTTP headers to be sent with the request in addition to the HTTP content type. Headers should be defined in the format Name: Value
. Jinja2 template processing is supported with the same context as the request body (below).
AdditionalHeaders string `json:"additional_headers,omitempty"`
// Body template
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_aggregate.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_aggregate.go
index a2f87ff53..e6f74f734 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_aggregate.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_aggregate.go
@@ -210,6 +210,8 @@ func (m *WritableAggregate) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -323,6 +325,8 @@ func (m *WritableAggregate) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_cable.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_cable.go
index 152fd34aa..22fbef38c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_cable.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_cable.go
@@ -57,12 +57,10 @@ type WritableCable struct {
Label string `json:"label,omitempty"`
// Length
- // Maximum: 32767
- // Minimum: 0
- Length *int64 `json:"length,omitempty"`
+ Length *float64 `json:"length,omitempty"`
// Length unit
- // Enum: [m cm ft in]
+ // Enum: [km m cm mi ft in]
LengthUnit string `json:"length_unit,omitempty"`
// Status
@@ -122,10 +120,6 @@ func (m *WritableCable) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
- if err := m.validateLength(formats); err != nil {
- res = append(res, err)
- }
-
if err := m.validateLengthUnit(formats); err != nil {
res = append(res, err)
}
@@ -196,27 +190,11 @@ func (m *WritableCable) validateLabel(formats strfmt.Registry) error {
return nil
}
-func (m *WritableCable) validateLength(formats strfmt.Registry) error {
- if swag.IsZero(m.Length) { // not required
- return nil
- }
-
- if err := validate.MinimumInt("length", "body", *m.Length, 0, false); err != nil {
- return err
- }
-
- if err := validate.MaximumInt("length", "body", *m.Length, 32767, false); err != nil {
- return err
- }
-
- return nil
-}
-
var writableCableTypeLengthUnitPropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["m","cm","ft","in"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["km","m","cm","mi","ft","in"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -226,12 +204,18 @@ func init() {
const (
+ // WritableCableLengthUnitKm captures enum value "km"
+ WritableCableLengthUnitKm string = "km"
+
// WritableCableLengthUnitM captures enum value "m"
WritableCableLengthUnitM string = "m"
// WritableCableLengthUnitCm captures enum value "cm"
WritableCableLengthUnitCm string = "cm"
+ // WritableCableLengthUnitMi captures enum value "mi"
+ WritableCableLengthUnitMi string = "mi"
+
// WritableCableLengthUnitFt captures enum value "ft"
WritableCableLengthUnitFt string = "ft"
@@ -319,6 +303,8 @@ func (m *WritableCable) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -558,6 +544,8 @@ func (m *WritableCable) contextValidateTags(ctx context.Context, formats strfmt.
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit.go
index dc95af5e0..3ea8b28df 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit.go
@@ -323,6 +323,8 @@ func (m *WritableCircuit) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -440,6 +442,8 @@ func (m *WritableCircuit) contextValidateTags(ctx context.Context, formats strfm
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit_termination.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit_termination.go
index 92bcea951..938d38cdf 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit_termination.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_circuit_termination.go
@@ -167,6 +167,8 @@ func (m *WritableCircuitTermination) validateCable(formats strfmt.Registry) erro
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -360,6 +362,8 @@ func (m *WritableCircuitTermination) contextValidateCable(ctx context.Context, f
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_cluster.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_cluster.go
index 9044af69c..0ba5cdd26 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_cluster.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_cluster.go
@@ -184,6 +184,8 @@ func (m *WritableCluster) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -310,6 +312,8 @@ func (m *WritableCluster) contextValidateTags(ctx context.Context, formats strfm
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port.go
index ab6b39a15..8b3db2222 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port.go
@@ -129,7 +129,7 @@ type WritableConsolePort struct {
// Type
//
// Physical port type
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Type string `json:"type,omitempty"`
// Url
@@ -201,6 +201,8 @@ func (m *WritableConsolePort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -330,6 +332,8 @@ func (m *WritableConsolePort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -344,7 +348,7 @@ var writableConsolePortTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -369,6 +373,9 @@ const (
// WritableConsolePortTypeRjDash45 captures enum value "rj-45"
WritableConsolePortTypeRjDash45 string = "rj-45"
+ // WritableConsolePortTypeMiniDashDinDash8 captures enum value "mini-din-8"
+ WritableConsolePortTypeMiniDashDinDash8 string = "mini-din-8"
+
// WritableConsolePortTypeUsbDasha captures enum value "usb-a"
WritableConsolePortTypeUsbDasha string = "usb-a"
@@ -390,6 +397,9 @@ const (
// WritableConsolePortTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritableConsolePortTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritableConsolePortTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritableConsolePortTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritableConsolePortTypeOther captures enum value "other"
WritableConsolePortTypeOther string = "other"
)
@@ -504,6 +514,8 @@ func (m *WritableConsolePort) contextValidateCable(ctx context.Context, formats
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -593,6 +605,8 @@ func (m *WritableConsolePort) contextValidateTags(ctx context.Context, formats s
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port_template.go
index 3a180eb73..fcaa49028 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_port_template.go
@@ -74,7 +74,7 @@ type WritableConsolePortTemplate struct {
Name *string `json:"name"`
// Type
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Type string `json:"type,omitempty"`
// Url
@@ -203,7 +203,7 @@ var writableConsolePortTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -228,6 +228,9 @@ const (
// WritableConsolePortTemplateTypeRjDash45 captures enum value "rj-45"
WritableConsolePortTemplateTypeRjDash45 string = "rj-45"
+ // WritableConsolePortTemplateTypeMiniDashDinDash8 captures enum value "mini-din-8"
+ WritableConsolePortTemplateTypeMiniDashDinDash8 string = "mini-din-8"
+
// WritableConsolePortTemplateTypeUsbDasha captures enum value "usb-a"
WritableConsolePortTemplateTypeUsbDasha string = "usb-a"
@@ -249,6 +252,9 @@ const (
// WritableConsolePortTemplateTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritableConsolePortTemplateTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritableConsolePortTemplateTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritableConsolePortTemplateTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritableConsolePortTemplateTypeOther captures enum value "other"
WritableConsolePortTemplateTypeOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port.go
index 64f25cfcf..8b1172000 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port.go
@@ -129,7 +129,7 @@ type WritableConsoleServerPort struct {
// Type
//
// Physical port type
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Type string `json:"type,omitempty"`
// Url
@@ -201,6 +201,8 @@ func (m *WritableConsoleServerPort) validateCable(formats strfmt.Registry) error
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -330,6 +332,8 @@ func (m *WritableConsoleServerPort) validateTags(formats strfmt.Registry) error
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -344,7 +348,7 @@ var writableConsoleServerPortTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -369,6 +373,9 @@ const (
// WritableConsoleServerPortTypeRjDash45 captures enum value "rj-45"
WritableConsoleServerPortTypeRjDash45 string = "rj-45"
+ // WritableConsoleServerPortTypeMiniDashDinDash8 captures enum value "mini-din-8"
+ WritableConsoleServerPortTypeMiniDashDinDash8 string = "mini-din-8"
+
// WritableConsoleServerPortTypeUsbDasha captures enum value "usb-a"
WritableConsoleServerPortTypeUsbDasha string = "usb-a"
@@ -390,6 +397,9 @@ const (
// WritableConsoleServerPortTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritableConsoleServerPortTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritableConsoleServerPortTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritableConsoleServerPortTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritableConsoleServerPortTypeOther captures enum value "other"
WritableConsoleServerPortTypeOther string = "other"
)
@@ -504,6 +514,8 @@ func (m *WritableConsoleServerPort) contextValidateCable(ctx context.Context, fo
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -593,6 +605,8 @@ func (m *WritableConsoleServerPort) contextValidateTags(ctx context.Context, for
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port_template.go
index e5eee2f55..f319c0fd0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_console_server_port_template.go
@@ -74,7 +74,7 @@ type WritableConsoleServerPortTemplate struct {
Name *string `json:"name"`
// Type
- // Enum: [de-9 db-25 rj-11 rj-12 rj-45 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b other]
+ // Enum: [de-9 db-25 rj-11 rj-12 rj-45 mini-din-8 usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab other]
Type string `json:"type,omitempty"`
// Url
@@ -203,7 +203,7 @@ var writableConsoleServerPortTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["de-9","db-25","rj-11","rj-12","rj-45","mini-din-8","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -228,6 +228,9 @@ const (
// WritableConsoleServerPortTemplateTypeRjDash45 captures enum value "rj-45"
WritableConsoleServerPortTemplateTypeRjDash45 string = "rj-45"
+ // WritableConsoleServerPortTemplateTypeMiniDashDinDash8 captures enum value "mini-din-8"
+ WritableConsoleServerPortTemplateTypeMiniDashDinDash8 string = "mini-din-8"
+
// WritableConsoleServerPortTemplateTypeUsbDasha captures enum value "usb-a"
WritableConsoleServerPortTemplateTypeUsbDasha string = "usb-a"
@@ -249,6 +252,9 @@ const (
// WritableConsoleServerPortTemplateTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritableConsoleServerPortTemplateTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritableConsoleServerPortTemplateTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritableConsoleServerPortTemplateTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritableConsoleServerPortTemplateTypeOther captures enum value "other"
WritableConsoleServerPortTemplateTypeOther string = "other"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_bay.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_bay.go
index c39dd262c..fc789416c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_bay.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_bay.go
@@ -218,6 +218,8 @@ func (m *WritableDeviceBay) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -318,6 +320,8 @@ func (m *WritableDeviceBay) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_type.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_type.go
index d706b7035..8e1e44791 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_type.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_type.go
@@ -55,10 +55,6 @@ type WritableDeviceType struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Front image
// Read Only: true
// Format: uri
@@ -347,6 +343,8 @@ func (m *WritableDeviceType) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -401,10 +399,6 @@ func (m *WritableDeviceType) ContextValidate(ctx context.Context, formats strfmt
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateFrontImage(ctx, formats); err != nil {
res = append(res, err)
}
@@ -462,15 +456,6 @@ func (m *WritableDeviceType) contextValidateDisplay(ctx context.Context, formats
return nil
}
-func (m *WritableDeviceType) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *WritableDeviceType) contextValidateFrontImage(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "front_image", "body", strfmt.URI(m.FrontImage)); err != nil {
@@ -515,6 +500,8 @@ func (m *WritableDeviceType) contextValidateTags(ctx context.Context, formats st
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_with_config_context.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_with_config_context.go
index b86355c2f..79a5fa085 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_with_config_context.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_device_with_config_context.go
@@ -72,10 +72,6 @@ type WritableDeviceWithConfigContext struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Rack face
// Enum: [front rear]
Face string `json:"face,omitempty"`
@@ -353,6 +349,8 @@ func (m *WritableDeviceWithConfigContext) validateParentDevice(formats strfmt.Re
if err := m.ParentDevice.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -469,6 +467,8 @@ func (m *WritableDeviceWithConfigContext) validateTags(formats strfmt.Registry)
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -539,10 +539,6 @@ func (m *WritableDeviceWithConfigContext) ContextValidate(ctx context.Context, f
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -596,15 +592,6 @@ func (m *WritableDeviceWithConfigContext) contextValidateDisplay(ctx context.Con
return nil
}
-func (m *WritableDeviceWithConfigContext) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *WritableDeviceWithConfigContext) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -629,6 +616,8 @@ func (m *WritableDeviceWithConfigContext) contextValidateParentDevice(ctx contex
if err := m.ParentDevice.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("parent_device")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("parent_device")
}
return err
}
@@ -654,6 +643,8 @@ func (m *WritableDeviceWithConfigContext) contextValidateTags(ctx context.Contex
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port.go
index aba51511b..fe6547818 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port.go
@@ -55,6 +55,11 @@ type WritableFrontPort struct {
// Read Only: true
CablePeerType string `json:"cable_peer_type,omitempty"`
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -115,7 +120,7 @@ type WritableFrontPort struct {
// Type
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Type *string `json:"type"`
// Url
@@ -132,6 +137,10 @@ func (m *WritableFrontPort) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -191,6 +200,8 @@ func (m *WritableFrontPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -199,6 +210,22 @@ func (m *WritableFrontPort) validateCable(formats strfmt.Registry) error {
return nil
}
+func (m *WritableFrontPort) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *WritableFrontPort) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -312,6 +339,8 @@ func (m *WritableFrontPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -326,7 +355,7 @@ var writableFrontPortTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -426,6 +455,21 @@ const (
// WritableFrontPortTypeSn captures enum value "sn"
WritableFrontPortTypeSn string = "sn"
+ // WritableFrontPortTypeSmaDash905 captures enum value "sma-905"
+ WritableFrontPortTypeSmaDash905 string = "sma-905"
+
+ // WritableFrontPortTypeSmaDash906 captures enum value "sma-906"
+ WritableFrontPortTypeSmaDash906 string = "sma-906"
+
+ // WritableFrontPortTypeUrmDashP2 captures enum value "urm-p2"
+ WritableFrontPortTypeUrmDashP2 string = "urm-p2"
+
+ // WritableFrontPortTypeUrmDashP4 captures enum value "urm-p4"
+ WritableFrontPortTypeUrmDashP4 string = "urm-p4"
+
+ // WritableFrontPortTypeUrmDashP8 captures enum value "urm-p8"
+ WritableFrontPortTypeUrmDashP8 string = "urm-p8"
+
// WritableFrontPortTypeSplice captures enum value "splice"
WritableFrontPortTypeSplice string = "splice"
)
@@ -529,6 +573,8 @@ func (m *WritableFrontPort) contextValidateCable(ctx context.Context, formats st
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -595,6 +641,8 @@ func (m *WritableFrontPort) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port_template.go
index dc69e8b84..de1d4b876 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_front_port_template.go
@@ -35,6 +35,11 @@ import (
// swagger:model WritableFrontPortTemplate
type WritableFrontPortTemplate struct {
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -84,7 +89,7 @@ type WritableFrontPortTemplate struct {
// Type
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Type *string `json:"type"`
// Url
@@ -97,6 +102,10 @@ type WritableFrontPortTemplate struct {
func (m *WritableFrontPortTemplate) Validate(formats strfmt.Registry) error {
var res []error
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -143,6 +152,22 @@ func (m *WritableFrontPortTemplate) Validate(formats strfmt.Registry) error {
return nil
}
+func (m *WritableFrontPortTemplate) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *WritableFrontPortTemplate) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -246,7 +271,7 @@ var writableFrontPortTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -346,6 +371,21 @@ const (
// WritableFrontPortTemplateTypeSn captures enum value "sn"
WritableFrontPortTemplateTypeSn string = "sn"
+ // WritableFrontPortTemplateTypeSmaDash905 captures enum value "sma-905"
+ WritableFrontPortTemplateTypeSmaDash905 string = "sma-905"
+
+ // WritableFrontPortTemplateTypeSmaDash906 captures enum value "sma-906"
+ WritableFrontPortTemplateTypeSmaDash906 string = "sma-906"
+
+ // WritableFrontPortTemplateTypeUrmDashP2 captures enum value "urm-p2"
+ WritableFrontPortTemplateTypeUrmDashP2 string = "urm-p2"
+
+ // WritableFrontPortTemplateTypeUrmDashP4 captures enum value "urm-p4"
+ WritableFrontPortTemplateTypeUrmDashP4 string = "urm-p4"
+
+ // WritableFrontPortTemplateTypeUrmDashP8 captures enum value "urm-p8"
+ WritableFrontPortTemplateTypeUrmDashP8 string = "urm-p8"
+
// WritableFrontPortTemplateTypeSplice captures enum value "splice"
WritableFrontPortTemplateTypeSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface.go
index df7fddfe2..41a11b36c 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface.go
@@ -156,7 +156,7 @@ type WritableInterface struct {
// Type
// Required: true
- // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
+ // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax ieee802.15.1 gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 xdsl cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
Type *string `json:"type"`
// Untagged VLAN
@@ -239,6 +239,8 @@ func (m *WritableInterface) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -408,6 +410,8 @@ func (m *WritableInterface) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -422,7 +426,7 @@ var writableInterfaceTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","ieee802.15.1","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","xdsl","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -531,6 +535,9 @@ const (
// WritableInterfaceTypeIeee802Dot11ax captures enum value "ieee802.11ax"
WritableInterfaceTypeIeee802Dot11ax string = "ieee802.11ax"
+ // WritableInterfaceTypeIeee802Dot15Dot1 captures enum value "ieee802.15.1"
+ WritableInterfaceTypeIeee802Dot15Dot1 string = "ieee802.15.1"
+
// WritableInterfaceTypeGsm captures enum value "gsm"
WritableInterfaceTypeGsm string = "gsm"
@@ -624,6 +631,9 @@ const (
// WritableInterfaceTypeE3 captures enum value "e3"
WritableInterfaceTypeE3 string = "e3"
+ // WritableInterfaceTypeXdsl captures enum value "xdsl"
+ WritableInterfaceTypeXdsl string = "xdsl"
+
// WritableInterfaceTypeCiscoDashStackwise captures enum value "cisco-stackwise"
WritableInterfaceTypeCiscoDashStackwise string = "cisco-stackwise"
@@ -770,6 +780,8 @@ func (m *WritableInterface) contextValidateCable(ctx context.Context, formats st
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -868,6 +880,8 @@ func (m *WritableInterface) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface_template.go
index 8a5eb7960..c4a28dda7 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_interface_template.go
@@ -78,7 +78,7 @@ type WritableInterfaceTemplate struct {
// Type
// Required: true
- // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
+ // Enum: [virtual lag 100base-tx 1000base-t 2.5gbase-t 5gbase-t 10gbase-t 10gbase-cx4 1000base-x-gbic 1000base-x-sfp 10gbase-x-sfpp 10gbase-x-xfp 10gbase-x-xenpak 10gbase-x-x2 25gbase-x-sfp28 50gbase-x-sfp56 40gbase-x-qsfpp 50gbase-x-sfp28 100gbase-x-cfp 100gbase-x-cfp2 200gbase-x-cfp2 100gbase-x-cfp4 100gbase-x-cpak 100gbase-x-qsfp28 200gbase-x-qsfp56 400gbase-x-qsfpdd 400gbase-x-osfp ieee802.11a ieee802.11g ieee802.11n ieee802.11ac ieee802.11ad ieee802.11ax ieee802.15.1 gsm cdma lte sonet-oc3 sonet-oc12 sonet-oc48 sonet-oc192 sonet-oc768 sonet-oc1920 sonet-oc3840 1gfc-sfp 2gfc-sfp 4gfc-sfp 8gfc-sfpp 16gfc-sfpp 32gfc-sfp28 64gfc-qsfpp 128gfc-sfp28 infiniband-sdr infiniband-ddr infiniband-qdr infiniband-fdr10 infiniband-fdr infiniband-edr infiniband-hdr infiniband-ndr infiniband-xdr t1 e1 t3 e3 xdsl cisco-stackwise cisco-stackwise-plus cisco-flexstack cisco-flexstack-plus juniper-vcp extreme-summitstack extreme-summitstack-128 extreme-summitstack-256 extreme-summitstack-512 other]
Type *string `json:"type"`
// Url
@@ -207,7 +207,7 @@ var writableInterfaceTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["virtual","lag","100base-tx","1000base-t","2.5gbase-t","5gbase-t","10gbase-t","10gbase-cx4","1000base-x-gbic","1000base-x-sfp","10gbase-x-sfpp","10gbase-x-xfp","10gbase-x-xenpak","10gbase-x-x2","25gbase-x-sfp28","50gbase-x-sfp56","40gbase-x-qsfpp","50gbase-x-sfp28","100gbase-x-cfp","100gbase-x-cfp2","200gbase-x-cfp2","100gbase-x-cfp4","100gbase-x-cpak","100gbase-x-qsfp28","200gbase-x-qsfp56","400gbase-x-qsfpdd","400gbase-x-osfp","ieee802.11a","ieee802.11g","ieee802.11n","ieee802.11ac","ieee802.11ad","ieee802.11ax","ieee802.15.1","gsm","cdma","lte","sonet-oc3","sonet-oc12","sonet-oc48","sonet-oc192","sonet-oc768","sonet-oc1920","sonet-oc3840","1gfc-sfp","2gfc-sfp","4gfc-sfp","8gfc-sfpp","16gfc-sfpp","32gfc-sfp28","64gfc-qsfpp","128gfc-sfp28","infiniband-sdr","infiniband-ddr","infiniband-qdr","infiniband-fdr10","infiniband-fdr","infiniband-edr","infiniband-hdr","infiniband-ndr","infiniband-xdr","t1","e1","t3","e3","xdsl","cisco-stackwise","cisco-stackwise-plus","cisco-flexstack","cisco-flexstack-plus","juniper-vcp","extreme-summitstack","extreme-summitstack-128","extreme-summitstack-256","extreme-summitstack-512","other"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -316,6 +316,9 @@ const (
// WritableInterfaceTemplateTypeIeee802Dot11ax captures enum value "ieee802.11ax"
WritableInterfaceTemplateTypeIeee802Dot11ax string = "ieee802.11ax"
+ // WritableInterfaceTemplateTypeIeee802Dot15Dot1 captures enum value "ieee802.15.1"
+ WritableInterfaceTemplateTypeIeee802Dot15Dot1 string = "ieee802.15.1"
+
// WritableInterfaceTemplateTypeGsm captures enum value "gsm"
WritableInterfaceTemplateTypeGsm string = "gsm"
@@ -409,6 +412,9 @@ const (
// WritableInterfaceTemplateTypeE3 captures enum value "e3"
WritableInterfaceTemplateTypeE3 string = "e3"
+ // WritableInterfaceTemplateTypeXdsl captures enum value "xdsl"
+ WritableInterfaceTemplateTypeXdsl string = "xdsl"
+
// WritableInterfaceTemplateTypeCiscoDashStackwise captures enum value "cisco-stackwise"
WritableInterfaceTemplateTypeCiscoDashStackwise string = "cisco-stackwise"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_inventory_item.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_inventory_item.go
index 8e31c0bba..fa7647b5e 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_inventory_item.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_inventory_item.go
@@ -294,6 +294,8 @@ func (m *WritableInventoryItem) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -407,6 +409,8 @@ func (m *WritableInventoryItem) contextValidateTags(ctx context.Context, formats
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_address.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_address.go
index 925cebab3..ac8956b52 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_address.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_address.go
@@ -378,6 +378,8 @@ func (m *WritableIPAddress) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -513,6 +515,8 @@ func (m *WritableIPAddress) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_secret.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_range.go
similarity index 53%
rename from vendor/github.com/smutel/go-netbox/netbox/models/writable_secret.go
rename to vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_range.go
index 2c10b784a..7759d5e23 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_secret.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_ip_range.go
@@ -22,6 +22,7 @@ package models
import (
"context"
+ "encoding/json"
"strconv"
"github.com/go-openapi/errors"
@@ -30,24 +31,14 @@ import (
"github.com/go-openapi/validate"
)
-// WritableSecret writable secret
+// WritableIPRange writable IP range
//
-// swagger:model WritableSecret
-type WritableSecret struct {
+// swagger:model WritableIPRange
+type WritableIPRange struct {
- // Assigned object
+ // Children
// Read Only: true
- AssignedObject map[string]*string `json:"assigned_object,omitempty"`
-
- // Assigned object id
- // Required: true
- // Maximum: 2.147483647e+09
- // Minimum: 0
- AssignedObjectID *int64 `json:"assigned_object_id"`
-
- // Assigned object type
- // Required: true
- AssignedObjectType *string `json:"assigned_object_type"`
+ Children int64 `json:"children,omitempty"`
// Created
// Read Only: true
@@ -57,14 +48,23 @@ type WritableSecret struct {
// Custom fields
CustomFields interface{} `json:"custom_fields,omitempty"`
+ // Description
+ // Max Length: 200
+ Description string `json:"description,omitempty"`
+
// Display
// Read Only: true
Display string `json:"display,omitempty"`
- // Hash
+ // End address
+ //
+ // IPv4 or IPv6 address (with mask)
+ // Required: true
+ EndAddress *string `json:"end_address"`
+
+ // Family
// Read Only: true
- // Min Length: 1
- Hash string `json:"hash,omitempty"`
+ Family string `json:"family,omitempty"`
// Id
// Read Only: true
@@ -75,61 +75,67 @@ type WritableSecret struct {
// Format: date-time
LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
- // Name
- // Max Length: 100
- Name string `json:"name,omitempty"`
+ // Role
+ //
+ // The primary function of this range
+ Role *int64 `json:"role,omitempty"`
- // Plaintext
- // Required: true
- // Min Length: 1
- Plaintext *string `json:"plaintext"`
+ // Size
+ // Read Only: true
+ Size int64 `json:"size,omitempty"`
- // Role
+ // Start address
+ //
+ // IPv4 or IPv6 address (with mask)
// Required: true
- Role *int64 `json:"role"`
+ StartAddress *string `json:"start_address"`
+
+ // Status
+ //
+ // Operational status of this range
+ // Enum: [active reserved deprecated]
+ Status string `json:"status,omitempty"`
// tags
Tags []*NestedTag `json:"tags"`
+ // Tenant
+ Tenant *int64 `json:"tenant,omitempty"`
+
// Url
// Read Only: true
// Format: uri
URL strfmt.URI `json:"url,omitempty"`
+
+ // VRF
+ Vrf *int64 `json:"vrf,omitempty"`
}
-// Validate validates this writable secret
-func (m *WritableSecret) Validate(formats strfmt.Registry) error {
+// Validate validates this writable IP range
+func (m *WritableIPRange) Validate(formats strfmt.Registry) error {
var res []error
- if err := m.validateAssignedObjectID(formats); err != nil {
- res = append(res, err)
- }
-
- if err := m.validateAssignedObjectType(formats); err != nil {
- res = append(res, err)
- }
-
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
- if err := m.validateHash(formats); err != nil {
+ if err := m.validateDescription(formats); err != nil {
res = append(res, err)
}
- if err := m.validateLastUpdated(formats); err != nil {
+ if err := m.validateEndAddress(formats); err != nil {
res = append(res, err)
}
- if err := m.validateName(formats); err != nil {
+ if err := m.validateLastUpdated(formats); err != nil {
res = append(res, err)
}
- if err := m.validatePlaintext(formats); err != nil {
+ if err := m.validateStartAddress(formats); err != nil {
res = append(res, err)
}
- if err := m.validateRole(formats); err != nil {
+ if err := m.validateStatus(formats); err != nil {
res = append(res, err)
}
@@ -147,57 +153,40 @@ func (m *WritableSecret) Validate(formats strfmt.Registry) error {
return nil
}
-func (m *WritableSecret) validateAssignedObjectID(formats strfmt.Registry) error {
-
- if err := validate.Required("assigned_object_id", "body", m.AssignedObjectID); err != nil {
- return err
- }
-
- if err := validate.MinimumInt("assigned_object_id", "body", *m.AssignedObjectID, 0, false); err != nil {
- return err
- }
-
- if err := validate.MaximumInt("assigned_object_id", "body", *m.AssignedObjectID, 2.147483647e+09, false); err != nil {
- return err
+func (m *WritableIPRange) validateCreated(formats strfmt.Registry) error {
+ if swag.IsZero(m.Created) { // not required
+ return nil
}
- return nil
-}
-
-func (m *WritableSecret) validateAssignedObjectType(formats strfmt.Registry) error {
-
- if err := validate.Required("assigned_object_type", "body", m.AssignedObjectType); err != nil {
+ if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) validateCreated(formats strfmt.Registry) error {
- if swag.IsZero(m.Created) { // not required
+func (m *WritableIPRange) validateDescription(formats strfmt.Registry) error {
+ if swag.IsZero(m.Description) { // not required
return nil
}
- if err := validate.FormatOf("created", "body", "date", m.Created.String(), formats); err != nil {
+ if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) validateHash(formats strfmt.Registry) error {
- if swag.IsZero(m.Hash) { // not required
- return nil
- }
+func (m *WritableIPRange) validateEndAddress(formats strfmt.Registry) error {
- if err := validate.MinLength("hash", "body", m.Hash, 1); err != nil {
+ if err := validate.Required("end_address", "body", m.EndAddress); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) validateLastUpdated(formats strfmt.Registry) error {
+func (m *WritableIPRange) validateLastUpdated(formats strfmt.Registry) error {
if swag.IsZero(m.LastUpdated) { // not required
return nil
}
@@ -209,41 +198,61 @@ func (m *WritableSecret) validateLastUpdated(formats strfmt.Registry) error {
return nil
}
-func (m *WritableSecret) validateName(formats strfmt.Registry) error {
- if swag.IsZero(m.Name) { // not required
- return nil
- }
+func (m *WritableIPRange) validateStartAddress(formats strfmt.Registry) error {
- if err := validate.MaxLength("name", "body", m.Name, 100); err != nil {
+ if err := validate.Required("start_address", "body", m.StartAddress); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) validatePlaintext(formats strfmt.Registry) error {
+var writableIpRangeTypeStatusPropEnum []interface{}
- if err := validate.Required("plaintext", "body", m.Plaintext); err != nil {
- return err
+func init() {
+ var res []string
+ if err := json.Unmarshal([]byte(`["active","reserved","deprecated"]`), &res); err != nil {
+ panic(err)
+ }
+ for _, v := range res {
+ writableIpRangeTypeStatusPropEnum = append(writableIpRangeTypeStatusPropEnum, v)
}
+}
+
+const (
+
+ // WritableIPRangeStatusActive captures enum value "active"
+ WritableIPRangeStatusActive string = "active"
+
+ // WritableIPRangeStatusReserved captures enum value "reserved"
+ WritableIPRangeStatusReserved string = "reserved"
+
+ // WritableIPRangeStatusDeprecated captures enum value "deprecated"
+ WritableIPRangeStatusDeprecated string = "deprecated"
+)
- if err := validate.MinLength("plaintext", "body", *m.Plaintext, 1); err != nil {
+// prop value enum
+func (m *WritableIPRange) validateStatusEnum(path, location string, value string) error {
+ if err := validate.EnumCase(path, location, value, writableIpRangeTypeStatusPropEnum, true); err != nil {
return err
}
-
return nil
}
-func (m *WritableSecret) validateRole(formats strfmt.Registry) error {
+func (m *WritableIPRange) validateStatus(formats strfmt.Registry) error {
+ if swag.IsZero(m.Status) { // not required
+ return nil
+ }
- if err := validate.Required("role", "body", m.Role); err != nil {
+ // value enum
+ if err := m.validateStatusEnum("status", "body", m.Status); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) validateTags(formats strfmt.Registry) error {
+func (m *WritableIPRange) validateTags(formats strfmt.Registry) error {
if swag.IsZero(m.Tags) { // not required
return nil
}
@@ -257,6 +266,8 @@ func (m *WritableSecret) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -267,7 +278,7 @@ func (m *WritableSecret) validateTags(formats strfmt.Registry) error {
return nil
}
-func (m *WritableSecret) validateURL(formats strfmt.Registry) error {
+func (m *WritableIPRange) validateURL(formats strfmt.Registry) error {
if swag.IsZero(m.URL) { // not required
return nil
}
@@ -279,11 +290,11 @@ func (m *WritableSecret) validateURL(formats strfmt.Registry) error {
return nil
}
-// ContextValidate validate this writable secret based on the context it is used
-func (m *WritableSecret) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+// ContextValidate validate this writable IP range based on the context it is used
+func (m *WritableIPRange) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
- if err := m.contextValidateAssignedObject(ctx, formats); err != nil {
+ if err := m.contextValidateChildren(ctx, formats); err != nil {
res = append(res, err)
}
@@ -295,7 +306,7 @@ func (m *WritableSecret) ContextValidate(ctx context.Context, formats strfmt.Reg
res = append(res, err)
}
- if err := m.contextValidateHash(ctx, formats); err != nil {
+ if err := m.contextValidateFamily(ctx, formats); err != nil {
res = append(res, err)
}
@@ -307,6 +318,10 @@ func (m *WritableSecret) ContextValidate(ctx context.Context, formats strfmt.Reg
res = append(res, err)
}
+ if err := m.contextValidateSize(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.contextValidateTags(ctx, formats); err != nil {
res = append(res, err)
}
@@ -321,12 +336,16 @@ func (m *WritableSecret) ContextValidate(ctx context.Context, formats strfmt.Reg
return nil
}
-func (m *WritableSecret) contextValidateAssignedObject(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateChildren(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "children", "body", int64(m.Children)); err != nil {
+ return err
+ }
return nil
}
-func (m *WritableSecret) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "created", "body", strfmt.Date(m.Created)); err != nil {
return err
@@ -335,7 +354,7 @@ func (m *WritableSecret) contextValidateCreated(ctx context.Context, formats str
return nil
}
-func (m *WritableSecret) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
return err
@@ -344,16 +363,16 @@ func (m *WritableSecret) contextValidateDisplay(ctx context.Context, formats str
return nil
}
-func (m *WritableSecret) contextValidateHash(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateFamily(ctx context.Context, formats strfmt.Registry) error {
- if err := validate.ReadOnly(ctx, "hash", "body", string(m.Hash)); err != nil {
+ if err := validate.ReadOnly(ctx, "family", "body", string(m.Family)); err != nil {
return err
}
return nil
}
-func (m *WritableSecret) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
return err
@@ -362,7 +381,7 @@ func (m *WritableSecret) contextValidateID(ctx context.Context, formats strfmt.R
return nil
}
-func (m *WritableSecret) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateLastUpdated(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "last_updated", "body", strfmt.DateTime(m.LastUpdated)); err != nil {
return err
@@ -371,7 +390,16 @@ func (m *WritableSecret) contextValidateLastUpdated(ctx context.Context, formats
return nil
}
-func (m *WritableSecret) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateSize(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "size", "body", int64(m.Size)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableIPRange) contextValidateTags(ctx context.Context, formats strfmt.Registry) error {
for i := 0; i < len(m.Tags); i++ {
@@ -379,6 +407,8 @@ func (m *WritableSecret) contextValidateTags(ctx context.Context, formats strfmt
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -389,7 +419,7 @@ func (m *WritableSecret) contextValidateTags(ctx context.Context, formats strfmt
return nil
}
-func (m *WritableSecret) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
+func (m *WritableIPRange) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
return err
@@ -399,7 +429,7 @@ func (m *WritableSecret) contextValidateURL(ctx context.Context, formats strfmt.
}
// MarshalBinary interface implementation
-func (m *WritableSecret) MarshalBinary() ([]byte, error) {
+func (m *WritableIPRange) MarshalBinary() ([]byte, error) {
if m == nil {
return nil, nil
}
@@ -407,8 +437,8 @@ func (m *WritableSecret) MarshalBinary() ([]byte, error) {
}
// UnmarshalBinary interface implementation
-func (m *WritableSecret) UnmarshalBinary(b []byte) error {
- var res WritableSecret
+func (m *WritableIPRange) UnmarshalBinary(b []byte) error {
+ var res WritableIPRange
if err := swag.ReadJSON(b, &res); err != nil {
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_feed.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_feed.go
index 636cefbef..7a21f187d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_feed.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_feed.go
@@ -246,6 +246,8 @@ func (m *WritablePowerFeed) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -466,6 +468,8 @@ func (m *WritablePowerFeed) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -623,6 +627,8 @@ func (m *WritablePowerFeed) contextValidateCable(ctx context.Context, formats st
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -712,6 +718,8 @@ func (m *WritablePowerFeed) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_outlet.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_outlet.go
index e4cdab9b3..8731067f0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_outlet.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_outlet.go
@@ -204,6 +204,8 @@ func (m *WritablePowerOutlet) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -345,6 +347,8 @@ func (m *WritablePowerOutlet) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -726,6 +730,8 @@ func (m *WritablePowerOutlet) contextValidateCable(ctx context.Context, formats
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -815,6 +821,8 @@ func (m *WritablePowerOutlet) contextValidateTags(ctx context.Context, formats s
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_panel.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_panel.go
index 556b82570..48fa7087f 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_panel.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_panel.go
@@ -138,6 +138,8 @@ func (m *WritablePowerPanel) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -225,6 +227,8 @@ func (m *WritablePowerPanel) contextValidateTags(ctx context.Context, formats st
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port.go
index 71aa0cf12..78c60ccda 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port.go
@@ -137,7 +137,7 @@ type WritablePowerPort struct {
// Type
//
// Physical port type
- // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
+ // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
Type string `json:"type,omitempty"`
// Url
@@ -229,6 +229,8 @@ func (m *WritablePowerPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -341,6 +343,8 @@ func (m *WritablePowerPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -355,7 +359,7 @@ var writablePowerPortTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -557,6 +561,9 @@ const (
// WritablePowerPortTypeCs8465c captures enum value "cs8465c"
WritablePowerPortTypeCs8465c string = "cs8465c"
+ // WritablePowerPortTypeItaDashc captures enum value "ita-c"
+ WritablePowerPortTypeItaDashc string = "ita-c"
+
// WritablePowerPortTypeItaDashe captures enum value "ita-e"
WritablePowerPortTypeItaDashe string = "ita-e"
@@ -614,6 +621,9 @@ const (
// WritablePowerPortTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritablePowerPortTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritablePowerPortTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritablePowerPortTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritablePowerPortTypeUsbDash3Dashb captures enum value "usb-3-b"
WritablePowerPortTypeUsbDash3Dashb string = "usb-3-b"
@@ -740,6 +750,8 @@ func (m *WritablePowerPort) contextValidateCable(ctx context.Context, formats st
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -829,6 +841,8 @@ func (m *WritablePowerPort) contextValidateTags(ctx context.Context, formats str
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port_template.go
index 11630b3da..3697c655d 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_power_port_template.go
@@ -88,7 +88,7 @@ type WritablePowerPortTemplate struct {
Name *string `json:"name"`
// Type
- // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
+ // Enum: [iec-60320-c6 iec-60320-c8 iec-60320-c14 iec-60320-c16 iec-60320-c20 iec-60320-c22 iec-60309-p-n-e-4h iec-60309-p-n-e-6h iec-60309-p-n-e-9h iec-60309-2p-e-4h iec-60309-2p-e-6h iec-60309-2p-e-9h iec-60309-3p-e-4h iec-60309-3p-e-6h iec-60309-3p-e-9h iec-60309-3p-n-e-4h iec-60309-3p-n-e-6h iec-60309-3p-n-e-9h nema-1-15p nema-5-15p nema-5-20p nema-5-30p nema-5-50p nema-6-15p nema-6-20p nema-6-30p nema-6-50p nema-10-30p nema-10-50p nema-14-20p nema-14-30p nema-14-50p nema-14-60p nema-15-15p nema-15-20p nema-15-30p nema-15-50p nema-15-60p nema-l1-15p nema-l5-15p nema-l5-20p nema-l5-30p nema-l5-50p nema-l6-15p nema-l6-20p nema-l6-30p nema-l6-50p nema-l10-30p nema-l14-20p nema-l14-30p nema-l14-50p nema-l14-60p nema-l15-20p nema-l15-30p nema-l15-50p nema-l15-60p nema-l21-20p nema-l21-30p cs6361c cs6365c cs8165c cs8265c cs8365c cs8465c ita-c ita-e ita-f ita-ef ita-g ita-h ita-i ita-j ita-k ita-l ita-m ita-n ita-o usb-a usb-b usb-c usb-mini-a usb-mini-b usb-micro-a usb-micro-b usb-micro-ab usb-3-b usb-3-micro-b dc-terminal saf-d-grid hardwired]
Type string `json:"type,omitempty"`
// Url
@@ -257,7 +257,7 @@ var writablePowerPortTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["iec-60320-c6","iec-60320-c8","iec-60320-c14","iec-60320-c16","iec-60320-c20","iec-60320-c22","iec-60309-p-n-e-4h","iec-60309-p-n-e-6h","iec-60309-p-n-e-9h","iec-60309-2p-e-4h","iec-60309-2p-e-6h","iec-60309-2p-e-9h","iec-60309-3p-e-4h","iec-60309-3p-e-6h","iec-60309-3p-e-9h","iec-60309-3p-n-e-4h","iec-60309-3p-n-e-6h","iec-60309-3p-n-e-9h","nema-1-15p","nema-5-15p","nema-5-20p","nema-5-30p","nema-5-50p","nema-6-15p","nema-6-20p","nema-6-30p","nema-6-50p","nema-10-30p","nema-10-50p","nema-14-20p","nema-14-30p","nema-14-50p","nema-14-60p","nema-15-15p","nema-15-20p","nema-15-30p","nema-15-50p","nema-15-60p","nema-l1-15p","nema-l5-15p","nema-l5-20p","nema-l5-30p","nema-l5-50p","nema-l6-15p","nema-l6-20p","nema-l6-30p","nema-l6-50p","nema-l10-30p","nema-l14-20p","nema-l14-30p","nema-l14-50p","nema-l14-60p","nema-l15-20p","nema-l15-30p","nema-l15-50p","nema-l15-60p","nema-l21-20p","nema-l21-30p","cs6361c","cs6365c","cs8165c","cs8265c","cs8365c","cs8465c","ita-c","ita-e","ita-f","ita-ef","ita-g","ita-h","ita-i","ita-j","ita-k","ita-l","ita-m","ita-n","ita-o","usb-a","usb-b","usb-c","usb-mini-a","usb-mini-b","usb-micro-a","usb-micro-b","usb-micro-ab","usb-3-b","usb-3-micro-b","dc-terminal","saf-d-grid","hardwired"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -459,6 +459,9 @@ const (
// WritablePowerPortTemplateTypeCs8465c captures enum value "cs8465c"
WritablePowerPortTemplateTypeCs8465c string = "cs8465c"
+ // WritablePowerPortTemplateTypeItaDashc captures enum value "ita-c"
+ WritablePowerPortTemplateTypeItaDashc string = "ita-c"
+
// WritablePowerPortTemplateTypeItaDashe captures enum value "ita-e"
WritablePowerPortTemplateTypeItaDashe string = "ita-e"
@@ -516,6 +519,9 @@ const (
// WritablePowerPortTemplateTypeUsbDashMicroDashb captures enum value "usb-micro-b"
WritablePowerPortTemplateTypeUsbDashMicroDashb string = "usb-micro-b"
+ // WritablePowerPortTemplateTypeUsbDashMicroDashAb captures enum value "usb-micro-ab"
+ WritablePowerPortTemplateTypeUsbDashMicroDashAb string = "usb-micro-ab"
+
// WritablePowerPortTemplateTypeUsbDash3Dashb captures enum value "usb-3-b"
WritablePowerPortTemplateTypeUsbDash3Dashb string = "usb-3-b"
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_prefix.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_prefix.go
index 5f2e57070..8f50a26a5 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_prefix.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_prefix.go
@@ -78,6 +78,11 @@ type WritablePrefix struct {
// Format: date-time
LastUpdated strfmt.DateTime `json:"last_updated,omitempty"`
+ // Mark utilized
+ //
+ // Treat as 100% utilized
+ MarkUtilized bool `json:"mark_utilized,omitempty"`
+
// Prefix
//
// IPv4 or IPv6 network with mask
@@ -261,6 +266,8 @@ func (m *WritablePrefix) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -400,6 +407,8 @@ func (m *WritablePrefix) contextValidateTags(ctx context.Context, formats strfmt
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_provider_network.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_provider_network.go
index aa76affe2..1d9c30866 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_provider_network.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_provider_network.go
@@ -196,6 +196,8 @@ func (m *WritableProviderNetwork) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -296,6 +298,8 @@ func (m *WritableProviderNetwork) contextValidateTags(ctx context.Context, forma
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack.go
index 42998c8f9..c657f3fa6 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack.go
@@ -66,10 +66,6 @@ type WritableRack struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Facility ID
//
// Locally-assigned identifier
@@ -461,6 +457,8 @@ func (m *WritableRack) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -599,10 +597,6 @@ func (m *WritableRack) ContextValidate(ctx context.Context, formats strfmt.Regis
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -656,15 +650,6 @@ func (m *WritableRack) contextValidateDisplay(ctx context.Context, formats strfm
return nil
}
-func (m *WritableRack) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *WritableRack) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -700,6 +685,8 @@ func (m *WritableRack) contextValidateTags(ctx context.Context, formats strfmt.R
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack_reservation.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack_reservation.go
index 48cd5e18d..df311e9c0 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack_reservation.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rack_reservation.go
@@ -171,6 +171,8 @@ func (m *WritableRackReservation) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -291,6 +293,8 @@ func (m *WritableRackReservation) contextValidateTags(ctx context.Context, forma
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port.go
index 8226bccbf..4b647b038 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port.go
@@ -55,6 +55,11 @@ type WritableRearPort struct {
// Read Only: true
CablePeerType string `json:"cable_peer_type,omitempty"`
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -111,7 +116,7 @@ type WritableRearPort struct {
// Type
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Type *string `json:"type"`
// Url
@@ -128,6 +133,10 @@ func (m *WritableRearPort) Validate(formats strfmt.Registry) error {
res = append(res, err)
}
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -183,6 +192,8 @@ func (m *WritableRearPort) validateCable(formats strfmt.Registry) error {
if err := m.Cable.Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -191,6 +202,22 @@ func (m *WritableRearPort) validateCable(formats strfmt.Registry) error {
return nil
}
+func (m *WritableRearPort) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *WritableRearPort) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -295,6 +322,8 @@ func (m *WritableRearPort) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -309,7 +338,7 @@ var writableRearPortTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -409,6 +438,21 @@ const (
// WritableRearPortTypeSn captures enum value "sn"
WritableRearPortTypeSn string = "sn"
+ // WritableRearPortTypeSmaDash905 captures enum value "sma-905"
+ WritableRearPortTypeSmaDash905 string = "sma-905"
+
+ // WritableRearPortTypeSmaDash906 captures enum value "sma-906"
+ WritableRearPortTypeSmaDash906 string = "sma-906"
+
+ // WritableRearPortTypeUrmDashP2 captures enum value "urm-p2"
+ WritableRearPortTypeUrmDashP2 string = "urm-p2"
+
+ // WritableRearPortTypeUrmDashP4 captures enum value "urm-p4"
+ WritableRearPortTypeUrmDashP4 string = "urm-p4"
+
+ // WritableRearPortTypeUrmDashP8 captures enum value "urm-p8"
+ WritableRearPortTypeUrmDashP8 string = "urm-p8"
+
// WritableRearPortTypeSplice captures enum value "splice"
WritableRearPortTypeSplice string = "splice"
)
@@ -512,6 +556,8 @@ func (m *WritableRearPort) contextValidateCable(ctx context.Context, formats str
if err := m.Cable.ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("cable")
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("cable")
}
return err
}
@@ -578,6 +624,8 @@ func (m *WritableRearPort) contextValidateTags(ctx context.Context, formats strf
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port_template.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port_template.go
index 83b481769..20a179e28 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port_template.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_rear_port_template.go
@@ -35,6 +35,11 @@ import (
// swagger:model WritableRearPortTemplate
type WritableRearPortTemplate struct {
+ // Color
+ // Max Length: 6
+ // Pattern: ^[0-9a-f]{6}$
+ Color string `json:"color,omitempty"`
+
// Created
// Read Only: true
// Format: date
@@ -80,7 +85,7 @@ type WritableRearPortTemplate struct {
// Type
// Required: true
- // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn splice]
+ // Enum: [8p8c 8p6c 8p4c 8p2c 6p6c 6p4c 6p2c 4p4c 4p2c gg45 tera-4p tera-2p tera-1p 110-punch bnc f n mrj21 fc lc lc-apc lsh lsh-apc mpo mtrj sc sc-apc st cs sn sma-905 sma-906 urm-p2 urm-p4 urm-p8 splice]
Type *string `json:"type"`
// Url
@@ -93,6 +98,10 @@ type WritableRearPortTemplate struct {
func (m *WritableRearPortTemplate) Validate(formats strfmt.Registry) error {
var res []error
+ if err := m.validateColor(formats); err != nil {
+ res = append(res, err)
+ }
+
if err := m.validateCreated(formats); err != nil {
res = append(res, err)
}
@@ -135,6 +144,22 @@ func (m *WritableRearPortTemplate) Validate(formats strfmt.Registry) error {
return nil
}
+func (m *WritableRearPortTemplate) validateColor(formats strfmt.Registry) error {
+ if swag.IsZero(m.Color) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("color", "body", m.Color, 6); err != nil {
+ return err
+ }
+
+ if err := validate.Pattern("color", "body", m.Color, `^[0-9a-f]{6}$`); err != nil {
+ return err
+ }
+
+ return nil
+}
+
func (m *WritableRearPortTemplate) validateCreated(formats strfmt.Registry) error {
if swag.IsZero(m.Created) { // not required
return nil
@@ -229,7 +254,7 @@ var writableRearPortTemplateTypeTypePropEnum []interface{}
func init() {
var res []string
- if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","splice"]`), &res); err != nil {
+ if err := json.Unmarshal([]byte(`["8p8c","8p6c","8p4c","8p2c","6p6c","6p4c","6p2c","4p4c","4p2c","gg45","tera-4p","tera-2p","tera-1p","110-punch","bnc","f","n","mrj21","fc","lc","lc-apc","lsh","lsh-apc","mpo","mtrj","sc","sc-apc","st","cs","sn","sma-905","sma-906","urm-p2","urm-p4","urm-p8","splice"]`), &res); err != nil {
panic(err)
}
for _, v := range res {
@@ -329,6 +354,21 @@ const (
// WritableRearPortTemplateTypeSn captures enum value "sn"
WritableRearPortTemplateTypeSn string = "sn"
+ // WritableRearPortTemplateTypeSmaDash905 captures enum value "sma-905"
+ WritableRearPortTemplateTypeSmaDash905 string = "sma-905"
+
+ // WritableRearPortTemplateTypeSmaDash906 captures enum value "sma-906"
+ WritableRearPortTemplateTypeSmaDash906 string = "sma-906"
+
+ // WritableRearPortTemplateTypeUrmDashP2 captures enum value "urm-p2"
+ WritableRearPortTemplateTypeUrmDashP2 string = "urm-p2"
+
+ // WritableRearPortTemplateTypeUrmDashP4 captures enum value "urm-p4"
+ WritableRearPortTemplateTypeUrmDashP4 string = "urm-p4"
+
+ // WritableRearPortTemplateTypeUrmDashP8 captures enum value "urm-p8"
+ WritableRearPortTemplateTypeUrmDashP8 string = "urm-p8"
+
// WritableRearPortTemplateTypeSplice captures enum value "splice"
WritableRearPortTemplateTypeSplice string = "splice"
)
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_route_target.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_route_target.go
index ddc8ae017..7c9cea6ca 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_route_target.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_route_target.go
@@ -181,6 +181,8 @@ func (m *WritableRouteTarget) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -281,6 +283,8 @@ func (m *WritableRouteTarget) contextValidateTags(ctx context.Context, formats s
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_service.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_service.go
index 218fc8dcb..199fefbda 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_service.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_service.go
@@ -284,6 +284,8 @@ func (m *WritableService) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -384,6 +386,8 @@ func (m *WritableService) contextValidateTags(ctx context.Context, formats strfm
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_site.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_site.go
index 32ec40a8f..089bc5769 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_site.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_site.go
@@ -104,12 +104,12 @@ type WritableSite struct {
// Latitude
//
// GPS coordinate (latitude)
- Latitude *string `json:"latitude,omitempty"`
+ Latitude *float64 `json:"latitude,omitempty"`
// Longitude
//
// GPS coordinate (longitude)
- Longitude *string `json:"longitude,omitempty"`
+ Longitude *float64 `json:"longitude,omitempty"`
// Name
// Required: true
@@ -471,6 +471,8 @@ func (m *WritableSite) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -631,6 +633,8 @@ func (m *WritableSite) contextValidateTags(ctx context.Context, formats strfmt.R
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_tenant.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_tenant.go
index 0121c4c13..8aaca02ec 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_tenant.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_tenant.go
@@ -254,6 +254,8 @@ func (m *WritableTenant) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -457,6 +459,8 @@ func (m *WritableTenant) contextValidateTags(ctx context.Context, formats strfmt
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_token.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_token.go
new file mode 100644
index 000000000..6aa102d91
--- /dev/null
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_token.go
@@ -0,0 +1,263 @@
+// Code generated by go-swagger; DO NOT EDIT.
+
+// Copyright (c) 2020 Samuel Mutel <12967891+smutel@users.noreply.github.com>
+//
+// Permission to use, copy, modify, and distribute this software for any
+// purpose with or without fee is hereby granted, provided that the above
+// copyright notice and this permission notice appear in all copies.
+//
+// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
+//
+
+package models
+
+// This file was generated by the swagger tool.
+// Editing this file might prove futile when you re-run the swagger generate command
+
+import (
+ "context"
+
+ "github.com/go-openapi/errors"
+ "github.com/go-openapi/strfmt"
+ "github.com/go-openapi/swag"
+ "github.com/go-openapi/validate"
+)
+
+// WritableToken writable token
+//
+// swagger:model WritableToken
+type WritableToken struct {
+
+ // Created
+ // Read Only: true
+ // Format: date-time
+ Created strfmt.DateTime `json:"created,omitempty"`
+
+ // Description
+ // Max Length: 200
+ Description string `json:"description,omitempty"`
+
+ // Display
+ // Read Only: true
+ Display string `json:"display,omitempty"`
+
+ // Expires
+ // Format: date-time
+ Expires *strfmt.DateTime `json:"expires,omitempty"`
+
+ // Id
+ // Read Only: true
+ ID int64 `json:"id,omitempty"`
+
+ // Key
+ // Max Length: 40
+ // Min Length: 40
+ Key string `json:"key,omitempty"`
+
+ // Url
+ // Read Only: true
+ // Format: uri
+ URL strfmt.URI `json:"url,omitempty"`
+
+ // User
+ // Required: true
+ User *int64 `json:"user"`
+
+ // Write enabled
+ //
+ // Permit create/update/delete operations using this key
+ WriteEnabled bool `json:"write_enabled,omitempty"`
+}
+
+// Validate validates this writable token
+func (m *WritableToken) Validate(formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.validateCreated(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateDescription(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateExpires(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateKey(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateURL(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.validateUser(formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (m *WritableToken) validateCreated(formats strfmt.Registry) error {
+ if swag.IsZero(m.Created) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("created", "body", "date-time", m.Created.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) validateDescription(formats strfmt.Registry) error {
+ if swag.IsZero(m.Description) { // not required
+ return nil
+ }
+
+ if err := validate.MaxLength("description", "body", m.Description, 200); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) validateExpires(formats strfmt.Registry) error {
+ if swag.IsZero(m.Expires) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("expires", "body", "date-time", m.Expires.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) validateKey(formats strfmt.Registry) error {
+ if swag.IsZero(m.Key) { // not required
+ return nil
+ }
+
+ if err := validate.MinLength("key", "body", m.Key, 40); err != nil {
+ return err
+ }
+
+ if err := validate.MaxLength("key", "body", m.Key, 40); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) validateURL(formats strfmt.Registry) error {
+ if swag.IsZero(m.URL) { // not required
+ return nil
+ }
+
+ if err := validate.FormatOf("url", "body", "uri", m.URL.String(), formats); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) validateUser(formats strfmt.Registry) error {
+
+ if err := validate.Required("user", "body", m.User); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// ContextValidate validate this writable token based on the context it is used
+func (m *WritableToken) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
+ var res []error
+
+ if err := m.contextValidateCreated(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateDisplay(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateID(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if err := m.contextValidateURL(ctx, formats); err != nil {
+ res = append(res, err)
+ }
+
+ if len(res) > 0 {
+ return errors.CompositeValidationError(res...)
+ }
+ return nil
+}
+
+func (m *WritableToken) contextValidateCreated(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "created", "body", strfmt.DateTime(m.Created)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) contextValidateDisplay(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "display", "body", string(m.Display)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+func (m *WritableToken) contextValidateURL(ctx context.Context, formats strfmt.Registry) error {
+
+ if err := validate.ReadOnly(ctx, "url", "body", strfmt.URI(m.URL)); err != nil {
+ return err
+ }
+
+ return nil
+}
+
+// MarshalBinary interface implementation
+func (m *WritableToken) MarshalBinary() ([]byte, error) {
+ if m == nil {
+ return nil, nil
+ }
+ return swag.WriteJSON(m)
+}
+
+// UnmarshalBinary interface implementation
+func (m *WritableToken) UnmarshalBinary(b []byte) error {
+ var res WritableToken
+ if err := swag.ReadJSON(b, &res); err != nil {
+ return err
+ }
+ *m = res
+ return nil
+}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_l_a_n.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_l_a_n.go
index 43b3be2f3..38f3b7d28 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_l_a_n.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_l_a_n.go
@@ -52,10 +52,6 @@ type WritableVLAN struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Group
Group *int64 `json:"group,omitempty"`
@@ -260,6 +256,8 @@ func (m *WritableVLAN) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -311,10 +309,6 @@ func (m *WritableVLAN) ContextValidate(ctx context.Context, formats strfmt.Regis
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -359,15 +353,6 @@ func (m *WritableVLAN) contextValidateDisplay(ctx context.Context, formats strfm
return nil
}
-func (m *WritableVLAN) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *WritableVLAN) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -403,6 +388,8 @@ func (m *WritableVLAN) contextValidateTags(ctx context.Context, formats strfmt.R
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_r_f.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_r_f.go
index b60f85c12..b519d9b01 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_r_f.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_v_r_f.go
@@ -51,10 +51,6 @@ type WritableVRF struct {
// Read Only: true
Display string `json:"display,omitempty"`
- // Display name
- // Read Only: true
- DisplayName string `json:"display_name,omitempty"`
-
// Enforce unique space
//
// Prevent duplicate prefixes/IP addresses within this VRF
@@ -258,6 +254,8 @@ func (m *WritableVRF) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -292,10 +290,6 @@ func (m *WritableVRF) ContextValidate(ctx context.Context, formats strfmt.Regist
res = append(res, err)
}
- if err := m.contextValidateDisplayName(ctx, formats); err != nil {
- res = append(res, err)
- }
-
if err := m.contextValidateID(ctx, formats); err != nil {
res = append(res, err)
}
@@ -344,15 +338,6 @@ func (m *WritableVRF) contextValidateDisplay(ctx context.Context, formats strfmt
return nil
}
-func (m *WritableVRF) contextValidateDisplayName(ctx context.Context, formats strfmt.Registry) error {
-
- if err := validate.ReadOnly(ctx, "display_name", "body", string(m.DisplayName)); err != nil {
- return err
- }
-
- return nil
-}
-
func (m *WritableVRF) contextValidateID(ctx context.Context, formats strfmt.Registry) error {
if err := validate.ReadOnly(ctx, "id", "body", int64(m.ID)); err != nil {
@@ -397,6 +382,8 @@ func (m *WritableVRF) contextValidateTags(ctx context.Context, formats strfmt.Re
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_chassis.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_chassis.go
index 202883d28..60d728eb1 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_chassis.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_chassis.go
@@ -141,6 +141,8 @@ func (m *WritableVirtualChassis) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -228,6 +230,8 @@ func (m *WritableVirtualChassis) contextValidateTags(ctx context.Context, format
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_machine_with_config_context.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_machine_with_config_context.go
index 8b05ab2f7..f5c6e1be9 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_machine_with_config_context.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_virtual_machine_with_config_context.go
@@ -123,7 +123,8 @@ type WritableVirtualMachineWithConfigContext struct {
URL strfmt.URI `json:"url,omitempty"`
// VCPUs
- Vcpus *string `json:"vcpus,omitempty"`
+ // Minimum: 0.01
+ Vcpus *float64 `json:"vcpus,omitempty"`
}
// Validate validates this writable virtual machine with config context
@@ -166,6 +167,10 @@ func (m *WritableVirtualMachineWithConfigContext) Validate(formats strfmt.Regist
res = append(res, err)
}
+ if err := m.validateVcpus(formats); err != nil {
+ res = append(res, err)
+ }
+
if len(res) > 0 {
return errors.CompositeValidationError(res...)
}
@@ -322,6 +327,8 @@ func (m *WritableVirtualMachineWithConfigContext) validateTags(formats strfmt.Re
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -344,6 +351,18 @@ func (m *WritableVirtualMachineWithConfigContext) validateURL(formats strfmt.Reg
return nil
}
+func (m *WritableVirtualMachineWithConfigContext) validateVcpus(formats strfmt.Registry) error {
+ if swag.IsZero(m.Vcpus) { // not required
+ return nil
+ }
+
+ if err := validate.Minimum("vcpus", "body", *m.Vcpus, 0.01, false); err != nil {
+ return err
+ }
+
+ return nil
+}
+
// ContextValidate validate this writable virtual machine with config context based on the context it is used
func (m *WritableVirtualMachineWithConfigContext) ContextValidate(ctx context.Context, formats strfmt.Registry) error {
var res []error
@@ -457,6 +476,8 @@ func (m *WritableVirtualMachineWithConfigContext) contextValidateTags(ctx contex
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/smutel/go-netbox/netbox/models/writable_vm_interface.go b/vendor/github.com/smutel/go-netbox/netbox/models/writable_vm_interface.go
index 8afe8556d..122ce2c87 100644
--- a/vendor/github.com/smutel/go-netbox/netbox/models/writable_vm_interface.go
+++ b/vendor/github.com/smutel/go-netbox/netbox/models/writable_vm_interface.go
@@ -299,6 +299,8 @@ func (m *WritableVMInterface) validateTags(formats strfmt.Registry) error {
if err := m.Tags[i].Validate(formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
@@ -421,6 +423,8 @@ func (m *WritableVMInterface) contextValidateTags(ctx context.Context, formats s
if err := m.Tags[i].ContextValidate(ctx, formats); err != nil {
if ve, ok := err.(*errors.Validation); ok {
return ve.ValidateName("tags" + "." + strconv.Itoa(i))
+ } else if ce, ok := err.(*errors.CompositeError); ok {
+ return ce.ValidateName("tags" + "." + strconv.Itoa(i))
}
return err
}
diff --git a/vendor/github.com/spf13/afero/README.md b/vendor/github.com/spf13/afero/README.md
index fb8eaaf89..cab257f56 100644
--- a/vendor/github.com/spf13/afero/README.md
+++ b/vendor/github.com/spf13/afero/README.md
@@ -79,11 +79,11 @@ would.
So if my application before had:
```go
-os.Open('/tmp/foo')
+os.Open("/tmp/foo")
```
We would replace it with:
```go
-AppFs.Open('/tmp/foo')
+AppFs.Open("/tmp/foo")
```
`AppFs` being the variable we defined above.
@@ -259,6 +259,18 @@ system using InMemoryFile.
Afero has experimental support for secure file transfer protocol (sftp). Which can
be used to perform file operations over a encrypted channel.
+### GCSFs
+
+Afero has experimental support for Google Cloud Storage (GCS). You can either set the
+`GOOGLE_APPLICATION_CREDENTIALS_JSON` env variable to your JSON credentials or use `opts` in
+`NewGcsFS` to configure access to your GCS bucket.
+
+Some known limitations of the existing implementation:
+* No Chmod support - The GCS ACL could probably be mapped to *nix style permissions but that would add another level of complexity and is ignored in this version.
+* No Chtimes support - Could be simulated with attributes (gcs a/m-times are set implicitly) but that's is left for another version.
+* Not thread safe - Also assumes all file operations are done through the same instance of the GcsFs. File operations between different GcsFs instances are not guaranteed to be consistent.
+
+
## Filtering Backends
### BasePathFs
diff --git a/vendor/github.com/spf13/afero/cacheOnReadFs.go b/vendor/github.com/spf13/afero/cacheOnReadFs.go
index 71471aa25..017d344fd 100644
--- a/vendor/github.com/spf13/afero/cacheOnReadFs.go
+++ b/vendor/github.com/spf13/afero/cacheOnReadFs.go
@@ -75,6 +75,10 @@ func (u *CacheOnReadFs) copyToLayer(name string) error {
return copyToLayer(u.base, u.layer, name)
}
+func (u *CacheOnReadFs) copyFileToLayer(name string, flag int, perm os.FileMode) error {
+ return copyFileToLayer(u.base, u.layer, name, flag, perm)
+}
+
func (u *CacheOnReadFs) Chtimes(name string, atime, mtime time.Time) error {
st, _, err := u.cacheStatus(name)
if err != nil {
@@ -212,7 +216,7 @@ func (u *CacheOnReadFs) OpenFile(name string, flag int, perm os.FileMode) (File,
switch st {
case cacheLocal, cacheHit:
default:
- if err := u.copyToLayer(name); err != nil {
+ if err := u.copyFileToLayer(name, flag, perm); err != nil {
return nil, err
}
}
diff --git a/vendor/github.com/spf13/afero/go.mod b/vendor/github.com/spf13/afero/go.mod
index abe4fe1cf..b77ae4145 100644
--- a/vendor/github.com/spf13/afero/go.mod
+++ b/vendor/github.com/spf13/afero/go.mod
@@ -1,9 +1,13 @@
module github.com/spf13/afero
require (
- github.com/pkg/sftp v1.10.1
- golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586
- golang.org/x/text v0.3.3
+ cloud.google.com/go/storage v1.14.0
+ github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8
+ github.com/pkg/sftp v1.13.1
+ golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa
+ golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99
+ golang.org/x/text v0.3.4
+ google.golang.org/api v0.40.0
)
go 1.13
diff --git a/vendor/github.com/spf13/afero/go.sum b/vendor/github.com/spf13/afero/go.sum
index 89d9bfbc4..5d5dc8017 100644
--- a/vendor/github.com/spf13/afero/go.sum
+++ b/vendor/github.com/spf13/afero/go.sum
@@ -1,29 +1,466 @@
+cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
+cloud.google.com/go v0.38.0/go.mod h1:990N+gfupTy94rShfmMCWGDn0LpTmnzTp2qbd1dvSRU=
+cloud.google.com/go v0.44.1/go.mod h1:iSa0KzasP4Uvy3f1mN/7PiObzGgflwredwwASm/v6AU=
+cloud.google.com/go v0.44.2/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.44.3/go.mod h1:60680Gw3Yr4ikxnPRS/oxxkBccT6SA1yMk63TGekxKY=
+cloud.google.com/go v0.45.1/go.mod h1:RpBamKRgapWJb87xiFSdk4g1CME7QZg3uwTez+TSTjc=
+cloud.google.com/go v0.46.3/go.mod h1:a6bKKbmY7er1mI7TEI4lsAkts/mkhTSZK8w33B4RAg0=
+cloud.google.com/go v0.50.0/go.mod h1:r9sluTvynVuxRIOHXQEHMFffphuXHOMZMycpNR5e6To=
+cloud.google.com/go v0.52.0/go.mod h1:pXajvRH/6o3+F9jDHZWQ5PbGhn+o8w9qiu/CffaVdO4=
+cloud.google.com/go v0.53.0/go.mod h1:fp/UouUEsRkN6ryDKNW/Upv/JBKnv6WDthjR6+vze6M=
+cloud.google.com/go v0.54.0/go.mod h1:1rq2OEkV3YMf6n/9ZvGWI3GWw0VoqH/1x2nd8Is/bPc=
+cloud.google.com/go v0.56.0/go.mod h1:jr7tqZxxKOVYizybht9+26Z/gUq7tiRzu+ACVAMbKVk=
+cloud.google.com/go v0.57.0/go.mod h1:oXiQ6Rzq3RAkkY7N6t3TcE6jE+CIBBbA36lwQ1JyzZs=
+cloud.google.com/go v0.62.0/go.mod h1:jmCYTdRCQuc1PHIIJ/maLInMho30T/Y0M4hTdTShOYc=
+cloud.google.com/go v0.65.0/go.mod h1:O5N8zS7uWy9vkA9vayVHs65eM1ubvY4h553ofrNHObY=
+cloud.google.com/go v0.72.0/go.mod h1:M+5Vjvlc2wnp6tjzE102Dw08nGShTscUx2nZMufOKPI=
+cloud.google.com/go v0.74.0/go.mod h1:VV1xSbzvo+9QJOxLDaJfTjx5e+MePCpCWwvftOeQmWk=
+cloud.google.com/go v0.75.0 h1:XgtDnVJRCPEUG21gjFiRPz4zI1Mjg16R+NYQjfmU4XY=
+cloud.google.com/go v0.75.0/go.mod h1:VGuuCn7PG0dwsd5XPVm2Mm3wlh3EL55/79EKB6hlPTY=
+cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o=
+cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE=
+cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc=
+cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg=
+cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc=
+cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ=
+cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE=
+cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk=
+cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I=
+cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw=
+cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA=
+cloud.google.com/go/pubsub v1.3.1/go.mod h1:i+ucay31+CNRpDW4Lu78I4xXG+O1r/MAHgjpRVR+TSU=
+cloud.google.com/go/storage v1.0.0/go.mod h1:IhtSnM/ZTZV8YYJWCY8RULGVqBDmpoyjwiyrjsg+URw=
+cloud.google.com/go/storage v1.5.0/go.mod h1:tpKbwo567HUNpVclU5sGELwQWBDZ8gh0ZeosJ0Rtdos=
+cloud.google.com/go/storage v1.6.0/go.mod h1:N7U0C8pVQ/+NIKOBQyamJIeKQKkZ+mxpohlUTyfDhBk=
+cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RXyy7KQOVs=
+cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0=
+cloud.google.com/go/storage v1.14.0 h1:6RRlFMv1omScs6iq2hfE3IvgE+l6RfJPampq8UZc5TU=
+cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo=
+dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
+github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
+github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
+github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
+github.com/chzyer/logex v1.1.10/go.mod h1:+Ywpsq7O8HXn0nuIou7OrIPyXbp3wmkHB+jjWRnGsAI=
+github.com/chzyer/readline v0.0.0-20180603132655-2972be24d48e/go.mod h1:nSuG5e5PlCu98SY8svDHJxuZscDgtXS6KTTbou5AhLI=
+github.com/chzyer/test v0.0.0-20180213035817-a1ea475d72b1/go.mod h1:Q3SI9o4m/ZMnBNeIyt5eFwwo7qiLfzFZmjNmxjkiQlU=
+github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
+github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
+github.com/cncf/udpa/go v0.0.0-20200629203442-efcf912fb354/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
+github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
+github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
+github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
+github.com/envoyproxy/go-control-plane v0.9.7/go.mod h1:cwu0lG7PUMfa9snN8LXBig5ynNVH9qI8YYLbd1fK2po=
+github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
+github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
+github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
+github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q=
+github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e h1:1r7pUrabqp18hOBcwBwiTsbnFeTZHV9eER/QT5JVZxY=
+github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc=
+github.com/golang/mock v1.1.1/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.2.0/go.mod h1:oTYuIxOrZwtPieC+H1uAHpcLFnEyAGVDL/k47Jfbm0A=
+github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFUx0Y=
+github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw=
+github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4=
+github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U=
+github.com/golang/protobuf v1.3.3/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.4/go.mod h1:vzj43D7+SQXF/4pzW/hwtAqwc6iTitCiVSaWz5lYuqw=
+github.com/golang/protobuf v1.3.5/go.mod h1:6O5/vntMXwX2lRkT1hjjk0nAC1IDOTvTlVgjlRvqsdk=
+github.com/golang/protobuf v1.4.0-rc.1/go.mod h1:ceaxUfeHdC40wWswd/P6IGgMaK3YpKi5j83Wpe3EHw8=
+github.com/golang/protobuf v1.4.0-rc.1.0.20200221234624-67d41d38c208/go.mod h1:xKAWHe0F5eneWXFV3EuXVDTCmh+JuBKY0li0aMyXATA=
+github.com/golang/protobuf v1.4.0-rc.2/go.mod h1:LlEzMj4AhA7rCAGe4KMBDvJI+AwstrUpVNzEA03Pprs=
+github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:WU3c8KckQ9AFe+yFwt9sWVRKCVIyN9cPHBJSNnbL67w=
+github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
+github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
+github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
+github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/google/btree v0.0.0-20180813153112-4030bb1f1f0c/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/btree v1.0.0/go.mod h1:lNA+9X1NB3Zf8V7Ke586lFgjr2dZNuvo3lPJSGZ5JPQ=
+github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
+github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
+github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.4.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
+github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/martian v2.1.0+incompatible h1:/CP5g8u/VJHijgedC/Legn3BAbAaWPgecwXBIDzw5no=
+github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
+github.com/google/martian/v3 v3.0.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/martian/v3 v3.1.0 h1:wCKgOCHuUEVfsaQLpPSJb7VdYCdTVZQAuOdYm1yc/60=
+github.com/google/martian/v3 v3.1.0/go.mod h1:y5Zk1BBys9G+gd6Jrk0W3cC1+ELVxBWuIGO+w/tUAp0=
+github.com/google/pprof v0.0.0-20181206194817-3ea8567a2e57/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20190515194954-54271f7e092f/go.mod h1:zfwlbNMJ+OItoe0UupaVj+oy1omPYYDuagoSzA8v9mc=
+github.com/google/pprof v0.0.0-20191218002539-d4f498aebedc/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200212024743-f11f1df84d12/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200229191704-1ebb73c60ed3/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200430221834-fc25d7d30c6d/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20200708004538-1a94d8640e99/go.mod h1:ZgVRPoUq/hfqzAqh7sHMqb3I9Rq5C59dIz2SbBwJ4eM=
+github.com/google/pprof v0.0.0-20201023163331-3e6fc7fc9c4c/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201203190320-1bf35d6f28c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/pprof v0.0.0-20201218002935-b9804c9f04c2/go.mod h1:kpwsk12EmLew5upagYY7GY0pfYCcupk39gWOCRROcvE=
+github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI=
+github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
+github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg=
+github.com/googleapis/gax-go/v2 v2.0.5 h1:sjZBwGj9Jlw33ImPtvFviGYvseOtDM7hkSKB7+Tv3SM=
+github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8 h1:tlyzajkF3030q6M8SvmJSemC9DTHL/xaMa18b65+JM4=
+github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g=
+github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8=
+github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc=
+github.com/jstemmer/go-junit-report v0.0.0-20190106144839-af01ea7f8024/go.mod h1:6v2b51hI/fHJwM22ozAgKL4VKDeJcHhJFhtBdhmNjmU=
+github.com/jstemmer/go-junit-report v0.9.1 h1:6QPYqodiu3GuPL+7mfx+NwDdp2eTkp9IfEUpgAwUN0o=
+github.com/jstemmer/go-junit-report v0.9.1/go.mod h1:Brl9GWCQeLvo8nXZwPNNblvFj/XSXhF0NWZEnDohbsk=
+github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck=
github.com/kr/fs v0.1.0 h1:Jskdu9ieNAYnjxsi0LbQp1ulIKZV1LAFgK1tWhpZgl8=
github.com/kr/fs v0.1.0/go.mod h1:FFnZGqtBN9Gxj7eW1uZ42v5BccTP0vu6NEaFoC2HwRg=
-github.com/pkg/errors v0.8.1 h1:iURUrRGxPUNPdy5/HRSm+Yj6okJ6UtLINN0Q9M4+h3I=
-github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
-github.com/pkg/sftp v1.10.1 h1:VasscCm72135zRysgrJDKsntdmPN+OuU3+nnHYA9wyc=
-github.com/pkg/sftp v1.10.1/go.mod h1:lYOWFsE0bwd1+KfKJaKeuokY15vzFx25BLbzYYoAxZI=
+github.com/kr/pretty v0.1.0 h1:L/CwN0zerZDmRFUapSPitk6f+Q3+0za1rQkzVuMiMFI=
+github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo=
+github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ=
+github.com/kr/text v0.1.0 h1:45sCR5RtlFHMR4UwH9sdQ5TC8v0qDQCHnXt+kaKSTVE=
+github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI=
+github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
+github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=
+github.com/pkg/sftp v1.13.1 h1:I2qBYMChEhIjOgazfJmV3/mZM256btk6wkCDRmW7JYs=
+github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qRg=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
+github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
+github.com/rogpeppe/go-internal v1.3.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.4.0 h1:2E4SXV/wtOkTonXsotYi4li6zVWxYlZuYNCXe9XRJyk=
github.com/stretchr/testify v1.4.0/go.mod h1:j7eGeouHqKxXV5pUuKE4zz7dFj8WfuZ+81PSLYec5m4=
+github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
+github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74=
+go.opencensus.io v0.21.0/go.mod h1:mSImk1erAIZhrmZN+AvHh14ztQfjbGwt4TtuofqLduU=
+go.opencensus.io v0.22.0/go.mod h1:+kGneAE2xo2IficOXnaByMWTGM9T73dGwxeWcUqIpI8=
+go.opencensus.io v0.22.2/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.3/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
+go.opencensus.io v0.22.5 h1:dntmOdLpSpHlVqbW5Eay97DelsZHe+55D+xC6i0dDS0=
+go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
-golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586 h1:7KByu05hhLed2MO29w7p1XfZvZ13m8mub3shuVftRs0=
-golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
+golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
+golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm1hfPfRQxPLYneinmdGuTeoZ9dtd4=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa h1:idItI2DDfCokpg0N51B2VtiLdJ4vAuXC9fnCb2gACo4=
+golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
+golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
+golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
+golang.org/x/exp v0.0.0-20190829153037-c13cbed26979/go.mod h1:86+5VVa7VpoJ4kLfm080zCjGlMRFzhUhsZKEZO7MGek=
+golang.org/x/exp v0.0.0-20191030013958-a1ab85dbe136/go.mod h1:JXzH8nQsPlswgeRAPE3MuO9GYsAcnJvJ4vnMwN/5qkY=
+golang.org/x/exp v0.0.0-20191129062945-2f5052295587/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20191227195350-da58074b4299/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200119233911-0405dc783f0a/go.mod h1:2RIsYlXP63K8oxa1u096TMicItID8zy7Y6sNkU49FU4=
+golang.org/x/exp v0.0.0-20200207192155-f17229e696bd/go.mod h1:J/WKrq2StrnmMY6+EHIKF9dgMWnmCNThgcyBT1FY9mM=
+golang.org/x/exp v0.0.0-20200224162631-6cc2880d07d6/go.mod h1:3jZMyOhIsHpP37uCMkUooju7aAi5cS1Q23tOzKc+0MU=
+golang.org/x/image v0.0.0-20190227222117-0694c2d4d067/go.mod h1:kZ7UVZpmo3dzQBMxlp+ypCbDeSB+sBbTgSJuh5dn5js=
+golang.org/x/image v0.0.0-20190802002840-cff245a6509b/go.mod h1:FeLwcggjj3mMvU+oOTbSwawSJRM1uh48EjtB4UJZlP0=
+golang.org/x/lint v0.0.0-20181026193005-c67002cb31c3/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190227174305-5b3e6a55c961/go.mod h1:wehouNa3lNwaWXcvxsM5YxQ5yQlVC4a0KAMCusXpPoU=
+golang.org/x/lint v0.0.0-20190301231843-5614ed5bae6f/go.mod h1:UVdnD1Gm6xHRNCYTkRU2/jEulfH38KcIWyp/GAMgvoE=
+golang.org/x/lint v0.0.0-20190313153728-d0100b6bd8b3/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190409202823-959b441ac422/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190909230951-414d861bb4ac/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc=
+golang.org/x/lint v0.0.0-20191125180803-fdd1cda4f05f/go.mod h1:5qLYkcX4OjUUV8bRuDixDT3tpyyb+LUpUlRWLxfhWrs=
+golang.org/x/lint v0.0.0-20200130185559-910be7a94367/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5 h1:2M3HP5CCK1Si9FQhwnzYhXdG6DXeebvUHFpre8QvbyI=
+golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY=
+golang.org/x/mobile v0.0.0-20190312151609-d3739f865fa6/go.mod h1:z+o9i4GpDbdi3rU15maQ/Ox0txvL9dWGYEHz965HBQE=
+golang.org/x/mobile v0.0.0-20190719004257-d2bd2a29d028/go.mod h1:E/iHnbuqvinMTCcRqshq8CkpyQDoeVncDDYHnLhea+o=
+golang.org/x/mod v0.0.0-20190513183733-4bf6d317e70e/go.mod h1:mXi4GBBbnImb6dmsKGUJ2LatrhH/nqhxcFungHvyanc=
+golang.org/x/mod v0.1.0/go.mod h1:0QHyrYULN0/3qlju5TqG8bIK38QM8yzMo5ekMj3DlcY=
+golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.1.1-0.20191107180719-034126e5016b/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg=
+golang.org/x/mod v0.2.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.3.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/mod v0.4.1 h1:Kvvh58BN8Y9/lBi7hTekvtMpm07eUZ0ck5pRHpsMWrY=
+golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA=
+golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190108225652-1e06a53dbb7e/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190213061140-3a22650c66bd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4=
+golang.org/x/net v0.0.0-20190311183353-d8887717615a/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
golang.org/x/net v0.0.0-20190404232315-eb5bcb51f2a3/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190501004415-9ce7a6920f09/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190503192946-f4e77d36d62c/go.mod h1:t9HGtf8HONx5eT2rtn7q6eTqICYqUVnKs3thJo3Qplg=
+golang.org/x/net v0.0.0-20190603091049-60506f45cf65/go.mod h1:HSz+uSET+XFnRR8LxR5pz3Of3rY3CfYBVs4xY44aLks=
+golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200202094626-16171245cfb2/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200222125558-5a598a2470a0/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200301022130-244492dfa37a/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s=
+golang.org/x/net v0.0.0-20200324143707-d3edc9973b7e/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200501053045-e0ff5e5a1de5/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200506145744-7e3656a0809f/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
+golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
+golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110 h1:qWPm9rbaAMKs8Bq/9LRpbMqxWRVUAQwMI9fVrssnTfw=
+golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
+golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
+golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20191202225959-858c2ad4c8b6/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
+golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201109201403-9fd604954f58/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20201208152858-08078c50e5b5/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99 h1:5vD4XjIc0X5+kHZjx4UecYdjA6mJo+XXNoaW0EjU5Os=
+golang.org/x/oauth2 v0.0.0-20210218202405-ba52d332ba99/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A=
+golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190227155943-e225da77a7e6/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200317015054-43a5402ce75a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
+golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
-golang.org/x/sys v0.0.0-20190412213103-97732733099d h1:+R4KGOnez64A81RvjARKc4UT5/tI9ujCIVX+P5KiHuI=
+golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
-golang.org/x/text v0.3.0 h1:g61tztE5qeGQ89tm6NTjjM9VPIm088od1l6aSorWRWg=
+golang.org/x/sys v0.0.0-20190502145724-3ef323f4f1fd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190507160741-ecd444e8653b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190606165138-5da285871e9c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191204072324-ce4227a45e2e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20191228213918-04cbcbbfeed8/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200113162924-86b910548bc1/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200122134326-e047566fdf82/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200202164722-d101bd2416d5/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200212091648-12a6c2dcc1e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200223170610-d5e6a3e2c0ae/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200302150141-5c8b2ff67527/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200331124033-c3d80250170d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200501052902-10377860bb8e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200905004654-be1d3432aa8f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20200930185726-fdedc70b468f/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201119102817-f84b799fce68/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20201201145000-ef89a241ccb3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1 h1:SrN+KX8Art/Sf4HNj6Zcz06G7VEz+7w9tdXTPOZ7+l4=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1 h1:v+OssWQX+hTHEmOBgwxdZxK4zHq3yOs8F9J7mk0PY8E=
+golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
+golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
-golang.org/x/text v0.3.3 h1:cokOdA+Jmi5PJGXLlLllQSgYigAEfHXJAERHVMaCc2k=
+golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
+golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.4 h1:0YWbFKbhXG/wIiuHDSKpS0Iy7FSA+u45VtBMfQcFTTc=
+golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
+golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
-gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
+golang.org/x/tools v0.0.0-20190114222345-bf090417da8b/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=
+golang.org/x/tools v0.0.0-20190226205152-f727befe758c/go.mod h1:9Yl7xja0Znq3iFh3HoIrodX9oNMXvdceNzlUR8zjMvY=
+golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312151545-0bb0c0a6e846/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190312170243-e65039ee4138/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs=
+golang.org/x/tools v0.0.0-20190425150028-36563e24a262/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190506145303-2d16b83fe98c/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190524140312-2c0ae7006135/go.mod h1:RgjU9mgBXZiqYHBnxXauZ1Gv1EHHAz9KjViQ78xBX0Q=
+golang.org/x/tools v0.0.0-20190606124116-d0a3d012864b/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190621195816-6e04913cbbac/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc=
+golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191113191852-77e3bb0ad9e7/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191115202509-3a792d9c32b2/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191119224855-298f0cb1881e/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191125144606-a911d9008d1f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191130070609-6e064ea0cf2d/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo=
+golang.org/x/tools v0.0.0-20191216173652-a0e659d51361/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20191227053925-7b8e75db28f4/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200117161641-43d50277825c/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200122220014-bf1340f18c4a/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200130002326-2f3ba24bd6e7/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200204074204-1cc6d1ef6c74/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200207183749-b753a1ba74fa/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200212150539-ea181f53ac56/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200224181240-023911ca70b2/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200227222343-706bc42d1f0d/go.mod h1:TB2adYChydJhpapKDTa4BR/hXlZSLoq2Wpct/0txZ28=
+golang.org/x/tools v0.0.0-20200304193943-95d2e580d8eb/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200312045724-11d5b4c81c7d/go.mod h1:o4KQGtdN14AW+yjsvvwRTJJuXz8XRtIHtEnmAXLyFUw=
+golang.org/x/tools v0.0.0-20200331025713-a30bf2db82d4/go.mod h1:Sl4aGygMT6LrqrWclx+PTx3U+LnKx/seiNR+3G19Ar8=
+golang.org/x/tools v0.0.0-20200501065659-ab2804fb9c9d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200512131952-2bc93b1c0c88/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200515010526-7d3b6ebf133d/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200618134242-20370b0cb4b2/go.mod h1:EkVYQZoAsY45+roYkvgYkIh4xh/qjgUK9TdY2XT94GE=
+golang.org/x/tools v0.0.0-20200729194436-6467de6f59a7/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200804011535-6c149bb5ef0d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200825202427-b303f430e36d/go.mod h1:njjCfa9FT2d7l9Bc6FUM5FLjQPp3cFF28FI3qnDFljA=
+golang.org/x/tools v0.0.0-20200904185747-39188db58858/go.mod h1:Cj7w3i3Rnn0Xh82ur9kSqwfTHTeVxaDqrfMjpcNT6bE=
+golang.org/x/tools v0.0.0-20201110124207-079ba7bd75cd/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201201161351-ac6f37ff4c2a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20201208233053-a543418bbed2/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA=
+golang.org/x/tools v0.1.0 h1:po9/4sTYwZU9lPhi1tOrb4hCv3qrhiQ77LZfGa2OjwY=
+golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0=
+golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191011141410-1b5146add898/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1 h1:go1bK/D/BFZV2I8cIQd1NKEZ+0owSTG1fDTci4IqFcE=
+golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0=
+google.golang.org/api v0.4.0/go.mod h1:8k5glujaEP+g9n7WNsDg8QP6cUVNI86fCNMcbazEtwE=
+google.golang.org/api v0.7.0/go.mod h1:WtwebWUNSVBH/HAw79HIFXZNqEvBhG+Ra+ax0hx3E3M=
+google.golang.org/api v0.8.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.9.0/go.mod h1:o4eAsZoiT+ibD93RtjEohWalFOjRDx6CVaqeizhEnKg=
+google.golang.org/api v0.13.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.14.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.15.0/go.mod h1:iLdEw5Ide6rF15KTC1Kkl0iskquN2gFfn9o9XIsbkAI=
+google.golang.org/api v0.17.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.18.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.19.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.20.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.22.0/go.mod h1:BwFmGc8tA3vsd7r/7kR8DY7iEEGSU04BFxCo5jP/sfE=
+google.golang.org/api v0.24.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.28.0/go.mod h1:lIXQywCXRcnZPGlsd8NbLnOjtAoL6em04bJ9+z0MncE=
+google.golang.org/api v0.29.0/go.mod h1:Lcubydp8VUV7KeIHD9z2Bys/sm/vGKnG1UHuDBSrHWM=
+google.golang.org/api v0.30.0/go.mod h1:QGmEvQ87FHZNiUVJkT14jQNYJ4ZJjdRF23ZXz5138Fc=
+google.golang.org/api v0.35.0/go.mod h1:/XrVsuzM0rZmrsbjJutiuftIzeuTQcEeaYcSk/mQ1dg=
+google.golang.org/api v0.36.0/go.mod h1:+z5ficQTmoYpPn8LCUNVpK5I7hwkpjbcgqA7I34qYtE=
+google.golang.org/api v0.40.0 h1:uWrpz12dpVPn7cojP82mk02XDgTJLDPc2KbVTxrWb4A=
+google.golang.org/api v0.40.0/go.mod h1:fYKFpnQN0DsDSKRVRcQSDQNtqWPfM9i+zNPxepjRCQ8=
+google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM=
+google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4=
+google.golang.org/appengine v1.6.1/go.mod h1:i06prIuMbXzDqacNJfV5OdTW448YApPu5ww/cMBSeb0=
+google.golang.org/appengine v1.6.5/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.6/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6c=
+google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc=
+google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc=
+google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE=
+google.golang.org/genproto v0.0.0-20190801165951-fa694d86fc64/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190819201941-24fa4b261c55/go.mod h1:DMBHOl98Agz4BDEuKkezgsaosCRResVns1a3J2ZsMNc=
+google.golang.org/genproto v0.0.0-20190911173649-1774047e7e51/go.mod h1:IbNlFCBrqXvoKpeg0TB2l7cyZUmoaFKYIwrEpbDKLA8=
+google.golang.org/genproto v0.0.0-20191108220845-16a3f7862a1a/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191115194625-c23dd37a84c9/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191216164720-4f79533eabd1/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20191230161307-f3c370f40bfb/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200115191322-ca5a22157cba/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200122232147-0452cf42e150/go.mod h1:n3cpQtvxv34hfy77yVDNjmbRyujviMdxYliBSkLhpCc=
+google.golang.org/genproto v0.0.0-20200204135345-fa8e72b47b90/go.mod h1:GmwEX6Z4W5gMy59cAlVYjN9JhxgbQH6Gn+gFDQe2lzA=
+google.golang.org/genproto v0.0.0-20200212174721-66ed5ce911ce/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200224152610-e50cd9704f63/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200228133532-8c2c7df3a383/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200305110556-506484158171/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200312145019-da6875a35672/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200331122359-1ee6d9798940/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200430143042-b979b6f78d84/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200511104702-f5ebc3bea380/go.mod h1:55QSHmfGQM9UVYDPBsyGGes0y52j32PQ3BqQfXhyH3c=
+google.golang.org/genproto v0.0.0-20200515170657-fc4c6c6a6587/go.mod h1:YsZOwe1myG/8QRHRsmBRE1LrgQY60beZKjly0O1fX9U=
+google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013/go.mod h1:NbSheEEYHJ7i3ixzK3sjbqSGDJWnxyFXZblF3eUsNvo=
+google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA=
+google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201201144952-b05cb90ed32e/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201210142538-e3217bee35cc/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20201214200347-8c77b98c765d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210108203827-ffc7fda8c3d7/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705 h1:PYBmACG+YEv8uQPW0r1kJj8tR+gkF0UWq7iFdUezwEw=
+google.golang.org/genproto v0.0.0-20210226172003-ab064af71705/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no=
+google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c=
+google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38=
+google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM=
+google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg=
+google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY=
+google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.27.1/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk=
+google.golang.org/grpc v1.28.0/go.mod h1:rpkK4SK4GF4Ach/+MFLZUBavHOvF2JJB5uozKKal+60=
+google.golang.org/grpc v1.29.1/go.mod h1:itym6AZVZYACWQqET3MqgPpjcuV5QH3BxFS3IjizoKk=
+google.golang.org/grpc v1.30.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
+google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
+google.golang.org/grpc v1.34.0/go.mod h1:WotjhfgOW/POjDeRt8vscBtXq+2VjORFy659qA51WJ8=
+google.golang.org/grpc v1.35.0 h1:TwIQcH3es+MojMVojxxfQ3l3OF2KzlRxML2xZq0kRo8=
+google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
+google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
+google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
+google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
+google.golang.org/protobuf v1.20.1-0.20200309200217-e05f789c0967/go.mod h1:A+miEFZTKqfCUM6K7xSMQL9OKL/b6hQv+e19PK+JZNE=
+google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzikPIcrTAo=
+google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
+google.golang.org/protobuf v1.24.0/go.mod h1:r/3tXBNzIEhYS9I1OUVjXDlt8tc493IdKGjtUeSXeh4=
+google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
+google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
-gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127 h1:qIbj1fsPNlZgppZ+VLlY7N33q108Sa+fhmuc+sWQYwY=
+gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/errgo.v2 v2.1.0/go.mod h1:hNsd1EY+bozCKY1Ytp96fpM3vjJbqLJn88ws8XvfDNI=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
+honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190106161140-3f1c8253044a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190418001031-e561f6794a2a/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
+honnef.co/go/tools v0.0.1-2019.2.3/go.mod h1:a3bituU0lyd329TUQxRnasdCoJDkEUEAqEt0JzvZhAg=
+honnef.co/go/tools v0.0.1-2020.1.3/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9vFzvIQ3k=
+rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
+rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
+rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA=
diff --git a/vendor/github.com/spf13/afero/mem/file.go b/vendor/github.com/spf13/afero/mem/file.go
index 5a20730c2..5ef8b6a39 100644
--- a/vendor/github.com/spf13/afero/mem/file.go
+++ b/vendor/github.com/spf13/afero/mem/file.go
@@ -71,7 +71,7 @@ func CreateFile(name string) *FileData {
}
func CreateDir(name string) *FileData {
- return &FileData{name: name, memDir: &DirMap{}, dir: true}
+ return &FileData{name: name, memDir: &DirMap{}, dir: true, modtime: time.Now()}
}
func ChangeFileName(f *FileData, newname string) {
diff --git a/vendor/github.com/spf13/afero/memmap.go b/vendor/github.com/spf13/afero/memmap.go
index 5c265f92b..ea0798d87 100644
--- a/vendor/github.com/spf13/afero/memmap.go
+++ b/vendor/github.com/spf13/afero/memmap.go
@@ -279,7 +279,7 @@ func (m *MemMapFs) RemoveAll(path string) error {
defer m.mu.RUnlock()
for p := range m.getData() {
- if strings.HasPrefix(p, path) {
+ if p == path || strings.HasPrefix(p, path+FilePathSeparator) {
m.mu.RUnlock()
m.mu.Lock()
delete(m.getData(), p)
diff --git a/vendor/github.com/spf13/afero/unionFile.go b/vendor/github.com/spf13/afero/unionFile.go
index 985363eea..34f99a40c 100644
--- a/vendor/github.com/spf13/afero/unionFile.go
+++ b/vendor/github.com/spf13/afero/unionFile.go
@@ -268,13 +268,7 @@ func (f *UnionFile) WriteString(s string) (n int, err error) {
return 0, BADFD
}
-func copyToLayer(base Fs, layer Fs, name string) error {
- bfh, err := base.Open(name)
- if err != nil {
- return err
- }
- defer bfh.Close()
-
+func copyFile(base Fs, layer Fs, name string, bfh File) error {
// First make sure the directory exists
exists, err := Exists(layer, filepath.Dir(name))
if err != nil {
@@ -315,3 +309,23 @@ func copyToLayer(base Fs, layer Fs, name string) error {
}
return layer.Chtimes(name, bfi.ModTime(), bfi.ModTime())
}
+
+func copyToLayer(base Fs, layer Fs, name string) error {
+ bfh, err := base.Open(name)
+ if err != nil {
+ return err
+ }
+ defer bfh.Close()
+
+ return copyFile(base, layer, name, bfh)
+}
+
+func copyFileToLayer(base Fs, layer Fs, name string, flag int, perm os.FileMode) error {
+ bfh, err := base.OpenFile(name, flag, perm)
+ if err != nil {
+ return err
+ }
+ defer bfh.Close()
+
+ return copyFile(base, layer, name, bfh)
+}
diff --git a/vendor/github.com/zclconf/go-cty/cty/primitive_type.go b/vendor/github.com/zclconf/go-cty/cty/primitive_type.go
index 7b3d1196c..603901732 100644
--- a/vendor/github.com/zclconf/go-cty/cty/primitive_type.go
+++ b/vendor/github.com/zclconf/go-cty/cty/primitive_type.go
@@ -52,6 +52,51 @@ func (t primitiveType) GoString() string {
}
}
+// rawNumberEqual is our cty-specific definition of whether two big floats
+// underlying cty.Number are "equal" for the purposes of the Value.Equals and
+// Value.RawEquals methods.
+//
+// The built-in equality for big.Float is a direct comparison of the mantissa
+// bits and the exponent, but that's too precise a check for cty because we
+// routinely send numbers through decimal approximations and back and so
+// we only promise to accurately represent the subset of binary floating point
+// numbers that can be derived from a decimal string representation.
+//
+// In respect of the fact that cty only tries to preserve numbers that can
+// reasonably be written in JSON documents, we use the string representation of
+// a decimal approximation of the number as our comparison, relying on the
+// big.Float type's heuristic for discarding extraneous mantissa bits that seem
+// likely to only be there as a result of an earlier decimal-to-binary
+// approximation during parsing, e.g. in ParseNumberVal.
+func rawNumberEqual(a, b *big.Float) bool {
+ switch {
+ case (a == nil) != (b == nil):
+ return false
+ case a == nil: // b == nil too then, due to previous case
+ return true
+ default:
+ // This format and precision matches that used by cty/json.Marshal,
+ // and thus achieves our definition of "two numbers are equal if
+ // we'd use the same JSON serialization for both of them".
+ const format = 'f'
+ const prec = -1
+ aStr := a.Text(format, prec)
+ bStr := b.Text(format, prec)
+
+ // The one exception to our rule about equality-by-stringification is
+ // negative zero, because we want -0 to always be equal to +0.
+ const posZero = "0"
+ const negZero = "-0"
+ if aStr == negZero {
+ aStr = posZero
+ }
+ if bStr == negZero {
+ bStr = posZero
+ }
+ return aStr == bStr
+ }
+}
+
// Number is the numeric type. Number values are arbitrary-precision
// decimal numbers, which can then be converted into Go's various numeric
// types only if they are in the appropriate range.
diff --git a/vendor/github.com/zclconf/go-cty/cty/value_ops.go b/vendor/github.com/zclconf/go-cty/cty/value_ops.go
index 55bebe036..cdcc1506f 100644
--- a/vendor/github.com/zclconf/go-cty/cty/value_ops.go
+++ b/vendor/github.com/zclconf/go-cty/cty/value_ops.go
@@ -191,7 +191,7 @@ func (val Value) Equals(other Value) Value {
switch {
case ty == Number:
- result = val.v.(*big.Float).Cmp(other.v.(*big.Float)) == 0
+ result = rawNumberEqual(val.v.(*big.Float), other.v.(*big.Float))
case ty == Bool:
result = val.v.(bool) == other.v.(bool)
case ty == String:
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bson.go b/vendor/go.mongodb.org/mongo-driver/bson/bson.go
index 0c739dd0a..95ffc1078 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bson.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bson.go
@@ -7,8 +7,6 @@
// Based on gopkg.in/mgo.v2/bson by Gustavo Niemeyer
// See THIRD-PARTY-NOTICES for original license terms.
-// +build go1.9
-
package bson // import "go.mongodb.org/mongo-driver/bson"
import (
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bson_1_8.go b/vendor/go.mongodb.org/mongo-driver/bson/bson_1_8.go
deleted file mode 100644
index bbe779284..000000000
--- a/vendor/go.mongodb.org/mongo-driver/bson/bson_1_8.go
+++ /dev/null
@@ -1,81 +0,0 @@
-// Copyright (C) MongoDB, Inc. 2017-present.
-//
-// Licensed under the Apache License, Version 2.0 (the "License"); you may
-// not use this file except in compliance with the License. You may obtain
-// a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
-
-// +build !go1.9
-
-package bson // import "go.mongodb.org/mongo-driver/bson"
-
-import (
- "math"
- "strconv"
- "strings"
-)
-
-// Zeroer allows custom struct types to implement a report of zero
-// state. All struct types that don't implement Zeroer or where IsZero
-// returns false are considered to be not zero.
-type Zeroer interface {
- IsZero() bool
-}
-
-// D is an ordered representation of a BSON document. This type should be used when the order of the elements matters,
-// such as MongoDB command documents. If the order of the elements does not matter, an M should be used instead.
-//
-// Example usage:
-//
-// bson.D{{"foo", "bar"}, {"hello", "world"}, {"pi", 3.14159}}
-type D []E
-
-// Map creates a map from the elements of the D.
-func (d D) Map() M {
- m := make(M, len(d))
- for _, e := range d {
- m[e.Key] = e.Value
- }
- return m
-}
-
-// E represents a BSON element for a D. It is usually used inside a D.
-type E struct {
- Key string
- Value interface{}
-}
-
-// M is an unordered representation of a BSON document. This type should be used when the order of the elements does not
-// matter. This type is handled as a regular map[string]interface{} when encoding and decoding. Elements will be
-// serialized in an undefined, random order. If the order of the elements matters, a D should be used instead.
-//
-// Example usage:
-//
-// bson.M{"foo": "bar", "hello": "world", "pi": 3.14159}
-type M map[string]interface{}
-
-// An A is an ordered representation of a BSON array.
-//
-// Example usage:
-//
-// bson.A{"bar", "world", 3.14159, bson.D{{"qux", 12345}}}
-type A []interface{}
-
-func formatDouble(f float64) string {
- var s string
- if math.IsInf(f, 1) {
- s = "Infinity"
- } else if math.IsInf(f, -1) {
- s = "-Infinity"
- } else if math.IsNaN(f) {
- s = "NaN"
- } else {
- // Print exactly one decimalType place for integers; otherwise, print as many are necessary to
- // perfectly represent it.
- s = strconv.FormatFloat(f, 'G', -1, 64)
- if !strings.ContainsRune(s, '.') {
- s += ".0"
- }
- }
-
- return s
-}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go
index 49a0c3f14..6bdb43cb4 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/default_value_encoders.go
@@ -30,7 +30,7 @@ var errInvalidValue = errors.New("cannot encode invalid element")
var sliceWriterPool = sync.Pool{
New: func() interface{} {
- sw := make(bsonrw.SliceWriter, 0, 0)
+ sw := make(bsonrw.SliceWriter, 0)
return &sw
},
}
@@ -333,14 +333,7 @@ func (dve DefaultValueEncoders) mapEncodeValue(ec EncodeContext, dw bsonrw.Docum
continue
}
- if enc, ok := currEncoder.(ValueEncoder); ok {
- err = enc.EncodeValue(ec, vw, currVal)
- if err != nil {
- return err
- }
- continue
- }
- err = encoder.EncodeValue(ec, vw, currVal)
+ err = currEncoder.EncodeValue(ec, vw, currVal)
if err != nil {
return err
}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go
index fbb8ef427..1f7acbcf1 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/map_codec.go
@@ -126,14 +126,7 @@ func (mc *MapCodec) mapEncodeValue(ec EncodeContext, dw bsonrw.DocumentWriter, v
continue
}
- if enc, ok := currEncoder.(ValueEncoder); ok {
- err = enc.EncodeValue(ec, vw, currVal)
- if err != nil {
- return err
- }
- continue
- }
- err = encoder.EncodeValue(ec, vw, currVal)
+ err = currEncoder.EncodeValue(ec, vw, currVal)
if err != nil {
return err
}
@@ -265,17 +258,15 @@ func (mc *MapCodec) decodeKey(key string, keyType reflect.Type) (reflect.Value,
case reflect.String:
keyVal = reflect.ValueOf(key).Convert(keyType)
case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64:
- s := string(key)
- n, parseErr := strconv.ParseInt(s, 10, 64)
+ n, parseErr := strconv.ParseInt(key, 10, 64)
if parseErr != nil || reflect.Zero(keyType).OverflowInt(n) {
- err = fmt.Errorf("failed to unmarshal number key %v", s)
+ err = fmt.Errorf("failed to unmarshal number key %v", key)
}
keyVal = reflect.ValueOf(n).Convert(keyType)
case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr:
- s := string(key)
- n, parseErr := strconv.ParseUint(s, 10, 64)
+ n, parseErr := strconv.ParseUint(key, 10, 64)
if parseErr != nil || reflect.Zero(keyType).OverflowUint(n) {
- err = fmt.Errorf("failed to unmarshal number key %v", s)
+ err = fmt.Errorf("failed to unmarshal number key %v", key)
break
}
keyVal = reflect.ValueOf(n).Convert(keyType)
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go
index 60abffb24..02b9341ff 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/registry.go
@@ -54,12 +54,6 @@ func (entme ErrNoTypeMapEntry) Error() string {
// ErrNotInterface is returned when the provided type is not an interface.
var ErrNotInterface = errors.New("The provided type is not an interface")
-var defaultRegistry *Registry
-
-func init() {
- defaultRegistry = buildDefaultRegistry()
-}
-
// A RegistryBuilder is used to build a Registry. This type is not goroutine
// safe.
type RegistryBuilder struct {
@@ -374,7 +368,7 @@ func (r *Registry) lookupInterfaceEncoder(t reflect.Type, allowAddr bool) (Value
// in interfaceEncoders
defaultEnc, found := r.lookupInterfaceEncoder(t, false)
if !found {
- defaultEnc, _ = r.kindEncoders[t.Kind()]
+ defaultEnc = r.kindEncoders[t.Kind()]
}
return newCondAddrEncoder(ienc.ve, defaultEnc), true
}
@@ -445,7 +439,7 @@ func (r *Registry) lookupInterfaceDecoder(t reflect.Type, allowAddr bool) (Value
// in interfaceDecoders
defaultDec, found := r.lookupInterfaceDecoder(t, false)
if !found {
- defaultDec, _ = r.kindDecoders[t.Kind()]
+ defaultDec = r.kindDecoders[t.Kind()]
}
return newCondAddrDecoder(idec.vd, defaultDec), true
}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go
index 9ce901782..be3f2081e 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/struct_codec.go
@@ -331,14 +331,7 @@ func (sc *StructCodec) DecodeValue(r DecodeContext, vr bsonrw.ValueReader, val r
return newDecodeError(fd.name, ErrNoDecoder{Type: field.Elem().Type()})
}
- if decoder, ok := fd.decoder.(ValueDecoder); ok {
- err = decoder.DecodeValue(dctx, vr, field.Elem())
- if err != nil {
- return newDecodeError(fd.name, err)
- }
- continue
- }
- err = fd.decoder.DecodeValue(dctx, vr, field)
+ err = fd.decoder.DecodeValue(dctx, vr, field.Elem())
if err != nil {
return newDecodeError(fd.name, err)
}
@@ -567,7 +560,7 @@ func (sc *StructCodec) describeStruct(r *Registry, t reflect.Type) (*structDescr
}
dominant, ok := dominantField(fields[i : i+advance])
if !ok || !sc.OverwriteDuplicatedInlinedFields {
- return nil, fmt.Errorf("struct %s) duplicated key %s", t.String(), name)
+ return nil, fmt.Errorf("struct %s has duplicated key %s", t.String(), name)
}
sd.fl = append(sd.fl, dominant)
sd.fm[name] = dominant
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go
index fb5b51084..07f4b70e6 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsoncodec/types.go
@@ -16,36 +16,12 @@ import (
"go.mongodb.org/mongo-driver/x/bsonx/bsoncore"
)
-var ptBool = reflect.TypeOf((*bool)(nil))
-var ptInt8 = reflect.TypeOf((*int8)(nil))
-var ptInt16 = reflect.TypeOf((*int16)(nil))
-var ptInt32 = reflect.TypeOf((*int32)(nil))
-var ptInt64 = reflect.TypeOf((*int64)(nil))
-var ptInt = reflect.TypeOf((*int)(nil))
-var ptUint8 = reflect.TypeOf((*uint8)(nil))
-var ptUint16 = reflect.TypeOf((*uint16)(nil))
-var ptUint32 = reflect.TypeOf((*uint32)(nil))
-var ptUint64 = reflect.TypeOf((*uint64)(nil))
-var ptUint = reflect.TypeOf((*uint)(nil))
-var ptFloat32 = reflect.TypeOf((*float32)(nil))
-var ptFloat64 = reflect.TypeOf((*float64)(nil))
-var ptString = reflect.TypeOf((*string)(nil))
-
var tBool = reflect.TypeOf(false)
-var tFloat32 = reflect.TypeOf(float32(0))
var tFloat64 = reflect.TypeOf(float64(0))
-var tInt = reflect.TypeOf(int(0))
-var tInt8 = reflect.TypeOf(int8(0))
-var tInt16 = reflect.TypeOf(int16(0))
var tInt32 = reflect.TypeOf(int32(0))
var tInt64 = reflect.TypeOf(int64(0))
var tString = reflect.TypeOf("")
var tTime = reflect.TypeOf(time.Time{})
-var tUint = reflect.TypeOf(uint(0))
-var tUint8 = reflect.TypeOf(uint8(0))
-var tUint16 = reflect.TypeOf(uint16(0))
-var tUint32 = reflect.TypeOf(uint32(0))
-var tUint64 = reflect.TypeOf(uint64(0))
var tEmpty = reflect.TypeOf((*interface{})(nil)).Elem()
var tByteSlice = reflect.TypeOf([]byte(nil))
@@ -74,7 +50,6 @@ var tDecimal = reflect.TypeOf(primitive.Decimal128{})
var tMinKey = reflect.TypeOf(primitive.MinKey{})
var tMaxKey = reflect.TypeOf(primitive.MaxKey{})
var tD = reflect.TypeOf(primitive.D{})
-var tM = reflect.TypeOf(primitive.M{})
var tA = reflect.TypeOf(primitive.A{})
var tE = reflect.TypeOf(primitive.E{})
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go
index 3af6fcf01..969570424 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_wrappers.go
@@ -19,7 +19,7 @@ import (
)
func wrapperKeyBSONType(key string) bsontype.Type {
- switch string(key) {
+ switch key {
case "$numberInt":
return bsontype.Int32
case "$numberLong":
@@ -269,7 +269,7 @@ func (ejv *extJSONValue) parseDouble() (float64, error) {
return 0, fmt.Errorf("$numberDouble value should be string, but instead is %s", ejv.t)
}
- switch string(ejv.v.(string)) {
+ switch ejv.v.(string) {
case "Infinity":
return math.Inf(1), nil
case "-Infinity":
@@ -364,7 +364,7 @@ func (ejv *extJSONValue) parseRegex() (pattern, options string, err error) {
for i, key := range regexObj.keys {
val := regexObj.values[i]
- switch string(key) {
+ switch key {
case "pattern":
if patFound {
return "", "", errors.New("duplicate pattern key in $regularExpression")
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go
index 605e41a13..99ed524b7 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/extjson_writer.go
@@ -10,7 +10,6 @@ import (
"bytes"
"encoding/base64"
"fmt"
- "go.mongodb.org/mongo-driver/bson/primitive"
"io"
"math"
"sort"
@@ -19,13 +18,9 @@ import (
"sync"
"time"
"unicode/utf8"
-)
-var ejvwPool = sync.Pool{
- New: func() interface{} {
- return new(extJSONValueWriter)
- },
-}
+ "go.mongodb.org/mongo-driver/bson/primitive"
+)
// ExtJSONValueWriterPool is a pool for ExtJSON ValueWriters.
type ExtJSONValueWriterPool struct {
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go
index 55378093a..5e147373b 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/value_reader.go
@@ -790,16 +790,6 @@ func (vr *valueReader) readCString() (string, error) {
return string(vr.d[start : start+int64(idx)]), nil
}
-func (vr *valueReader) skipCString() error {
- idx := bytes.IndexByte(vr.d[vr.offset:], 0x00)
- if idx < 0 {
- return io.EOF
- }
- // idx does not include the null byte
- vr.offset += int64(idx) + 1
- return nil
-}
-
func (vr *valueReader) readString() (string, error) {
length, err := vr.readLength()
if err != nil {
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go
index 7644df129..dff65f87f 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsonrw/writer.go
@@ -76,27 +76,3 @@ func (sw *SliceWriter) Write(p []byte) (int, error) {
*sw = append(*sw, p...)
return written, nil
}
-
-type writer []byte
-
-func (w *writer) Write(p []byte) (int, error) {
- index := len(*w)
- return w.WriteAt(p, int64(index))
-}
-
-func (w *writer) WriteAt(p []byte, off int64) (int, error) {
- newend := off + int64(len(p))
- if newend < int64(len(*w)) {
- newend = int64(len(*w))
- }
-
- if newend > int64(cap(*w)) {
- buf := make([]byte, int64(2*cap(*w))+newend)
- copy(buf, *w)
- *w = buf
- }
-
- *w = []byte(*w)[:newend]
- copy([]byte(*w)[off:], p)
- return len(p), nil
-}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go b/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go
index 63a59ca08..7c91ae518 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/bsontype/bsontype.go
@@ -38,6 +38,8 @@ const (
BinaryUUIDOld byte = 0x03
BinaryUUID byte = 0x04
BinaryMD5 byte = 0x05
+ BinaryEncrypted byte = 0x06
+ BinaryColumn byte = 0x07
BinaryUserDefined byte = 0x80
)
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/marshal.go b/vendor/go.mongodb.org/mongo-driver/bson/marshal.go
index 8d8fc8ce1..79f038581 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/marshal.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/marshal.go
@@ -7,6 +7,9 @@
package bson
import (
+ "bytes"
+ "encoding/json"
+
"go.mongodb.org/mongo-driver/bson/bsoncodec"
"go.mongodb.org/mongo-driver/bson/bsonrw"
"go.mongodb.org/mongo-driver/bson/bsontype"
@@ -221,3 +224,22 @@ func MarshalExtJSONAppendWithContext(ec bsoncodec.EncodeContext, dst []byte, val
return *sw, nil
}
+
+func IndentExtJSON(dst *bytes.Buffer, src []byte, prefix, indent string) error {
+ return json.Indent(dst, src, prefix, indent)
+}
+
+func MarshalExtJSONIndent(val interface{}, canonical, escapeHTML bool, prefix, indent string) ([]byte, error) {
+ marshaled, err := MarshalExtJSON(val, canonical, escapeHTML)
+ if err != nil {
+ return nil, err
+ }
+
+ var buf bytes.Buffer
+ err = IndentExtJSON(&buf, marshaled, prefix, indent)
+ if err != nil {
+ return nil, err
+ }
+
+ return buf.Bytes(), nil
+}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go
index a57e1d698..ffe4eed07 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/primitive/decimal.go
@@ -133,11 +133,9 @@ Loop:
}
// BigInt returns significand as big.Int and exponent, bi * 10 ^ exp.
-func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
+func (d Decimal128) BigInt() (*big.Int, int, error) {
high, low := d.GetBytes()
- var posSign bool // positive sign
-
- posSign = high>>63&1 == 0
+ posSign := high>>63&1 == 0 // positive sign
switch high >> 58 & (1<<5 - 1) {
case 0x1F:
@@ -149,6 +147,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
return nil, 0, ErrParseNegInf
}
+ var exp int
if high>>61&3 == 3 {
// Bits: 1*sign 2*ignored 14*exponent 111*significand.
// Implicit 0b100 prefix in significand.
@@ -171,7 +170,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
return new(big.Int), 0, nil
}
- bi = big.NewInt(0)
+ bi := big.NewInt(0)
const host32bit = ^uint(0)>>32 == 0
if host32bit {
bi.SetBits([]big.Word{big.Word(low), big.Word(low >> 32), big.Word(high), big.Word(high >> 32)})
@@ -182,7 +181,7 @@ func (d Decimal128) BigInt() (bi *big.Int, exp int, err error) {
if !posSign {
return bi.Neg(bi), exp, nil
}
- return
+ return bi, exp, nil
}
// IsNaN returns whether d is NaN.
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go
index a5a7d7c69..652898fea 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/primitive/objectid.go
@@ -10,8 +10,8 @@
package primitive
import (
- "bytes"
"crypto/rand"
+ "encoding"
"encoding/binary"
"encoding/hex"
"encoding/json"
@@ -34,6 +34,9 @@ var NilObjectID ObjectID
var objectIDCounter = readRandomUint32()
var processUnique = processUniqueBytes()
+var _ encoding.TextMarshaler = ObjectID{}
+var _ encoding.TextUnmarshaler = &ObjectID{}
+
// NewObjectID generates a new ObjectID.
func NewObjectID() ObjectID {
return NewObjectIDFromTimestamp(time.Now())
@@ -67,7 +70,7 @@ func (id ObjectID) String() string {
// IsZero returns true if id is the empty ObjectID.
func (id ObjectID) IsZero() bool {
- return bytes.Equal(id[:], NilObjectID[:])
+ return id == NilObjectID
}
// ObjectIDFromHex creates a new ObjectID from a hex string. It returns an error if the hex string is not a
@@ -83,7 +86,7 @@ func ObjectIDFromHex(s string) (ObjectID, error) {
}
var oid [12]byte
- copy(oid[:], b[:])
+ copy(oid[:], b)
return oid, nil
}
@@ -94,6 +97,23 @@ func IsValidObjectID(s string) bool {
return err == nil
}
+// MarshalText returns the ObjectID as UTF-8-encoded text. Implementing this allows us to use ObjectID
+// as a map key when marshalling JSON. See https://pkg.go.dev/encoding#TextMarshaler
+func (id ObjectID) MarshalText() ([]byte, error) {
+ return []byte(id.Hex()), nil
+}
+
+// UnmarshalText populates the byte slice with the ObjectID. Implementing this allows us to use ObjectID
+// as a map key when unmarshalling JSON. See https://pkg.go.dev/encoding#TextUnmarshaler
+func (id *ObjectID) UnmarshalText(b []byte) error {
+ oid, err := ObjectIDFromHex(string(b))
+ if err != nil {
+ return err
+ }
+ *id = oid
+ return nil
+}
+
// MarshalJSON returns the ObjectID as a string
func (id ObjectID) MarshalJSON() ([]byte, error) {
return json.Marshal(id.Hex())
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go
index 51984e223..b3cba1bf9 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/primitive/primitive.go
@@ -111,7 +111,7 @@ func (d DBPointer) String() string {
// Equal compares d to d2 and returns true if they are equal.
func (d DBPointer) Equal(d2 DBPointer) bool {
- return d.DB == d2.DB && bytes.Equal(d.Pointer[:], d2.Pointer[:])
+ return d == d2
}
// IsZero returns if d is the empty DBPointer.
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go b/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go
index f397fa2d5..1cbe3884d 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/primitive_codecs.go
@@ -14,6 +14,9 @@ import (
"go.mongodb.org/mongo-driver/bson/bsonrw"
)
+var tRawValue = reflect.TypeOf(RawValue{})
+var tRaw = reflect.TypeOf(Raw(nil))
+
var primitiveCodecs PrimitiveCodecs
// PrimitiveCodecs is a namespace for all of the default bsoncodec.Codecs for the primitive types
@@ -87,25 +90,3 @@ func (PrimitiveCodecs) RawDecodeValue(dc bsoncodec.DecodeContext, vr bsonrw.Valu
val.Set(reflect.ValueOf(rdr))
return err
}
-
-func (pc PrimitiveCodecs) encodeRaw(ec bsoncodec.EncodeContext, dw bsonrw.DocumentWriter, raw Raw) error {
- var copier bsonrw.Copier
- elems, err := raw.Elements()
- if err != nil {
- return err
- }
- for _, elem := range elems {
- dvw, err := dw.WriteDocumentElement(elem.Key())
- if err != nil {
- return err
- }
-
- val := elem.Value()
- err = copier.CopyValueFromBytes(dvw, val.Type, val.Value)
- if err != nil {
- return err
- }
- }
-
- return dw.WriteDocumentEnd()
-}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/raw.go b/vendor/go.mongodb.org/mongo-driver/bson/raw.go
index 2aae9f56a..efd705daa 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/raw.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/raw.go
@@ -15,7 +15,6 @@ import (
// ErrNilReader indicates that an operation was attempted on a nil bson.Reader.
var ErrNilReader = errors.New("nil reader")
-var errValidateDone = errors.New("validation loop complete")
// Raw is a wrapper around a byte slice. It will interpret the slice as a
// BSON document. This type is a wrapper around a bsoncore.Document. Errors returned from the
@@ -84,9 +83,3 @@ func (r Raw) IndexErr(index uint) (RawElement, error) {
// String implements the fmt.Stringer interface.
func (r Raw) String() string { return bsoncore.Document(r).String() }
-
-// readi32 is a helper function for reading an int32 from slice of bytes.
-func readi32(b []byte) int32 {
- _ = b[3] // bounds check hint to compiler; see golang.org/issue/14808
- return int32(b[0]) | int32(b[1])<<8 | int32(b[2])<<16 | int32(b[3])<<24
-}
diff --git a/vendor/go.mongodb.org/mongo-driver/bson/types.go b/vendor/go.mongodb.org/mongo-driver/bson/types.go
index bf91f691a..13a1c35cf 100644
--- a/vendor/go.mongodb.org/mongo-driver/bson/types.go
+++ b/vendor/go.mongodb.org/mongo-driver/bson/types.go
@@ -7,11 +7,7 @@
package bson
import (
- "reflect"
- "time"
-
"go.mongodb.org/mongo-driver/bson/bsontype"
- "go.mongodb.org/mongo-driver/bson/primitive"
)
// These constants uniquely refer to each BSON type.
@@ -38,48 +34,3 @@ const (
TypeMinKey = bsontype.MinKey
TypeMaxKey = bsontype.MaxKey
)
-
-var tBinary = reflect.TypeOf(primitive.Binary{})
-var tBool = reflect.TypeOf(false)
-var tCodeWithScope = reflect.TypeOf(primitive.CodeWithScope{})
-var tDBPointer = reflect.TypeOf(primitive.DBPointer{})
-var tDecimal = reflect.TypeOf(primitive.Decimal128{})
-var tD = reflect.TypeOf(D{})
-var tA = reflect.TypeOf(A{})
-var tDateTime = reflect.TypeOf(primitive.DateTime(0))
-var tUndefined = reflect.TypeOf(primitive.Undefined{})
-var tNull = reflect.TypeOf(primitive.Null{})
-var tRawValue = reflect.TypeOf(RawValue{})
-var tFloat32 = reflect.TypeOf(float32(0))
-var tFloat64 = reflect.TypeOf(float64(0))
-var tInt = reflect.TypeOf(int(0))
-var tInt8 = reflect.TypeOf(int8(0))
-var tInt16 = reflect.TypeOf(int16(0))
-var tInt32 = reflect.TypeOf(int32(0))
-var tInt64 = reflect.TypeOf(int64(0))
-var tJavaScript = reflect.TypeOf(primitive.JavaScript(""))
-var tOID = reflect.TypeOf(primitive.ObjectID{})
-var tRaw = reflect.TypeOf(Raw(nil))
-var tRegex = reflect.TypeOf(primitive.Regex{})
-var tString = reflect.TypeOf("")
-var tSymbol = reflect.TypeOf(primitive.Symbol(""))
-var tTime = reflect.TypeOf(time.Time{})
-var tTimestamp = reflect.TypeOf(primitive.Timestamp{})
-var tUint = reflect.TypeOf(uint(0))
-var tUint8 = reflect.TypeOf(uint8(0))
-var tUint16 = reflect.TypeOf(uint16(0))
-var tUint32 = reflect.TypeOf(uint32(0))
-var tUint64 = reflect.TypeOf(uint64(0))
-var tMinKey = reflect.TypeOf(primitive.MinKey{})
-var tMaxKey = reflect.TypeOf(primitive.MaxKey{})
-
-var tEmpty = reflect.TypeOf((*interface{})(nil)).Elem()
-var tEmptySlice = reflect.TypeOf([]interface{}(nil))
-
-var zeroVal reflect.Value
-
-// this references the quantity of milliseconds between zero time and
-// the unix epoch. useful for making sure that we convert time.Time
-// objects correctly to match the legacy bson library's handling of
-// time.Time values.
-const zeroEpochMs = int64(62135596800000)
diff --git a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go
index ed95233d9..54aa617cf 100644
--- a/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go
+++ b/vendor/go.mongodb.org/mongo-driver/x/bsonx/bsoncore/value.go
@@ -602,7 +602,7 @@ func (v Value) Time() time.Time {
if !ok {
panic(NewInsufficientBytesError(v.Data, v.Data))
}
- return time.Unix(int64(dt)/1000, int64(dt)%1000*1000000)
+ return time.Unix(dt/1000, dt%1000*1000000)
}
// TimeOK is the same as Time, except it returns a boolean instead of
@@ -615,7 +615,7 @@ func (v Value) TimeOK() (time.Time, bool) {
if !ok {
return time.Time{}, false
}
- return time.Unix(int64(dt)/1000, int64(dt)%1000*1000000), true
+ return time.Unix(dt/1000, dt%1000*1000000), true
}
// Regex returns the BSON regex value the Value represents. It panics if the value is a BSON
diff --git a/vendor/golang.org/x/net/http2/client_conn_pool.go b/vendor/golang.org/x/net/http2/client_conn_pool.go
index 652bc11a0..c936843ea 100644
--- a/vendor/golang.org/x/net/http2/client_conn_pool.go
+++ b/vendor/golang.org/x/net/http2/client_conn_pool.go
@@ -16,6 +16,12 @@ import (
// ClientConnPool manages a pool of HTTP/2 client connections.
type ClientConnPool interface {
+ // GetClientConn returns a specific HTTP/2 connection (usually
+ // a TLS-TCP connection) to an HTTP/2 server. On success, the
+ // returned ClientConn accounts for the upcoming RoundTrip
+ // call, so the caller should not omit it. If the caller needs
+ // to, ClientConn.RoundTrip can be called with a bogus
+ // new(http.Request) to release the stream reservation.
GetClientConn(req *http.Request, addr string) (*ClientConn, error)
MarkDead(*ClientConn)
}
@@ -42,7 +48,7 @@ type clientConnPool struct {
conns map[string][]*ClientConn // key is host:port
dialing map[string]*dialCall // currently in-flight dials
keys map[*ClientConn][]string
- addConnCalls map[string]*addConnCall // in-flight addConnIfNeede calls
+ addConnCalls map[string]*addConnCall // in-flight addConnIfNeeded calls
}
func (p *clientConnPool) GetClientConn(req *http.Request, addr string) (*ClientConn, error) {
@@ -54,28 +60,8 @@ const (
noDialOnMiss = false
)
-// shouldTraceGetConn reports whether getClientConn should call any
-// ClientTrace.GetConn hook associated with the http.Request.
-//
-// This complexity is needed to avoid double calls of the GetConn hook
-// during the back-and-forth between net/http and x/net/http2 (when the
-// net/http.Transport is upgraded to also speak http2), as well as support
-// the case where x/net/http2 is being used directly.
-func (p *clientConnPool) shouldTraceGetConn(st clientConnIdleState) bool {
- // If our Transport wasn't made via ConfigureTransport, always
- // trace the GetConn hook if provided, because that means the
- // http2 package is being used directly and it's the one
- // dialing, as opposed to net/http.
- if _, ok := p.t.ConnPool.(noDialClientConnPool); !ok {
- return true
- }
- // Otherwise, only use the GetConn hook if this connection has
- // been used previously for other requests. For fresh
- // connections, the net/http package does the dialing.
- return !st.freshConn
-}
-
func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMiss bool) (*ClientConn, error) {
+ // TODO(dneil): Dial a new connection when t.DisableKeepAlives is set?
if isConnectionCloseRequest(req) && dialOnMiss {
// It gets its own connection.
traceGetConn(req, addr)
@@ -89,10 +75,14 @@ func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMis
for {
p.mu.Lock()
for _, cc := range p.conns[addr] {
- if st := cc.idleState(); st.canTakeNewRequest {
- if p.shouldTraceGetConn(st) {
+ if cc.ReserveNewRequest() {
+ // When a connection is presented to us by the net/http package,
+ // the GetConn hook has already been called.
+ // Don't call it a second time here.
+ if !cc.getConnCalled {
traceGetConn(req, addr)
}
+ cc.getConnCalled = false
p.mu.Unlock()
return cc, nil
}
@@ -108,7 +98,13 @@ func (p *clientConnPool) getClientConn(req *http.Request, addr string, dialOnMis
if shouldRetryDial(call, req) {
continue
}
- return call.res, call.err
+ cc, err := call.res, call.err
+ if err != nil {
+ return nil, err
+ }
+ if cc.ReserveNewRequest() {
+ return cc, nil
+ }
}
}
@@ -205,6 +201,7 @@ func (c *addConnCall) run(t *Transport, key string, tc *tls.Conn) {
if err != nil {
c.err = err
} else {
+ cc.getConnCalled = true // already called by the net/http package
p.addConnLocked(key, cc)
}
delete(p.addConnCalls, key)
diff --git a/vendor/golang.org/x/net/http2/frame.go b/vendor/golang.org/x/net/http2/frame.go
index b95d6f2df..96a747905 100644
--- a/vendor/golang.org/x/net/http2/frame.go
+++ b/vendor/golang.org/x/net/http2/frame.go
@@ -122,7 +122,7 @@ var flagName = map[FrameType]map[Flags]string{
// a frameParser parses a frame given its FrameHeader and payload
// bytes. The length of payload will always equal fh.Length (which
// might be 0).
-type frameParser func(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error)
+type frameParser func(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error)
var frameParsers = map[FrameType]frameParser{
FrameData: parseDataFrame,
@@ -267,6 +267,11 @@ type Framer struct {
lastFrame Frame
errDetail error
+ // countError is a non-nil func that's called on a frame parse
+ // error with some unique error path token. It's initialized
+ // from Transport.CountError or Server.CountError.
+ countError func(errToken string)
+
// lastHeaderStream is non-zero if the last frame was an
// unfinished HEADERS/CONTINUATION.
lastHeaderStream uint32
@@ -426,6 +431,7 @@ func NewFramer(w io.Writer, r io.Reader) *Framer {
fr := &Framer{
w: w,
r: r,
+ countError: func(string) {},
logReads: logFrameReads,
logWrites: logFrameWrites,
debugReadLoggerf: log.Printf,
@@ -500,7 +506,7 @@ func (fr *Framer) ReadFrame() (Frame, error) {
if _, err := io.ReadFull(fr.r, payload); err != nil {
return nil, err
}
- f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, payload)
+ f, err := typeFrameParser(fh.Type)(fr.frameCache, fh, fr.countError, payload)
if err != nil {
if ce, ok := err.(connError); ok {
return nil, fr.connError(ce.Code, ce.Reason)
@@ -588,13 +594,14 @@ func (f *DataFrame) Data() []byte {
return f.data
}
-func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, error) {
+func parseDataFrame(fc *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) {
if fh.StreamID == 0 {
// DATA frames MUST be associated with a stream. If a
// DATA frame is received whose stream identifier
// field is 0x0, the recipient MUST respond with a
// connection error (Section 5.4.1) of type
// PROTOCOL_ERROR.
+ countError("frame_data_stream_0")
return nil, connError{ErrCodeProtocol, "DATA frame with stream ID 0"}
}
f := fc.getDataFrame()
@@ -605,6 +612,7 @@ func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, erro
var err error
payload, padSize, err = readByte(payload)
if err != nil {
+ countError("frame_data_pad_byte_short")
return nil, err
}
}
@@ -613,6 +621,7 @@ func parseDataFrame(fc *frameCache, fh FrameHeader, payload []byte) (Frame, erro
// length of the frame payload, the recipient MUST
// treat this as a connection error.
// Filed: https://github.com/http2/http2-spec/issues/610
+ countError("frame_data_pad_too_big")
return nil, connError{ErrCodeProtocol, "pad size larger than data payload"}
}
f.data = payload[:len(payload)-int(padSize)]
@@ -695,7 +704,7 @@ type SettingsFrame struct {
p []byte
}
-func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseSettingsFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
if fh.Flags.Has(FlagSettingsAck) && fh.Length > 0 {
// When this (ACK 0x1) bit is set, the payload of the
// SETTINGS frame MUST be empty. Receipt of a
@@ -703,6 +712,7 @@ func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error)
// field value other than 0 MUST be treated as a
// connection error (Section 5.4.1) of type
// FRAME_SIZE_ERROR.
+ countError("frame_settings_ack_with_length")
return nil, ConnectionError(ErrCodeFrameSize)
}
if fh.StreamID != 0 {
@@ -713,14 +723,17 @@ func parseSettingsFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error)
// field is anything other than 0x0, the endpoint MUST
// respond with a connection error (Section 5.4.1) of
// type PROTOCOL_ERROR.
+ countError("frame_settings_has_stream")
return nil, ConnectionError(ErrCodeProtocol)
}
if len(p)%6 != 0 {
+ countError("frame_settings_mod_6")
// Expecting even number of 6 byte settings.
return nil, ConnectionError(ErrCodeFrameSize)
}
f := &SettingsFrame{FrameHeader: fh, p: p}
if v, ok := f.Value(SettingInitialWindowSize); ok && v > (1<<31)-1 {
+ countError("frame_settings_window_size_too_big")
// Values above the maximum flow control window size of 2^31 - 1 MUST
// be treated as a connection error (Section 5.4.1) of type
// FLOW_CONTROL_ERROR.
@@ -832,11 +845,13 @@ type PingFrame struct {
func (f *PingFrame) IsAck() bool { return f.Flags.Has(FlagPingAck) }
-func parsePingFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {
+func parsePingFrame(_ *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) {
if len(payload) != 8 {
+ countError("frame_ping_length")
return nil, ConnectionError(ErrCodeFrameSize)
}
if fh.StreamID != 0 {
+ countError("frame_ping_has_stream")
return nil, ConnectionError(ErrCodeProtocol)
}
f := &PingFrame{FrameHeader: fh}
@@ -872,11 +887,13 @@ func (f *GoAwayFrame) DebugData() []byte {
return f.debugData
}
-func parseGoAwayFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseGoAwayFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
if fh.StreamID != 0 {
+ countError("frame_goaway_has_stream")
return nil, ConnectionError(ErrCodeProtocol)
}
if len(p) < 8 {
+ countError("frame_goaway_short")
return nil, ConnectionError(ErrCodeFrameSize)
}
return &GoAwayFrame{
@@ -912,7 +929,7 @@ func (f *UnknownFrame) Payload() []byte {
return f.p
}
-func parseUnknownFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseUnknownFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
return &UnknownFrame{fh, p}, nil
}
@@ -923,8 +940,9 @@ type WindowUpdateFrame struct {
Increment uint32 // never read with high bit set
}
-func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
if len(p) != 4 {
+ countError("frame_windowupdate_bad_len")
return nil, ConnectionError(ErrCodeFrameSize)
}
inc := binary.BigEndian.Uint32(p[:4]) & 0x7fffffff // mask off high reserved bit
@@ -936,8 +954,10 @@ func parseWindowUpdateFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, err
// control window MUST be treated as a connection
// error (Section 5.4.1).
if fh.StreamID == 0 {
+ countError("frame_windowupdate_zero_inc_conn")
return nil, ConnectionError(ErrCodeProtocol)
}
+ countError("frame_windowupdate_zero_inc_stream")
return nil, streamError(fh.StreamID, ErrCodeProtocol)
}
return &WindowUpdateFrame{
@@ -988,7 +1008,7 @@ func (f *HeadersFrame) HasPriority() bool {
return f.FrameHeader.Flags.Has(FlagHeadersPriority)
}
-func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {
+func parseHeadersFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (_ Frame, err error) {
hf := &HeadersFrame{
FrameHeader: fh,
}
@@ -997,11 +1017,13 @@ func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err er
// is received whose stream identifier field is 0x0, the recipient MUST
// respond with a connection error (Section 5.4.1) of type
// PROTOCOL_ERROR.
+ countError("frame_headers_zero_stream")
return nil, connError{ErrCodeProtocol, "HEADERS frame with stream ID 0"}
}
var padLength uint8
if fh.Flags.Has(FlagHeadersPadded) {
if p, padLength, err = readByte(p); err != nil {
+ countError("frame_headers_pad_short")
return
}
}
@@ -1009,16 +1031,19 @@ func parseHeadersFrame(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err er
var v uint32
p, v, err = readUint32(p)
if err != nil {
+ countError("frame_headers_prio_short")
return nil, err
}
hf.Priority.StreamDep = v & 0x7fffffff
hf.Priority.Exclusive = (v != hf.Priority.StreamDep) // high bit was set
p, hf.Priority.Weight, err = readByte(p)
if err != nil {
+ countError("frame_headers_prio_weight_short")
return nil, err
}
}
if len(p)-int(padLength) < 0 {
+ countError("frame_headers_pad_too_big")
return nil, streamError(fh.StreamID, ErrCodeProtocol)
}
hf.headerFragBuf = p[:len(p)-int(padLength)]
@@ -1125,11 +1150,13 @@ func (p PriorityParam) IsZero() bool {
return p == PriorityParam{}
}
-func parsePriorityFrame(_ *frameCache, fh FrameHeader, payload []byte) (Frame, error) {
+func parsePriorityFrame(_ *frameCache, fh FrameHeader, countError func(string), payload []byte) (Frame, error) {
if fh.StreamID == 0 {
+ countError("frame_priority_zero_stream")
return nil, connError{ErrCodeProtocol, "PRIORITY frame with stream ID 0"}
}
if len(payload) != 5 {
+ countError("frame_priority_bad_length")
return nil, connError{ErrCodeFrameSize, fmt.Sprintf("PRIORITY frame payload size was %d; want 5", len(payload))}
}
v := binary.BigEndian.Uint32(payload[:4])
@@ -1172,11 +1199,13 @@ type RSTStreamFrame struct {
ErrCode ErrCode
}
-func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseRSTStreamFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
if len(p) != 4 {
+ countError("frame_rststream_bad_len")
return nil, ConnectionError(ErrCodeFrameSize)
}
if fh.StreamID == 0 {
+ countError("frame_rststream_zero_stream")
return nil, ConnectionError(ErrCodeProtocol)
}
return &RSTStreamFrame{fh, ErrCode(binary.BigEndian.Uint32(p[:4]))}, nil
@@ -1202,8 +1231,9 @@ type ContinuationFrame struct {
headerFragBuf []byte
}
-func parseContinuationFrame(_ *frameCache, fh FrameHeader, p []byte) (Frame, error) {
+func parseContinuationFrame(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (Frame, error) {
if fh.StreamID == 0 {
+ countError("frame_continuation_zero_stream")
return nil, connError{ErrCodeProtocol, "CONTINUATION frame with stream ID 0"}
}
return &ContinuationFrame{fh, p}, nil
@@ -1252,7 +1282,7 @@ func (f *PushPromiseFrame) HeadersEnded() bool {
return f.FrameHeader.Flags.Has(FlagPushPromiseEndHeaders)
}
-func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err error) {
+func parsePushPromise(_ *frameCache, fh FrameHeader, countError func(string), p []byte) (_ Frame, err error) {
pp := &PushPromiseFrame{
FrameHeader: fh,
}
@@ -1263,6 +1293,7 @@ func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err err
// with. If the stream identifier field specifies the value
// 0x0, a recipient MUST respond with a connection error
// (Section 5.4.1) of type PROTOCOL_ERROR.
+ countError("frame_pushpromise_zero_stream")
return nil, ConnectionError(ErrCodeProtocol)
}
// The PUSH_PROMISE frame includes optional padding.
@@ -1270,18 +1301,21 @@ func parsePushPromise(_ *frameCache, fh FrameHeader, p []byte) (_ Frame, err err
var padLength uint8
if fh.Flags.Has(FlagPushPromisePadded) {
if p, padLength, err = readByte(p); err != nil {
+ countError("frame_pushpromise_pad_short")
return
}
}
p, pp.PromiseID, err = readUint32(p)
if err != nil {
+ countError("frame_pushpromise_promiseid_short")
return
}
pp.PromiseID = pp.PromiseID & (1<<31 - 1)
if int(padLength) > len(p) {
// like the DATA frame, error out if padding is longer than the body.
+ countError("frame_pushpromise_pad_too_big")
return nil, ConnectionError(ErrCodeProtocol)
}
pp.headerFragBuf = p[:len(p)-int(padLength)]
diff --git a/vendor/golang.org/x/net/http2/go118.go b/vendor/golang.org/x/net/http2/go118.go
new file mode 100644
index 000000000..aca4b2b31
--- /dev/null
+++ b/vendor/golang.org/x/net/http2/go118.go
@@ -0,0 +1,17 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.18
+// +build go1.18
+
+package http2
+
+import (
+ "crypto/tls"
+ "net"
+)
+
+func tlsUnderlyingConn(tc *tls.Conn) net.Conn {
+ return tc.NetConn()
+}
diff --git a/vendor/golang.org/x/net/http2/hpack/huffman.go b/vendor/golang.org/x/net/http2/hpack/huffman.go
index a1ab2f056..fe0b84ccd 100644
--- a/vendor/golang.org/x/net/http2/hpack/huffman.go
+++ b/vendor/golang.org/x/net/http2/hpack/huffman.go
@@ -140,25 +140,29 @@ func buildRootHuffmanNode() {
panic("unexpected size")
}
lazyRootHuffmanNode = newInternalNode()
- for i, code := range huffmanCodes {
- addDecoderNode(byte(i), code, huffmanCodeLen[i])
- }
-}
+ // allocate a leaf node for each of the 256 symbols
+ leaves := new([256]node)
+
+ for sym, code := range huffmanCodes {
+ codeLen := huffmanCodeLen[sym]
+
+ cur := lazyRootHuffmanNode
+ for codeLen > 8 {
+ codeLen -= 8
+ i := uint8(code >> codeLen)
+ if cur.children[i] == nil {
+ cur.children[i] = newInternalNode()
+ }
+ cur = cur.children[i]
+ }
+ shift := 8 - codeLen
+ start, end := int(uint8(code< 8 {
- codeLen -= 8
- i := uint8(code >> codeLen)
- if cur.children[i] == nil {
- cur.children[i] = newInternalNode()
+ leaves[sym].sym = byte(sym)
+ leaves[sym].codeLen = codeLen
+ for i := start; i < start+end; i++ {
+ cur.children[i] = &leaves[sym]
}
- cur = cur.children[i]
- }
- shift := 8 - codeLen
- start, end := int(uint8(code< 0 && errors.Is(err, os.ErrDeadlineExceeded) {
+ // Keep extending the deadline so long as we're making progress.
+ continue
+ }
+ if sew.timeout != 0 {
+ sew.conn.SetWriteDeadline(time.Time{})
+ }
+ *sew.err = err
+ return n, err
+ }
}
// noCachedConnError is the concrete type of ErrNoCachedConn, which
@@ -504,10 +496,9 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
}
reused := !atomic.CompareAndSwapUint32(&cc.reused, 0, 1)
traceGotConn(req, cc, reused)
- body := req.Body
- res, gotErrAfterReqBodyWrite, err := cc.roundTrip(req)
+ res, err := cc.RoundTrip(req)
if err != nil && retry <= 6 {
- if req, err = shouldRetryRequest(req, err, gotErrAfterReqBodyWrite); err == nil {
+ if req, err = shouldRetryRequest(req, err); err == nil {
// After the first retry, do exponential backoff with 10% jitter.
if retry == 0 {
continue
@@ -524,11 +515,6 @@ func (t *Transport) RoundTripOpt(req *http.Request, opt RoundTripOpt) (*http.Res
}
if err != nil {
t.vlogf("RoundTrip failure: %v", err)
- // If the error occurred after the body write started,
- // the body writer will close the body. Otherwise, do so here.
- if body != nil && !gotErrAfterReqBodyWrite {
- body.Close()
- }
return nil, err
}
return res, nil
@@ -554,7 +540,7 @@ var (
// response headers. It is always called with a non-nil error.
// It returns either a request to retry (either the same request, or a
// modified clone), or an error if the request can't be replayed.
-func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*http.Request, error) {
+func shouldRetryRequest(req *http.Request, err error) (*http.Request, error) {
if !canRetryError(err) {
return nil, err
}
@@ -567,7 +553,6 @@ func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*htt
// If the request body can be reset back to its original
// state via the optional req.GetBody, do that.
if req.GetBody != nil {
- req.Body.Close()
body, err := req.GetBody()
if err != nil {
return nil, err
@@ -579,10 +564,8 @@ func shouldRetryRequest(req *http.Request, err error, afterBodyWrite bool) (*htt
// The Request.Body can't reset back to the beginning, but we
// don't seem to have started to read from it yet, so reuse
- // the request directly. The "afterBodyWrite" means the
- // bodyWrite process has started, which becomes true before
- // the first Read.
- if !afterBodyWrite {
+ // the request directly.
+ if err == errClientConnUnusable {
return req, nil
}
@@ -695,9 +678,16 @@ func (t *Transport) newClientConn(c net.Conn, singleUse bool) (*ClientConn, erro
// TODO: adjust this writer size to account for frame size +
// MTU + crypto/tls record padding.
- cc.bw = bufio.NewWriter(stickyErrWriter{c, &cc.werr})
+ cc.bw = bufio.NewWriter(stickyErrWriter{
+ conn: c,
+ timeout: t.WriteByteTimeout,
+ err: &cc.werr,
+ })
cc.br = bufio.NewReader(c)
cc.fr = NewFramer(cc.bw, cc.br)
+ if t.CountError != nil {
+ cc.fr.countError = t.CountError
+ }
cc.fr.ReadMetaHeaders = hpack.NewDecoder(initialHeaderTableSize, nil)
cc.fr.MaxHeaderListSize = t.maxHeaderListSize()
@@ -745,7 +735,6 @@ func (cc *ClientConn) healthCheck() {
err := cc.Ping(ctx)
if err != nil {
cc.closeForLostPing()
- cc.t.connPool().MarkDead(cc)
return
}
}
@@ -774,27 +763,94 @@ func (cc *ClientConn) setGoAway(f *GoAwayFrame) {
last := f.LastStreamID
for streamID, cs := range cc.streams {
if streamID > last {
- select {
- case cs.resc <- resAndError{err: errClientConnGotGoAway}:
- default:
- }
+ cs.abortStreamLocked(errClientConnGotGoAway)
}
}
}
// CanTakeNewRequest reports whether the connection can take a new request,
// meaning it has not been closed or received or sent a GOAWAY.
+//
+// If the caller is going to immediately make a new request on this
+// connection, use ReserveNewRequest instead.
func (cc *ClientConn) CanTakeNewRequest() bool {
cc.mu.Lock()
defer cc.mu.Unlock()
return cc.canTakeNewRequestLocked()
}
+// ReserveNewRequest is like CanTakeNewRequest but also reserves a
+// concurrent stream in cc. The reservation is decremented on the
+// next call to RoundTrip.
+func (cc *ClientConn) ReserveNewRequest() bool {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ if st := cc.idleStateLocked(); !st.canTakeNewRequest {
+ return false
+ }
+ cc.streamsReserved++
+ return true
+}
+
+// ClientConnState describes the state of a ClientConn.
+type ClientConnState struct {
+ // Closed is whether the connection is closed.
+ Closed bool
+
+ // Closing is whether the connection is in the process of
+ // closing. It may be closing due to shutdown, being a
+ // single-use connection, being marked as DoNotReuse, or
+ // having received a GOAWAY frame.
+ Closing bool
+
+ // StreamsActive is how many streams are active.
+ StreamsActive int
+
+ // StreamsReserved is how many streams have been reserved via
+ // ClientConn.ReserveNewRequest.
+ StreamsReserved int
+
+ // StreamsPending is how many requests have been sent in excess
+ // of the peer's advertised MaxConcurrentStreams setting and
+ // are waiting for other streams to complete.
+ StreamsPending int
+
+ // MaxConcurrentStreams is how many concurrent streams the
+ // peer advertised as acceptable. Zero means no SETTINGS
+ // frame has been received yet.
+ MaxConcurrentStreams uint32
+
+ // LastIdle, if non-zero, is when the connection last
+ // transitioned to idle state.
+ LastIdle time.Time
+}
+
+// State returns a snapshot of cc's state.
+func (cc *ClientConn) State() ClientConnState {
+ cc.wmu.Lock()
+ maxConcurrent := cc.maxConcurrentStreams
+ if !cc.seenSettings {
+ maxConcurrent = 0
+ }
+ cc.wmu.Unlock()
+
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ return ClientConnState{
+ Closed: cc.closed,
+ Closing: cc.closing || cc.singleUse || cc.doNotReuse || cc.goAway != nil,
+ StreamsActive: len(cc.streams),
+ StreamsReserved: cc.streamsReserved,
+ StreamsPending: cc.pendingRequests,
+ LastIdle: cc.lastIdle,
+ MaxConcurrentStreams: maxConcurrent,
+ }
+}
+
// clientConnIdleState describes the suitability of a client
// connection to initiate a new RoundTrip request.
type clientConnIdleState struct {
canTakeNewRequest bool
- freshConn bool // whether it's unused by any previous request
}
func (cc *ClientConn) idleState() clientConnIdleState {
@@ -815,14 +871,13 @@ func (cc *ClientConn) idleStateLocked() (st clientConnIdleState) {
// writing it.
maxConcurrentOkay = true
} else {
- maxConcurrentOkay = int64(len(cc.streams)+1) <= int64(cc.maxConcurrentStreams)
+ maxConcurrentOkay = int64(len(cc.streams)+cc.streamsReserved+1) <= int64(cc.maxConcurrentStreams)
}
st.canTakeNewRequest = cc.goAway == nil && !cc.closed && !cc.closing && maxConcurrentOkay &&
!cc.doNotReuse &&
int64(cc.nextStreamID)+2*int64(cc.pendingRequests) < math.MaxInt32 &&
!cc.tooIdleLocked()
- st.freshConn = cc.nextStreamID == 1 && st.canTakeNewRequest
return
}
@@ -851,9 +906,27 @@ func (cc *ClientConn) onIdleTimeout() {
cc.closeIfIdle()
}
+func (cc *ClientConn) closeConn() error {
+ t := time.AfterFunc(250*time.Millisecond, cc.forceCloseConn)
+ defer t.Stop()
+ return cc.tconn.Close()
+}
+
+// A tls.Conn.Close can hang for a long time if the peer is unresponsive.
+// Try to shut it down more aggressively.
+func (cc *ClientConn) forceCloseConn() {
+ tc, ok := cc.tconn.(*tls.Conn)
+ if !ok {
+ return
+ }
+ if nc := tlsUnderlyingConn(tc); nc != nil {
+ nc.Close()
+ }
+}
+
func (cc *ClientConn) closeIfIdle() {
cc.mu.Lock()
- if len(cc.streams) > 0 {
+ if len(cc.streams) > 0 || cc.streamsReserved > 0 {
cc.mu.Unlock()
return
}
@@ -865,18 +938,24 @@ func (cc *ClientConn) closeIfIdle() {
if VerboseLogs {
cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, nextID-2)
}
- cc.tconn.Close()
+ cc.closeConn()
+}
+
+func (cc *ClientConn) isDoNotReuseAndIdle() bool {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ return cc.doNotReuse && len(cc.streams) == 0
}
var shutdownEnterWaitStateHook = func() {}
-// Shutdown gracefully close the client connection, waiting for running streams to complete.
+// Shutdown gracefully closes the client connection, waiting for running streams to complete.
func (cc *ClientConn) Shutdown(ctx context.Context) error {
if err := cc.sendGoAway(); err != nil {
return err
}
// Wait for all in-flight streams to complete or connection to close
- done := make(chan error, 1)
+ done := make(chan struct{})
cancelled := false // guarded by cc.mu
go func() {
cc.mu.Lock()
@@ -884,7 +963,7 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error {
for {
if len(cc.streams) == 0 || cc.closed {
cc.closed = true
- done <- cc.tconn.Close()
+ close(done)
break
}
if cancelled {
@@ -895,8 +974,8 @@ func (cc *ClientConn) Shutdown(ctx context.Context) error {
}()
shutdownEnterWaitStateHook()
select {
- case err := <-done:
- return err
+ case <-done:
+ return cc.closeConn()
case <-ctx.Done():
cc.mu.Lock()
// Free the goroutine above
@@ -935,23 +1014,13 @@ func (cc *ClientConn) sendGoAway() error {
// err is sent to streams.
func (cc *ClientConn) closeForError(err error) error {
cc.mu.Lock()
- streams := cc.streams
- cc.streams = nil
cc.closed = true
- cc.mu.Unlock()
-
- for _, cs := range streams {
- select {
- case cs.resc <- resAndError{err: err}:
- default:
- }
- cs.bufPipe.CloseWithError(err)
+ for _, cs := range cc.streams {
+ cs.abortStreamLocked(err)
}
-
- cc.mu.Lock()
- defer cc.cond.Broadcast()
- defer cc.mu.Unlock()
- return cc.tconn.Close()
+ cc.cond.Broadcast()
+ cc.mu.Unlock()
+ return cc.closeConn()
}
// Close closes the client connection immediately.
@@ -1032,62 +1101,158 @@ func actualContentLength(req *http.Request) int64 {
return -1
}
-func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
- resp, _, err := cc.roundTrip(req)
- return resp, err
+func (cc *ClientConn) decrStreamReservations() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ cc.decrStreamReservationsLocked()
}
-func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAfterReqBodyWrite bool, err error) {
+func (cc *ClientConn) decrStreamReservationsLocked() {
+ if cc.streamsReserved > 0 {
+ cc.streamsReserved--
+ }
+}
+
+func (cc *ClientConn) RoundTrip(req *http.Request) (*http.Response, error) {
ctx := req.Context()
- if err := checkConnHeaders(req); err != nil {
- return nil, false, err
+ cs := &clientStream{
+ cc: cc,
+ ctx: ctx,
+ reqCancel: req.Cancel,
+ isHead: req.Method == "HEAD",
+ reqBody: req.Body,
+ reqBodyContentLength: actualContentLength(req),
+ trace: httptrace.ContextClientTrace(ctx),
+ peerClosed: make(chan struct{}),
+ abort: make(chan struct{}),
+ respHeaderRecv: make(chan struct{}),
+ donec: make(chan struct{}),
+ }
+ go cs.doRequest(req)
+
+ waitDone := func() error {
+ select {
+ case <-cs.donec:
+ return nil
+ case <-ctx.Done():
+ return ctx.Err()
+ case <-cs.reqCancel:
+ return errRequestCanceled
+ }
}
- if cc.idleTimer != nil {
- cc.idleTimer.Stop()
+
+ handleResponseHeaders := func() (*http.Response, error) {
+ res := cs.res
+ if res.StatusCode > 299 {
+ // On error or status code 3xx, 4xx, 5xx, etc abort any
+ // ongoing write, assuming that the server doesn't care
+ // about our request body. If the server replied with 1xx or
+ // 2xx, however, then assume the server DOES potentially
+ // want our body (e.g. full-duplex streaming:
+ // golang.org/issue/13444). If it turns out the server
+ // doesn't, they'll RST_STREAM us soon enough. This is a
+ // heuristic to avoid adding knobs to Transport. Hopefully
+ // we can keep it.
+ cs.abortRequestBodyWrite()
+ }
+ res.Request = req
+ res.TLS = cc.tlsState
+ if res.Body == noBody && actualContentLength(req) == 0 {
+ // If there isn't a request or response body still being
+ // written, then wait for the stream to be closed before
+ // RoundTrip returns.
+ if err := waitDone(); err != nil {
+ return nil, err
+ }
+ }
+ return res, nil
}
- trailers, err := commaSeparatedTrailers(req)
- if err != nil {
- return nil, false, err
+ for {
+ select {
+ case <-cs.respHeaderRecv:
+ return handleResponseHeaders()
+ case <-cs.abort:
+ select {
+ case <-cs.respHeaderRecv:
+ // If both cs.respHeaderRecv and cs.abort are signaling,
+ // pick respHeaderRecv. The server probably wrote the
+ // response and immediately reset the stream.
+ // golang.org/issue/49645
+ return handleResponseHeaders()
+ default:
+ waitDone()
+ return nil, cs.abortErr
+ }
+ case <-ctx.Done():
+ err := ctx.Err()
+ cs.abortStream(err)
+ return nil, err
+ case <-cs.reqCancel:
+ cs.abortStream(errRequestCanceled)
+ return nil, errRequestCanceled
+ }
+ }
+}
+
+// doRequest runs for the duration of the request lifetime.
+//
+// It sends the request and performs post-request cleanup (closing Request.Body, etc.).
+func (cs *clientStream) doRequest(req *http.Request) {
+ err := cs.writeRequest(req)
+ cs.cleanupWriteRequest(err)
+}
+
+// writeRequest sends a request.
+//
+// It returns nil after the request is written, the response read,
+// and the request stream is half-closed by the peer.
+//
+// It returns non-nil if the request ends otherwise.
+// If the returned error is StreamError, the error Code may be used in resetting the stream.
+func (cs *clientStream) writeRequest(req *http.Request) (err error) {
+ cc := cs.cc
+ ctx := cs.ctx
+
+ if err := checkConnHeaders(req); err != nil {
+ return err
}
- hasTrailers := trailers != ""
// Acquire the new-request lock by writing to reqHeaderMu.
// This lock guards the critical section covering allocating a new stream ID
// (requires mu) and creating the stream (requires wmu).
if cc.reqHeaderMu == nil {
- panic("RoundTrip on initialized ClientConn") // for tests
+ panic("RoundTrip on uninitialized ClientConn") // for tests
}
select {
case cc.reqHeaderMu <- struct{}{}:
- case <-req.Cancel:
- return nil, false, errRequestCanceled
+ case <-cs.reqCancel:
+ return errRequestCanceled
case <-ctx.Done():
- return nil, false, ctx.Err()
+ return ctx.Err()
}
- reqHeaderMuNeedsUnlock := true
- defer func() {
- if reqHeaderMuNeedsUnlock {
- <-cc.reqHeaderMu
- }
- }()
cc.mu.Lock()
- if err := cc.awaitOpenSlotForRequest(req); err != nil {
+ if cc.idleTimer != nil {
+ cc.idleTimer.Stop()
+ }
+ cc.decrStreamReservationsLocked()
+ if err := cc.awaitOpenSlotForStreamLocked(cs); err != nil {
cc.mu.Unlock()
- return nil, false, err
+ <-cc.reqHeaderMu
+ return err
}
-
- body := req.Body
- contentLen := actualContentLength(req)
- hasBody := contentLen != 0
+ cc.addStreamLocked(cs) // assigns stream ID
+ if isConnectionCloseRequest(req) {
+ cc.doNotReuse = true
+ }
+ cc.mu.Unlock()
// TODO(bradfitz): this is a copy of the logic in net/http. Unify somewhere?
- var requestedGzip bool
if !cc.t.disableCompression() &&
req.Header.Get("Accept-Encoding") == "" &&
req.Header.Get("Range") == "" &&
- req.Method != "HEAD" {
+ !cs.isHead {
// Request gzip only, not deflate. Deflate is ambiguous and
// not as universally supported anyway.
// See: https://zlib.net/zlib_faq.html#faq39
@@ -1100,185 +1265,224 @@ func (cc *ClientConn) roundTrip(req *http.Request) (res *http.Response, gotErrAf
// We don't request gzip if the request is for a range, since
// auto-decoding a portion of a gzipped document will just fail
// anyway. See https://golang.org/issue/8923
- requestedGzip = true
+ cs.requestedGzip = true
}
- cs := cc.newStream()
- cs.req = req
- cs.trace = httptrace.ContextClientTrace(req.Context())
- cs.requestedGzip = requestedGzip
- bodyWriter := cc.t.getBodyWriterState(cs, body)
- cs.on100 = bodyWriter.on100
- cc.mu.Unlock()
+ continueTimeout := cc.t.expectContinueTimeout()
+ if continueTimeout != 0 {
+ if !httpguts.HeaderValuesContainsToken(req.Header["Expect"], "100-continue") {
+ continueTimeout = 0
+ } else {
+ cs.on100 = make(chan struct{}, 1)
+ }
+ }
+
+ // Past this point (where we send request headers), it is possible for
+ // RoundTrip to return successfully. Since the RoundTrip contract permits
+ // the caller to "mutate or reuse" the Request after closing the Response's Body,
+ // we must take care when referencing the Request from here on.
+ err = cs.encodeAndWriteHeaders(req)
+ <-cc.reqHeaderMu
+ if err != nil {
+ return err
+ }
+ hasBody := cs.reqBodyContentLength != 0
+ if !hasBody {
+ cs.sentEndStream = true
+ } else {
+ if continueTimeout != 0 {
+ traceWait100Continue(cs.trace)
+ timer := time.NewTimer(continueTimeout)
+ select {
+ case <-timer.C:
+ err = nil
+ case <-cs.on100:
+ err = nil
+ case <-cs.abort:
+ err = cs.abortErr
+ case <-ctx.Done():
+ err = ctx.Err()
+ case <-cs.reqCancel:
+ err = errRequestCanceled
+ }
+ timer.Stop()
+ if err != nil {
+ traceWroteRequest(cs.trace, err)
+ return err
+ }
+ }
+
+ if err = cs.writeRequestBody(req); err != nil {
+ if err != errStopReqBodyWrite {
+ traceWroteRequest(cs.trace, err)
+ return err
+ }
+ } else {
+ cs.sentEndStream = true
+ }
+ }
+
+ traceWroteRequest(cs.trace, err)
+
+ var respHeaderTimer <-chan time.Time
+ var respHeaderRecv chan struct{}
+ if d := cc.responseHeaderTimeout(); d != 0 {
+ timer := time.NewTimer(d)
+ defer timer.Stop()
+ respHeaderTimer = timer.C
+ respHeaderRecv = cs.respHeaderRecv
+ }
+ // Wait until the peer half-closes its end of the stream,
+ // or until the request is aborted (via context, error, or otherwise),
+ // whichever comes first.
+ for {
+ select {
+ case <-cs.peerClosed:
+ return nil
+ case <-respHeaderTimer:
+ return errTimeout
+ case <-respHeaderRecv:
+ respHeaderRecv = nil
+ respHeaderTimer = nil // keep waiting for END_STREAM
+ case <-cs.abort:
+ return cs.abortErr
+ case <-ctx.Done():
+ return ctx.Err()
+ case <-cs.reqCancel:
+ return errRequestCanceled
+ }
+ }
+}
+
+func (cs *clientStream) encodeAndWriteHeaders(req *http.Request) error {
+ cc := cs.cc
+ ctx := cs.ctx
+
+ cc.wmu.Lock()
+ defer cc.wmu.Unlock()
+
+ // If the request was canceled while waiting for cc.mu, just quit.
+ select {
+ case <-cs.abort:
+ return cs.abortErr
+ case <-ctx.Done():
+ return ctx.Err()
+ case <-cs.reqCancel:
+ return errRequestCanceled
+ default:
+ }
+
+ // Encode headers.
+ //
// we send: HEADERS{1}, CONTINUATION{0,} + DATA{0,} (DATA is
// sent by writeRequestBody below, along with any Trailers,
// again in form HEADERS{1}, CONTINUATION{0,})
- cc.wmu.Lock()
- hdrs, err := cc.encodeHeaders(req, requestedGzip, trailers, contentLen)
+ trailers, err := commaSeparatedTrailers(req)
if err != nil {
- cc.wmu.Unlock()
- return nil, false, err
+ return err
+ }
+ hasTrailers := trailers != ""
+ contentLen := actualContentLength(req)
+ hasBody := contentLen != 0
+ hdrs, err := cc.encodeHeaders(req, cs.requestedGzip, trailers, contentLen)
+ if err != nil {
+ return err
}
- defer func() {
- cc.wmu.Lock()
- werr := cc.werr
- cc.wmu.Unlock()
- if werr != nil {
- cc.Close()
- }
- }()
-
+ // Write the request.
endStream := !hasBody && !hasTrailers
+ cs.sentHeaders = true
err = cc.writeHeaders(cs.ID, endStream, int(cc.maxFrameSize), hdrs)
- cc.wmu.Unlock()
- <-cc.reqHeaderMu // release the new-request lock
- reqHeaderMuNeedsUnlock = false
traceWroteHeaders(cs.trace)
+ return err
+}
- if err != nil {
- if hasBody {
- bodyWriter.cancel()
- }
- cc.forgetStreamID(cs.ID)
- // Don't bother sending a RST_STREAM (our write already failed;
- // no need to keep writing)
- traceWroteRequest(cs.trace, err)
- // TODO(dneil): An error occurred while writing the headers.
- // Should we return an error indicating that this request can be retried?
- return nil, false, err
- }
+// cleanupWriteRequest performs post-request tasks.
+//
+// If err (the result of writeRequest) is non-nil and the stream is not closed,
+// cleanupWriteRequest will send a reset to the peer.
+func (cs *clientStream) cleanupWriteRequest(err error) {
+ cc := cs.cc
- var respHeaderTimer <-chan time.Time
- if hasBody {
- bodyWriter.scheduleBodyWrite()
- } else {
- traceWroteRequest(cs.trace, nil)
- if d := cc.responseHeaderTimeout(); d != 0 {
- timer := time.NewTimer(d)
- defer timer.Stop()
- respHeaderTimer = timer.C
- }
+ if cs.ID == 0 {
+ // We were canceled before creating the stream, so return our reservation.
+ cc.decrStreamReservations()
}
- readLoopResCh := cs.resc
- bodyWritten := false
+ // TODO: write h12Compare test showing whether
+ // Request.Body is closed by the Transport,
+ // and in multiple cases: server replies <=299 and >299
+ // while still writing request body
+ cc.mu.Lock()
+ bodyClosed := cs.reqBodyClosed
+ cs.reqBodyClosed = true
+ cc.mu.Unlock()
+ if !bodyClosed && cs.reqBody != nil {
+ cs.reqBody.Close()
+ }
- handleReadLoopResponse := func(re resAndError) (*http.Response, bool, error) {
- res := re.res
- if re.err != nil || res.StatusCode > 299 {
- // On error or status code 3xx, 4xx, 5xx, etc abort any
- // ongoing write, assuming that the server doesn't care
- // about our request body. If the server replied with 1xx or
- // 2xx, however, then assume the server DOES potentially
- // want our body (e.g. full-duplex streaming:
- // golang.org/issue/13444). If it turns out the server
- // doesn't, they'll RST_STREAM us soon enough. This is a
- // heuristic to avoid adding knobs to Transport. Hopefully
- // we can keep it.
- bodyWriter.cancel()
- cs.abortRequestBodyWrite(errStopReqBodyWrite)
- if hasBody && !bodyWritten {
- <-bodyWriter.resc
+ if err != nil && cs.sentEndStream {
+ // If the connection is closed immediately after the response is read,
+ // we may be aborted before finishing up here. If the stream was closed
+ // cleanly on both sides, there is no error.
+ select {
+ case <-cs.peerClosed:
+ err = nil
+ default:
+ }
+ }
+ if err != nil {
+ cs.abortStream(err) // possibly redundant, but harmless
+ if cs.sentHeaders {
+ if se, ok := err.(StreamError); ok {
+ if se.Cause != errFromPeer {
+ cc.writeStreamReset(cs.ID, se.Code, err)
+ }
+ } else {
+ cc.writeStreamReset(cs.ID, ErrCodeCancel, err)
}
}
- if re.err != nil {
- cc.forgetStreamID(cs.ID)
- return nil, cs.getStartedWrite(), re.err
+ cs.bufPipe.CloseWithError(err) // no-op if already closed
+ } else {
+ if cs.sentHeaders && !cs.sentEndStream {
+ cc.writeStreamReset(cs.ID, ErrCodeNo, nil)
}
- res.Request = req
- res.TLS = cc.tlsState
- return res, false, nil
+ cs.bufPipe.CloseWithError(errRequestCanceled)
}
-
- handleError := func(err error) (*http.Response, bool, error) {
- if !hasBody || bodyWritten {
- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
- } else {
- bodyWriter.cancel()
- cs.abortRequestBodyWrite(errStopReqBodyWriteAndCancel)
- <-bodyWriter.resc
- }
+ if cs.ID != 0 {
cc.forgetStreamID(cs.ID)
- return nil, cs.getStartedWrite(), err
}
- for {
- select {
- case re := <-readLoopResCh:
- return handleReadLoopResponse(re)
- case <-respHeaderTimer:
- return handleError(errTimeout)
- case <-ctx.Done():
- return handleError(ctx.Err())
- case <-req.Cancel:
- return handleError(errRequestCanceled)
- case <-cs.peerReset:
- // processResetStream already removed the
- // stream from the streams map; no need for
- // forgetStreamID.
- return nil, cs.getStartedWrite(), cs.resetErr
- case err := <-bodyWriter.resc:
- bodyWritten = true
- // Prefer the read loop's response, if available. Issue 16102.
- select {
- case re := <-readLoopResCh:
- return handleReadLoopResponse(re)
- default:
- }
- if err != nil {
- cc.forgetStreamID(cs.ID)
- return nil, cs.getStartedWrite(), err
- }
- if d := cc.responseHeaderTimeout(); d != 0 {
- timer := time.NewTimer(d)
- defer timer.Stop()
- respHeaderTimer = timer.C
- }
- }
+ cc.wmu.Lock()
+ werr := cc.werr
+ cc.wmu.Unlock()
+ if werr != nil {
+ cc.Close()
}
+
+ close(cs.donec)
}
-// awaitOpenSlotForRequest waits until len(streams) < maxConcurrentStreams.
+// awaitOpenSlotForStream waits until len(streams) < maxConcurrentStreams.
// Must hold cc.mu.
-func (cc *ClientConn) awaitOpenSlotForRequest(req *http.Request) error {
- var waitingForConn chan struct{}
- var waitingForConnErr error // guarded by cc.mu
+func (cc *ClientConn) awaitOpenSlotForStreamLocked(cs *clientStream) error {
for {
cc.lastActive = time.Now()
if cc.closed || !cc.canTakeNewRequestLocked() {
- if waitingForConn != nil {
- close(waitingForConn)
- }
return errClientConnUnusable
}
cc.lastIdle = time.Time{}
if int64(len(cc.streams)) < int64(cc.maxConcurrentStreams) {
- if waitingForConn != nil {
- close(waitingForConn)
- }
return nil
}
- // Unfortunately, we cannot wait on a condition variable and channel at
- // the same time, so instead, we spin up a goroutine to check if the
- // request is canceled while we wait for a slot to open in the connection.
- if waitingForConn == nil {
- waitingForConn = make(chan struct{})
- go func() {
- if err := awaitRequestCancel(req, waitingForConn); err != nil {
- cc.mu.Lock()
- waitingForConnErr = err
- cc.cond.Broadcast()
- cc.mu.Unlock()
- }
- }()
- }
cc.pendingRequests++
cc.cond.Wait()
cc.pendingRequests--
- if waitingForConnErr != nil {
- return waitingForConnErr
+ select {
+ case <-cs.abort:
+ return cs.abortErr
+ default:
}
}
}
@@ -1305,10 +1509,6 @@ func (cc *ClientConn) writeHeaders(streamID uint32, endStream bool, maxFrameSize
cc.fr.WriteContinuation(streamID, endHeaders, chunk)
}
}
- // TODO(bradfitz): this Flush could potentially block (as
- // could the WriteHeaders call(s) above), which means they
- // wouldn't respond to Request.Cancel being readable. That's
- // rare, but this should probably be in a goroutine.
cc.bw.Flush()
return cc.werr
}
@@ -1335,7 +1535,7 @@ func (cs *clientStream) frameScratchBufferLen(maxFrameSize int) int {
if n > max {
n = max
}
- if cl := actualContentLength(cs.req); cl != -1 && cl+1 < n {
+ if cl := cs.reqBodyContentLength; cl != -1 && cl+1 < n {
// Add an extra byte past the declared content-length to
// give the caller's Request.Body io.Reader a chance to
// give us more bytes than they declared, so we can catch it
@@ -1350,31 +1550,13 @@ func (cs *clientStream) frameScratchBufferLen(maxFrameSize int) int {
var bufPool sync.Pool // of *[]byte
-func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (err error) {
+func (cs *clientStream) writeRequestBody(req *http.Request) (err error) {
cc := cs.cc
+ body := cs.reqBody
sentEnd := false // whether we sent the final DATA frame w/ END_STREAM
- defer func() {
- traceWroteRequest(cs.trace, err)
- // TODO: write h12Compare test showing whether
- // Request.Body is closed by the Transport,
- // and in multiple cases: server replies <=299 and >299
- // while still writing request body
- var cerr error
- cc.mu.Lock()
- if cs.stopReqBody == nil {
- cs.stopReqBody = errStopReqBodyWrite
- cerr = bodyCloser.Close()
- }
- cc.mu.Unlock()
- if err == nil {
- err = cerr
- }
- }()
-
- req := cs.req
hasTrailers := req.Trailer != nil
- remainLen := actualContentLength(req)
+ remainLen := cs.reqBodyContentLength
hasContentLen := remainLen != -1
cc.mu.Lock()
@@ -1412,29 +1594,29 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (
}
if remainLen < 0 {
err = errReqBodyTooLong
- cc.writeStreamReset(cs.ID, ErrCodeCancel, err)
return err
}
}
- if err == io.EOF {
- sawEOF = true
- err = nil
- } else if err != nil {
- cc.writeStreamReset(cs.ID, ErrCodeCancel, err)
- return err
+ if err != nil {
+ cc.mu.Lock()
+ bodyClosed := cs.reqBodyClosed
+ cc.mu.Unlock()
+ switch {
+ case bodyClosed:
+ return errStopReqBodyWrite
+ case err == io.EOF:
+ sawEOF = true
+ err = nil
+ default:
+ return err
+ }
}
remain := buf[:n]
for len(remain) > 0 && err == nil {
var allowed int32
allowed, err = cs.awaitFlowControl(len(remain))
- switch {
- case err == errStopReqBodyWrite:
- return err
- case err == errStopReqBodyWriteAndCancel:
- cc.writeStreamReset(cs.ID, ErrCodeCancel, nil)
- return err
- case err != nil:
+ if err != nil {
return err
}
cc.wmu.Lock()
@@ -1465,18 +1647,26 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (
return nil
}
+ // Since the RoundTrip contract permits the caller to "mutate or reuse"
+ // a request after the Response's Body is closed, verify that this hasn't
+ // happened before accessing the trailers.
+ cc.mu.Lock()
+ trailer := req.Trailer
+ err = cs.abortErr
+ cc.mu.Unlock()
+ if err != nil {
+ return err
+ }
+
cc.wmu.Lock()
+ defer cc.wmu.Unlock()
var trls []byte
- if hasTrailers {
- trls, err = cc.encodeTrailers(req)
+ if len(trailer) > 0 {
+ trls, err = cc.encodeTrailers(trailer)
if err != nil {
- cc.wmu.Unlock()
- cc.writeStreamReset(cs.ID, ErrCodeInternal, err)
- cc.forgetStreamID(cs.ID)
return err
}
}
- defer cc.wmu.Unlock()
// Two ways to send END_STREAM: either with trailers, or
// with an empty DATA frame.
@@ -1497,17 +1687,24 @@ func (cs *clientStream) writeRequestBody(body io.Reader, bodyCloser io.Closer) (
// if the stream is dead.
func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error) {
cc := cs.cc
+ ctx := cs.ctx
cc.mu.Lock()
defer cc.mu.Unlock()
for {
if cc.closed {
return 0, errClientConnClosed
}
- if cs.stopReqBody != nil {
- return 0, cs.stopReqBody
+ if cs.reqBodyClosed {
+ return 0, errStopReqBodyWrite
}
- if err := cs.checkResetOrDone(); err != nil {
- return 0, err
+ select {
+ case <-cs.abort:
+ return 0, cs.abortErr
+ case <-ctx.Done():
+ return 0, ctx.Err()
+ case <-cs.reqCancel:
+ return 0, errRequestCanceled
+ default:
}
if a := cs.flow.available(); a > 0 {
take := a
@@ -1525,9 +1722,14 @@ func (cs *clientStream) awaitFlowControl(maxBytes int) (taken int32, err error)
}
}
+var errNilRequestURL = errors.New("http2: Request.URI is nil")
+
// requires cc.wmu be held.
func (cc *ClientConn) encodeHeaders(req *http.Request, addGzipHeader bool, trailers string, contentLength int64) ([]byte, error) {
cc.hbuf.Reset()
+ if req.URL == nil {
+ return nil, errNilRequestURL
+ }
host := req.Host
if host == "" {
@@ -1714,11 +1916,11 @@ func shouldSendReqContentLength(method string, contentLength int64) bool {
}
// requires cc.wmu be held.
-func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) {
+func (cc *ClientConn) encodeTrailers(trailer http.Header) ([]byte, error) {
cc.hbuf.Reset()
hlSize := uint64(0)
- for k, vv := range req.Trailer {
+ for k, vv := range trailer {
for _, v := range vv {
hf := hpack.HeaderField{Name: k, Value: v}
hlSize += uint64(hf.Size())
@@ -1728,7 +1930,7 @@ func (cc *ClientConn) encodeTrailers(req *http.Request) ([]byte, error) {
return nil, errRequestHeaderListSize
}
- for k, vv := range req.Trailer {
+ for k, vv := range trailer {
lowKey, ascii := asciiToLower(k)
if !ascii {
// Skip writing invalid headers. Per RFC 7540, Section 8.1.2, header
@@ -1758,51 +1960,51 @@ type resAndError struct {
}
// requires cc.mu be held.
-func (cc *ClientConn) newStream() *clientStream {
- cs := &clientStream{
- cc: cc,
- ID: cc.nextStreamID,
- resc: make(chan resAndError, 1),
- peerReset: make(chan struct{}),
- done: make(chan struct{}),
- }
+func (cc *ClientConn) addStreamLocked(cs *clientStream) {
cs.flow.add(int32(cc.initialWindowSize))
cs.flow.setConnFlow(&cc.flow)
cs.inflow.add(transportDefaultStreamFlow)
cs.inflow.setConnFlow(&cc.inflow)
+ cs.ID = cc.nextStreamID
cc.nextStreamID += 2
cc.streams[cs.ID] = cs
- return cs
+ if cs.ID == 0 {
+ panic("assigned stream ID 0")
+ }
}
func (cc *ClientConn) forgetStreamID(id uint32) {
- cc.streamByID(id, true)
-}
-
-func (cc *ClientConn) streamByID(id uint32, andRemove bool) *clientStream {
cc.mu.Lock()
- defer cc.mu.Unlock()
- cs := cc.streams[id]
- if andRemove && cs != nil && !cc.closed {
- cc.lastActive = time.Now()
- delete(cc.streams, id)
- if len(cc.streams) == 0 && cc.idleTimer != nil {
- cc.idleTimer.Reset(cc.idleTimeout)
- cc.lastIdle = time.Now()
- }
- close(cs.done)
- // Wake up checkResetOrDone via clientStream.awaitFlowControl and
- // wake up RoundTrip if there is a pending request.
- cc.cond.Broadcast()
+ slen := len(cc.streams)
+ delete(cc.streams, id)
+ if len(cc.streams) != slen-1 {
+ panic("forgetting unknown stream id")
+ }
+ cc.lastActive = time.Now()
+ if len(cc.streams) == 0 && cc.idleTimer != nil {
+ cc.idleTimer.Reset(cc.idleTimeout)
+ cc.lastIdle = time.Now()
+ }
+ // Wake up writeRequestBody via clientStream.awaitFlowControl and
+ // wake up RoundTrip if there is a pending request.
+ cc.cond.Broadcast()
+
+ closeOnIdle := cc.singleUse || cc.doNotReuse || cc.t.disableKeepAlives()
+ if closeOnIdle && cc.streamsReserved == 0 && len(cc.streams) == 0 {
+ if VerboseLogs {
+ cc.vlogf("http2: Transport closing idle conn %p (forSingleUse=%v, maxStream=%v)", cc, cc.singleUse, cc.nextStreamID-2)
+ }
+ cc.closed = true
+ defer cc.closeConn()
}
- return cs
+
+ cc.mu.Unlock()
}
// clientConnReadLoop is the state owned by the clientConn's frame-reading readLoop.
type clientConnReadLoop struct {
- _ incomparable
- cc *ClientConn
- closeWhenIdle bool
+ _ incomparable
+ cc *ClientConn
}
// readLoop runs in its own goroutine and reads and dispatches frames.
@@ -1840,8 +2042,8 @@ func isEOFOrNetReadError(err error) bool {
func (rl *clientConnReadLoop) cleanup() {
cc := rl.cc
- defer cc.tconn.Close()
- defer cc.t.connPool().MarkDead(cc)
+ cc.t.connPool().MarkDead(cc)
+ defer cc.closeConn()
defer close(cc.readerDone)
if cc.idleTimer != nil {
@@ -1863,18 +2065,15 @@ func (rl *clientConnReadLoop) cleanup() {
err = io.ErrUnexpectedEOF
}
cc.closed = true
- streams := cc.streams
- cc.streams = nil
- cc.mu.Unlock()
- for _, cs := range streams {
- cs.bufPipe.CloseWithError(err) // no-op if already closed
+ for _, cs := range cc.streams {
select {
- case cs.resc <- resAndError{err: err}:
+ case <-cs.peerClosed:
+ // The server closed the stream before closing the conn,
+ // so no need to interrupt it.
default:
+ cs.abortStreamLocked(err)
}
- close(cs.done)
}
- cc.mu.Lock()
cc.cond.Broadcast()
cc.mu.Unlock()
}
@@ -1908,8 +2107,6 @@ func (cc *ClientConn) countReadFrameError(err error) {
func (rl *clientConnReadLoop) run() error {
cc := rl.cc
- rl.closeWhenIdle = cc.t.disableKeepAlives() || cc.singleUse
- gotReply := false // ever saw a HEADERS reply
gotSettings := false
readIdleTimeout := cc.t.ReadIdleTimeout
var t *time.Timer
@@ -1926,9 +2123,7 @@ func (rl *clientConnReadLoop) run() error {
cc.vlogf("http2: Transport readFrame error on conn %p: (%T) %v", cc, err, err)
}
if se, ok := err.(StreamError); ok {
- if cs := cc.streamByID(se.StreamID, false); cs != nil {
- cs.cc.writeStreamReset(cs.ID, se.Code, err)
- cs.cc.forgetStreamID(cs.ID)
+ if cs := rl.streamByID(se.StreamID); cs != nil {
if se.Cause == nil {
se.Cause = cc.fr.errDetail
}
@@ -1949,22 +2144,16 @@ func (rl *clientConnReadLoop) run() error {
}
gotSettings = true
}
- maybeIdle := false // whether frame might transition us to idle
switch f := f.(type) {
case *MetaHeadersFrame:
err = rl.processHeaders(f)
- maybeIdle = true
- gotReply = true
case *DataFrame:
err = rl.processData(f)
- maybeIdle = true
case *GoAwayFrame:
err = rl.processGoAway(f)
- maybeIdle = true
case *RSTStreamFrame:
err = rl.processResetStream(f)
- maybeIdle = true
case *SettingsFrame:
err = rl.processSettings(f)
case *PushPromiseFrame:
@@ -1982,38 +2171,24 @@ func (rl *clientConnReadLoop) run() error {
}
return err
}
- if rl.closeWhenIdle && gotReply && maybeIdle {
- cc.closeIfIdle()
- }
}
}
func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error {
- cc := rl.cc
- cs := cc.streamByID(f.StreamID, false)
+ cs := rl.streamByID(f.StreamID)
if cs == nil {
// We'd get here if we canceled a request while the
// server had its response still in flight. So if this
// was just something we canceled, ignore it.
return nil
}
- if f.StreamEnded() {
- // Issue 20521: If the stream has ended, streamByID() causes
- // clientStream.done to be closed, which causes the request's bodyWriter
- // to be closed with an errStreamClosed, which may be received by
- // clientConn.RoundTrip before the result of processing these headers.
- // Deferring stream closure allows the header processing to occur first.
- // clientConn.RoundTrip may still receive the bodyWriter error first, but
- // the fix for issue 16102 prioritises any response.
- //
- // Issue 22413: If there is no request body, we should close the
- // stream before writing to cs.resc so that the stream is closed
- // immediately once RoundTrip returns.
- if cs.req.Body != nil {
- defer cc.forgetStreamID(f.StreamID)
- } else {
- cc.forgetStreamID(f.StreamID)
- }
+ if cs.readClosed {
+ rl.endStreamError(cs, StreamError{
+ StreamID: f.StreamID,
+ Code: ErrCodeProtocol,
+ Cause: errors.New("protocol error: headers after END_STREAM"),
+ })
+ return nil
}
if !cs.firstByte {
if cs.trace != nil {
@@ -2037,9 +2212,11 @@ func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error {
return err
}
// Any other error type is a stream error.
- cs.cc.writeStreamReset(f.StreamID, ErrCodeProtocol, err)
- cc.forgetStreamID(cs.ID)
- cs.resc <- resAndError{err: err}
+ rl.endStreamError(cs, StreamError{
+ StreamID: f.StreamID,
+ Code: ErrCodeProtocol,
+ Cause: err,
+ })
return nil // return nil from process* funcs to keep conn alive
}
if res == nil {
@@ -2047,7 +2224,11 @@ func (rl *clientConnReadLoop) processHeaders(f *MetaHeadersFrame) error {
return nil
}
cs.resTrailer = &res.Trailer
- cs.resc <- resAndError{res: res}
+ cs.res = res
+ close(cs.respHeaderRecv)
+ if f.StreamEnded() {
+ rl.endStream(cs)
+ }
return nil
}
@@ -2109,6 +2290,9 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra
}
if statusCode >= 100 && statusCode <= 199 {
+ if f.StreamEnded() {
+ return nil, errors.New("1xx informational response with END_STREAM flag")
+ }
cs.num1xx++
const max1xxResponses = 5 // arbitrary bound on number of informational responses, same as net/http
if cs.num1xx > max1xxResponses {
@@ -2121,42 +2305,49 @@ func (rl *clientConnReadLoop) handleResponse(cs *clientStream, f *MetaHeadersFra
}
if statusCode == 100 {
traceGot100Continue(cs.trace)
- if cs.on100 != nil {
- cs.on100() // forces any write delay timer to fire
+ select {
+ case cs.on100 <- struct{}{}:
+ default:
}
}
cs.pastHeaders = false // do it all again
return nil, nil
}
- streamEnded := f.StreamEnded()
- isHead := cs.req.Method == "HEAD"
- if !streamEnded || isHead {
- res.ContentLength = -1
- if clens := res.Header["Content-Length"]; len(clens) == 1 {
- if cl, err := strconv.ParseUint(clens[0], 10, 63); err == nil {
- res.ContentLength = int64(cl)
- } else {
- // TODO: care? unlike http/1, it won't mess up our framing, so it's
- // more safe smuggling-wise to ignore.
- }
- } else if len(clens) > 1 {
+ res.ContentLength = -1
+ if clens := res.Header["Content-Length"]; len(clens) == 1 {
+ if cl, err := strconv.ParseUint(clens[0], 10, 63); err == nil {
+ res.ContentLength = int64(cl)
+ } else {
// TODO: care? unlike http/1, it won't mess up our framing, so it's
// more safe smuggling-wise to ignore.
}
+ } else if len(clens) > 1 {
+ // TODO: care? unlike http/1, it won't mess up our framing, so it's
+ // more safe smuggling-wise to ignore.
+ } else if f.StreamEnded() && !cs.isHead {
+ res.ContentLength = 0
}
- if streamEnded || isHead {
+ if cs.isHead {
res.Body = noBody
return res, nil
}
- cs.bufPipe = pipe{b: &dataBuffer{expected: res.ContentLength}}
+ if f.StreamEnded() {
+ if res.ContentLength > 0 {
+ res.Body = missingBody{}
+ } else {
+ res.Body = noBody
+ }
+ return res, nil
+ }
+
+ cs.bufPipe.setBuffer(&dataBuffer{expected: res.ContentLength})
cs.bytesRemain = res.ContentLength
res.Body = transportResponseBody{cs}
- go cs.awaitRequestCancel(cs.req)
- if cs.requestedGzip && res.Header.Get("Content-Encoding") == "gzip" {
+ if cs.requestedGzip && asciiEqualFold(res.Header.Get("Content-Encoding"), "gzip") {
res.Header.Del("Content-Encoding")
res.Header.Del("Content-Length")
res.ContentLength = -1
@@ -2195,8 +2386,7 @@ func (rl *clientConnReadLoop) processTrailers(cs *clientStream, f *MetaHeadersFr
}
// transportResponseBody is the concrete type of Transport.RoundTrip's
-// Response.Body. It is an io.ReadCloser. On Read, it reads from cs.body.
-// On Close it sends RST_STREAM if EOF wasn't already seen.
+// Response.Body. It is an io.ReadCloser.
type transportResponseBody struct {
cs *clientStream
}
@@ -2214,7 +2404,7 @@ func (b transportResponseBody) Read(p []byte) (n int, err error) {
n = int(cs.bytesRemain)
if err == nil {
err = errors.New("net/http: server replied with more than declared Content-Length; truncated")
- cc.writeStreamReset(cs.ID, ErrCodeProtocol, err)
+ cs.abortStream(err)
}
cs.readErr = err
return int(cs.bytesRemain), err
@@ -2270,24 +2460,18 @@ func (b transportResponseBody) Close() error {
cs := b.cs
cc := cs.cc
- serverSentStreamEnd := cs.bufPipe.Err() == io.EOF
unread := cs.bufPipe.Len()
-
- if unread > 0 || !serverSentStreamEnd {
+ if unread > 0 {
cc.mu.Lock()
- if !serverSentStreamEnd {
- cs.didReset = true
- }
// Return connection-level flow control.
if unread > 0 {
cc.inflow.add(int32(unread))
}
cc.mu.Unlock()
+ // TODO(dneil): Acquiring this mutex can block indefinitely.
+ // Move flow control return to a goroutine?
cc.wmu.Lock()
- if !serverSentStreamEnd {
- cc.fr.WriteRSTStream(cs.ID, ErrCodeCancel)
- }
// Return connection-level flow control.
if unread > 0 {
cc.fr.WriteWindowUpdate(0, uint32(unread))
@@ -2297,13 +2481,24 @@ func (b transportResponseBody) Close() error {
}
cs.bufPipe.BreakWithError(errClosedResponseBody)
- cc.forgetStreamID(cs.ID)
+ cs.abortStream(errClosedResponseBody)
+
+ select {
+ case <-cs.donec:
+ case <-cs.ctx.Done():
+ // See golang/go#49366: The net/http package can cancel the
+ // request context after the response body is fully read.
+ // Don't treat this as an error.
+ return nil
+ case <-cs.reqCancel:
+ return errRequestCanceled
+ }
return nil
}
func (rl *clientConnReadLoop) processData(f *DataFrame) error {
cc := rl.cc
- cs := cc.streamByID(f.StreamID, f.StreamEnded())
+ cs := rl.streamByID(f.StreamID)
data := f.Data()
if cs == nil {
cc.mu.Lock()
@@ -2332,6 +2527,14 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
}
return nil
}
+ if cs.readClosed {
+ cc.logf("protocol error: received DATA after END_STREAM")
+ rl.endStreamError(cs, StreamError{
+ StreamID: f.StreamID,
+ Code: ErrCodeProtocol,
+ })
+ return nil
+ }
if !cs.firstByte {
cc.logf("protocol error: received DATA before a HEADERS frame")
rl.endStreamError(cs, StreamError{
@@ -2341,7 +2544,7 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
return nil
}
if f.Length > 0 {
- if cs.req.Method == "HEAD" && len(data) > 0 {
+ if cs.isHead && len(data) > 0 {
cc.logf("protocol error: received DATA on a HEAD request")
rl.endStreamError(cs, StreamError{
StreamID: f.StreamID,
@@ -2363,12 +2566,18 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
if pad := int(f.Length) - len(data); pad > 0 {
refund += pad
}
- // Return len(data) now if the stream is already closed,
- // since data will never be read.
- didReset := cs.didReset
- if didReset {
- refund += len(data)
+
+ didReset := false
+ var err error
+ if len(data) > 0 {
+ if _, err = cs.bufPipe.Write(data); err != nil {
+ // Return len(data) now if the stream is already closed,
+ // since data will never be read.
+ didReset = true
+ refund += len(data)
+ }
}
+
if refund > 0 {
cc.inflow.add(int32(refund))
if !didReset {
@@ -2387,11 +2596,9 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
cc.wmu.Unlock()
}
- if len(data) > 0 && !didReset {
- if _, err := cs.bufPipe.Write(data); err != nil {
- rl.endStreamError(cs, err)
- return err
- }
+ if err != nil {
+ rl.endStreamError(cs, err)
+ return nil
}
}
@@ -2404,24 +2611,32 @@ func (rl *clientConnReadLoop) processData(f *DataFrame) error {
func (rl *clientConnReadLoop) endStream(cs *clientStream) {
// TODO: check that any declared content-length matches, like
// server.go's (*stream).endStream method.
- rl.endStreamError(cs, nil)
+ if !cs.readClosed {
+ cs.readClosed = true
+ // Close cs.bufPipe and cs.peerClosed with cc.mu held to avoid a
+ // race condition: The caller can read io.EOF from Response.Body
+ // and close the body before we close cs.peerClosed, causing
+ // cleanupWriteRequest to send a RST_STREAM.
+ rl.cc.mu.Lock()
+ defer rl.cc.mu.Unlock()
+ cs.bufPipe.closeWithErrorAndCode(io.EOF, cs.copyTrailers)
+ close(cs.peerClosed)
+ }
}
func (rl *clientConnReadLoop) endStreamError(cs *clientStream, err error) {
- var code func()
- if err == nil {
- err = io.EOF
- code = cs.copyTrailers
- }
- if isConnectionCloseRequest(cs.req) {
- rl.closeWhenIdle = true
- }
- cs.bufPipe.closeWithErrorAndCode(err, code)
+ cs.readAborted = true
+ cs.abortStream(err)
+}
- select {
- case cs.resc <- resAndError{err: err}:
- default:
+func (rl *clientConnReadLoop) streamByID(id uint32) *clientStream {
+ rl.cc.mu.Lock()
+ defer rl.cc.mu.Unlock()
+ cs := rl.cc.streams[id]
+ if cs != nil && !cs.readAborted {
+ return cs
}
+ return nil
}
func (cs *clientStream) copyTrailers() {
@@ -2534,7 +2749,7 @@ func (rl *clientConnReadLoop) processSettingsNoWrite(f *SettingsFrame) error {
func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {
cc := rl.cc
- cs := cc.streamByID(f.StreamID, false)
+ cs := rl.streamByID(f.StreamID)
if f.StreamID != 0 && cs == nil {
return nil
}
@@ -2554,31 +2769,22 @@ func (rl *clientConnReadLoop) processWindowUpdate(f *WindowUpdateFrame) error {
}
func (rl *clientConnReadLoop) processResetStream(f *RSTStreamFrame) error {
- cs := rl.cc.streamByID(f.StreamID, true)
+ cs := rl.streamByID(f.StreamID)
if cs == nil {
- // TODO: return error if server tries to RST_STEAM an idle stream
+ // TODO: return error if server tries to RST_STREAM an idle stream
return nil
}
- select {
- case <-cs.peerReset:
- // Already reset.
- // This is the only goroutine
- // which closes this, so there
- // isn't a race.
- default:
- serr := streamError(cs.ID, f.ErrCode)
- if f.ErrCode == ErrCodeProtocol {
- rl.cc.SetDoNotReuse()
- serr.Cause = errFromPeer
- }
- if fn := cs.cc.t.CountError; fn != nil {
- fn("recv_rststream_" + f.ErrCode.stringToken())
- }
- cs.resetErr = serr
- close(cs.peerReset)
- cs.bufPipe.CloseWithError(serr)
- cs.cc.cond.Broadcast() // wake up checkResetOrDone via clientStream.awaitFlowControl
+ serr := streamError(cs.ID, f.ErrCode)
+ serr.Cause = errFromPeer
+ if f.ErrCode == ErrCodeProtocol {
+ rl.cc.SetDoNotReuse()
+ }
+ if fn := cs.cc.t.CountError; fn != nil {
+ fn("recv_rststream_" + f.ErrCode.stringToken())
}
+ cs.abortStream(serr)
+
+ cs.bufPipe.CloseWithError(serr)
return nil
}
@@ -2600,19 +2806,24 @@ func (cc *ClientConn) Ping(ctx context.Context) error {
}
cc.mu.Unlock()
}
- cc.wmu.Lock()
- if err := cc.fr.WritePing(false, p); err != nil {
- cc.wmu.Unlock()
- return err
- }
- if err := cc.bw.Flush(); err != nil {
- cc.wmu.Unlock()
- return err
- }
- cc.wmu.Unlock()
+ errc := make(chan error, 1)
+ go func() {
+ cc.wmu.Lock()
+ defer cc.wmu.Unlock()
+ if err := cc.fr.WritePing(false, p); err != nil {
+ errc <- err
+ return
+ }
+ if err := cc.bw.Flush(); err != nil {
+ errc <- err
+ return
+ }
+ }()
select {
case <-c:
return nil
+ case err := <-errc:
+ return err
case <-ctx.Done():
return ctx.Err()
case <-cc.readerDone:
@@ -2689,6 +2900,11 @@ func (t *Transport) logf(format string, args ...interface{}) {
var noBody io.ReadCloser = ioutil.NopCloser(bytes.NewReader(nil))
+type missingBody struct{}
+
+func (missingBody) Close() error { return nil }
+func (missingBody) Read([]byte) (int, error) { return 0, io.ErrUnexpectedEOF }
+
func strSliceContains(ss []string, s string) bool {
for _, v := range ss {
if v == s {
@@ -2734,87 +2950,6 @@ type errorReader struct{ err error }
func (r errorReader) Read(p []byte) (int, error) { return 0, r.err }
-// bodyWriterState encapsulates various state around the Transport's writing
-// of the request body, particularly regarding doing delayed writes of the body
-// when the request contains "Expect: 100-continue".
-type bodyWriterState struct {
- cs *clientStream
- timer *time.Timer // if non-nil, we're doing a delayed write
- fnonce *sync.Once // to call fn with
- fn func() // the code to run in the goroutine, writing the body
- resc chan error // result of fn's execution
- delay time.Duration // how long we should delay a delayed write for
-}
-
-func (t *Transport) getBodyWriterState(cs *clientStream, body io.Reader) (s bodyWriterState) {
- s.cs = cs
- if body == nil {
- return
- }
- resc := make(chan error, 1)
- s.resc = resc
- s.fn = func() {
- cs.cc.mu.Lock()
- cs.startedWrite = true
- cs.cc.mu.Unlock()
- resc <- cs.writeRequestBody(body, cs.req.Body)
- }
- s.delay = t.expectContinueTimeout()
- if s.delay == 0 ||
- !httpguts.HeaderValuesContainsToken(
- cs.req.Header["Expect"],
- "100-continue") {
- return
- }
- s.fnonce = new(sync.Once)
-
- // Arm the timer with a very large duration, which we'll
- // intentionally lower later. It has to be large now because
- // we need a handle to it before writing the headers, but the
- // s.delay value is defined to not start until after the
- // request headers were written.
- const hugeDuration = 365 * 24 * time.Hour
- s.timer = time.AfterFunc(hugeDuration, func() {
- s.fnonce.Do(s.fn)
- })
- return
-}
-
-func (s bodyWriterState) cancel() {
- if s.timer != nil {
- if s.timer.Stop() {
- s.resc <- nil
- }
- }
-}
-
-func (s bodyWriterState) on100() {
- if s.timer == nil {
- // If we didn't do a delayed write, ignore the server's
- // bogus 100 continue response.
- return
- }
- s.timer.Stop()
- go func() { s.fnonce.Do(s.fn) }()
-}
-
-// scheduleBodyWrite starts writing the body, either immediately (in
-// the common case) or after the delay timeout. It should not be
-// called until after the headers have been written.
-func (s bodyWriterState) scheduleBodyWrite() {
- if s.timer == nil {
- // We're not doing a delayed write (see
- // getBodyWriterState), so just start the writing
- // goroutine immediately.
- go s.fn()
- return
- }
- traceWait100Continue(s.cs.trace)
- if s.timer.Stop() {
- s.timer.Reset(s.delay)
- }
-}
-
// isConnectionCloseRequest reports whether req should use its own
// connection for a single request and then close the connection.
func isConnectionCloseRequest(req *http.Request) bool {
diff --git a/vendor/golang.org/x/net/http2/writesched.go b/vendor/golang.org/x/net/http2/writesched.go
index f24d2b1e7..c7cd00173 100644
--- a/vendor/golang.org/x/net/http2/writesched.go
+++ b/vendor/golang.org/x/net/http2/writesched.go
@@ -32,7 +32,8 @@ type WriteScheduler interface {
// Pop dequeues the next frame to write. Returns false if no frames can
// be written. Frames with a given wr.StreamID() are Pop'd in the same
- // order they are Push'd. No frames should be discarded except by CloseStream.
+ // order they are Push'd, except RST_STREAM frames. No frames should be
+ // discarded except by CloseStream.
Pop() (wr FrameWriteRequest, ok bool)
}
@@ -52,6 +53,7 @@ type FrameWriteRequest struct {
// stream is the stream on which this frame will be written.
// nil for non-stream frames like PING and SETTINGS.
+ // nil for RST_STREAM streams, which use the StreamError.StreamID field instead.
stream *stream
// done, if non-nil, must be a buffered channel with space for
diff --git a/vendor/golang.org/x/net/http2/writesched_random.go b/vendor/golang.org/x/net/http2/writesched_random.go
index 9a7b9e581..f2e55e05c 100644
--- a/vendor/golang.org/x/net/http2/writesched_random.go
+++ b/vendor/golang.org/x/net/http2/writesched_random.go
@@ -45,11 +45,11 @@ func (ws *randomWriteScheduler) AdjustStream(streamID uint32, priority PriorityP
}
func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) {
- id := wr.StreamID()
- if id == 0 {
+ if wr.isControl() {
ws.zero.push(wr)
return
}
+ id := wr.StreamID()
q, ok := ws.sq[id]
if !ok {
q = ws.queuePool.get()
@@ -59,7 +59,7 @@ func (ws *randomWriteScheduler) Push(wr FrameWriteRequest) {
}
func (ws *randomWriteScheduler) Pop() (FrameWriteRequest, bool) {
- // Control frames first.
+ // Control and RST_STREAM frames first.
if !ws.zero.empty() {
return ws.zero.shift(), true
}
diff --git a/vendor/golang.org/x/net/idna/go118.go b/vendor/golang.org/x/net/idna/go118.go
new file mode 100644
index 000000000..c5c4338db
--- /dev/null
+++ b/vendor/golang.org/x/net/idna/go118.go
@@ -0,0 +1,14 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.18
+// +build go1.18
+
+package idna
+
+// Transitional processing is disabled by default in Go 1.18.
+// https://golang.org/issue/47510
+const transitionalLookup = false
diff --git a/vendor/golang.org/x/net/idna/idna10.0.0.go b/vendor/golang.org/x/net/idna/idna10.0.0.go
index 5208ba6cb..64ccf85fe 100644
--- a/vendor/golang.org/x/net/idna/idna10.0.0.go
+++ b/vendor/golang.org/x/net/idna/idna10.0.0.go
@@ -59,10 +59,10 @@ type Option func(*options)
// Transitional sets a Profile to use the Transitional mapping as defined in UTS
// #46. This will cause, for example, "ß" to be mapped to "ss". Using the
// transitional mapping provides a compromise between IDNA2003 and IDNA2008
-// compatibility. It is used by most browsers when resolving domain names. This
+// compatibility. It is used by some browsers when resolving domain names. This
// option is only meaningful if combined with MapForLookup.
func Transitional(transitional bool) Option {
- return func(o *options) { o.transitional = true }
+ return func(o *options) { o.transitional = transitional }
}
// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
@@ -284,7 +284,7 @@ var (
punycode = &Profile{}
lookup = &Profile{options{
- transitional: true,
+ transitional: transitionalLookup,
useSTD3Rules: true,
checkHyphens: true,
checkJoiners: true,
diff --git a/vendor/golang.org/x/net/idna/idna9.0.0.go b/vendor/golang.org/x/net/idna/idna9.0.0.go
index 55f718f12..aae6aac87 100644
--- a/vendor/golang.org/x/net/idna/idna9.0.0.go
+++ b/vendor/golang.org/x/net/idna/idna9.0.0.go
@@ -58,10 +58,10 @@ type Option func(*options)
// Transitional sets a Profile to use the Transitional mapping as defined in UTS
// #46. This will cause, for example, "ß" to be mapped to "ss". Using the
// transitional mapping provides a compromise between IDNA2003 and IDNA2008
-// compatibility. It is used by most browsers when resolving domain names. This
+// compatibility. It is used by some browsers when resolving domain names. This
// option is only meaningful if combined with MapForLookup.
func Transitional(transitional bool) Option {
- return func(o *options) { o.transitional = true }
+ return func(o *options) { o.transitional = transitional }
}
// VerifyDNSLength sets whether a Profile should fail if any of the IDN parts
diff --git a/vendor/golang.org/x/net/idna/pre_go118.go b/vendor/golang.org/x/net/idna/pre_go118.go
new file mode 100644
index 000000000..3aaccab1c
--- /dev/null
+++ b/vendor/golang.org/x/net/idna/pre_go118.go
@@ -0,0 +1,12 @@
+// Code generated by running "go generate" in golang.org/x/text. DO NOT EDIT.
+
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !go1.18
+// +build !go1.18
+
+package idna
+
+const transitionalLookup = true
diff --git a/vendor/golang.org/x/net/idna/punycode.go b/vendor/golang.org/x/net/idna/punycode.go
index 02c7d59af..e8e3ac11a 100644
--- a/vendor/golang.org/x/net/idna/punycode.go
+++ b/vendor/golang.org/x/net/idna/punycode.go
@@ -49,6 +49,7 @@ func decode(encoded string) (string, error) {
}
}
i, n, bias := int32(0), initialN, initialBias
+ overflow := false
for pos < len(encoded) {
oldI, w := i, int32(1)
for k := base; ; k += base {
@@ -60,29 +61,32 @@ func decode(encoded string) (string, error) {
return "", punyError(encoded)
}
pos++
- i += digit * w
- if i < 0 {
+ i, overflow = madd(i, digit, w)
+ if overflow {
return "", punyError(encoded)
}
t := k - bias
- if t < tmin {
+ if k <= bias {
t = tmin
- } else if t > tmax {
+ } else if k >= bias+tmax {
t = tmax
}
if digit < t {
break
}
- w *= base - t
- if w >= math.MaxInt32/base {
+ w, overflow = madd(0, w, base-t)
+ if overflow {
return "", punyError(encoded)
}
}
+ if len(output) >= 1024 {
+ return "", punyError(encoded)
+ }
x := int32(len(output) + 1)
bias = adapt(i-oldI, x, oldI == 0)
n += i / x
i %= x
- if n > utf8.MaxRune || len(output) >= 1024 {
+ if n < 0 || n > utf8.MaxRune {
return "", punyError(encoded)
}
output = append(output, 0)
@@ -115,6 +119,7 @@ func encode(prefix, s string) (string, error) {
if b > 0 {
output = append(output, '-')
}
+ overflow := false
for remaining != 0 {
m := int32(0x7fffffff)
for _, r := range s {
@@ -122,8 +127,8 @@ func encode(prefix, s string) (string, error) {
m = r
}
}
- delta += (m - n) * (h + 1)
- if delta < 0 {
+ delta, overflow = madd(delta, m-n, h+1)
+ if overflow {
return "", punyError(s)
}
n = m
@@ -141,9 +146,9 @@ func encode(prefix, s string) (string, error) {
q := delta
for k := base; ; k += base {
t := k - bias
- if t < tmin {
+ if k <= bias {
t = tmin
- } else if t > tmax {
+ } else if k >= bias+tmax {
t = tmax
}
if q < t {
@@ -164,6 +169,15 @@ func encode(prefix, s string) (string, error) {
return string(output), nil
}
+// madd computes a + (b * c), detecting overflow.
+func madd(a, b, c int32) (next int32, overflow bool) {
+ p := int64(b) * int64(c)
+ if p > math.MaxInt32-int64(a) {
+ return 0, true
+ }
+ return a + int32(p), false
+}
+
func decodeDigit(x byte) (digit int32, ok bool) {
switch {
case '0' <= x && x <= '9':
diff --git a/vendor/golang.org/x/oauth2/go.mod b/vendor/golang.org/x/oauth2/go.mod
index 2b13f0b34..468b62679 100644
--- a/vendor/golang.org/x/oauth2/go.mod
+++ b/vendor/golang.org/x/oauth2/go.mod
@@ -4,6 +4,6 @@ go 1.11
require (
cloud.google.com/go v0.65.0
- golang.org/x/net v0.0.0-20200822124328-c89045814202
+ golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd
google.golang.org/appengine v1.6.6
)
diff --git a/vendor/golang.org/x/oauth2/go.sum b/vendor/golang.org/x/oauth2/go.sum
index eab5833c4..bdceef99e 100644
--- a/vendor/golang.org/x/oauth2/go.sum
+++ b/vendor/golang.org/x/oauth2/go.sum
@@ -177,8 +177,9 @@ golang.org/x/net v0.0.0-20200513185701-a91f0712d120/go.mod h1:qpuaurCH72eLCgpAm/
golang.org/x/net v0.0.0-20200520182314-0ba52f642ac2/go.mod h1:qpuaurCH72eLCgpAm/N6yyVIVM9cpaDIP3A8BGJEC5A=
golang.org/x/net v0.0.0-20200625001655-4c5254603344/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
golang.org/x/net v0.0.0-20200707034311-ab3426394381/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
-golang.org/x/net v0.0.0-20200822124328-c89045814202 h1:VvcQYSHwXgi7W+TpUR6A9g6Up98WAHf3f/ulnJ62IyA=
golang.org/x/net v0.0.0-20200822124328-c89045814202/go.mod h1:/O7V0waA8r7cgGh81Ro3o1hOxt32SMVPicZroKQ2sZA=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd h1:O7DYs+zxREGLKzKoMQrtrEacpb0ZVXA5rIwylE2Xchk=
+golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk=
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
golang.org/x/oauth2 v0.0.0-20190604053449-0f29369cfe45/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw=
@@ -217,11 +218,15 @@ golang.org/x/sys v0.0.0-20200511232937-7e40ca221e25/go.mod h1:h1NjWce9XRLGQEsW7w
golang.org/x/sys v0.0.0-20200515095857-1151b9dac4a9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200523222454-059865788121/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
golang.org/x/sys v0.0.0-20200803210538-64077c9b5642/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
+golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/sys v0.0.0-20211216021012-1d35b9e2eb4e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
+golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk=
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
+golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
diff --git a/vendor/golang.org/x/oauth2/google/google.go b/vendor/golang.org/x/oauth2/google/google.go
index 422ff1fe3..ccc23ee0a 100644
--- a/vendor/golang.org/x/oauth2/google/google.go
+++ b/vendor/golang.org/x/oauth2/google/google.go
@@ -92,9 +92,10 @@ func JWTConfigFromJSON(jsonKey []byte, scope ...string) (*jwt.Config, error) {
// JSON key file types.
const (
- serviceAccountKey = "service_account"
- userCredentialsKey = "authorized_user"
- externalAccountKey = "external_account"
+ serviceAccountKey = "service_account"
+ userCredentialsKey = "authorized_user"
+ externalAccountKey = "external_account"
+ impersonatedServiceAccount = "impersonated_service_account"
)
// credentialsFile is the unmarshalled representation of a credentials file.
@@ -121,8 +122,13 @@ type credentialsFile struct {
TokenURLExternal string `json:"token_url"`
TokenInfoURL string `json:"token_info_url"`
ServiceAccountImpersonationURL string `json:"service_account_impersonation_url"`
+ Delegates []string `json:"delegates"`
CredentialSource externalaccount.CredentialSource `json:"credential_source"`
QuotaProjectID string `json:"quota_project_id"`
+ WorkforcePoolUserProject string `json:"workforce_pool_user_project"`
+
+ // Service account impersonation
+ SourceCredentials *credentialsFile `json:"source_credentials"`
}
func (f *credentialsFile) jwtConfig(scopes []string, subject string) *jwt.Config {
@@ -176,8 +182,26 @@ func (f *credentialsFile) tokenSource(ctx context.Context, params CredentialsPar
CredentialSource: f.CredentialSource,
QuotaProjectID: f.QuotaProjectID,
Scopes: params.Scopes,
+ WorkforcePoolUserProject: f.WorkforcePoolUserProject,
}
return cfg.TokenSource(ctx)
+ case impersonatedServiceAccount:
+ if f.ServiceAccountImpersonationURL == "" || f.SourceCredentials == nil {
+ return nil, errors.New("missing 'source_credentials' field or 'service_account_impersonation_url' in credentials")
+ }
+
+ ts, err := f.SourceCredentials.tokenSource(ctx, params)
+ if err != nil {
+ return nil, err
+ }
+ imp := externalaccount.ImpersonateTokenSource{
+ Ctx: ctx,
+ URL: f.ServiceAccountImpersonationURL,
+ Scopes: params.Scopes,
+ Ts: ts,
+ Delegates: f.Delegates,
+ }
+ return oauth2.ReuseTokenSource(nil, imp), nil
case "":
return nil, errors.New("missing 'type' field in credentials")
default:
diff --git a/vendor/golang.org/x/oauth2/google/internal/externalaccount/aws.go b/vendor/golang.org/x/oauth2/google/internal/externalaccount/aws.go
index a5a5423c6..e917195d5 100644
--- a/vendor/golang.org/x/oauth2/google/internal/externalaccount/aws.go
+++ b/vendor/golang.org/x/oauth2/google/internal/externalaccount/aws.go
@@ -52,6 +52,13 @@ const (
// The AWS authorization header name for the security session token if available.
awsSecurityTokenHeader = "x-amz-security-token"
+ // The name of the header containing the session token for metadata endpoint calls
+ awsIMDSv2SessionTokenHeader = "X-aws-ec2-metadata-token"
+
+ awsIMDSv2SessionTtlHeader = "X-aws-ec2-metadata-token-ttl-seconds"
+
+ awsIMDSv2SessionTtl = "300"
+
// The AWS authorization header name for the auto-generated date.
awsDateHeader = "x-amz-date"
@@ -241,6 +248,7 @@ type awsCredentialSource struct {
RegionURL string
RegionalCredVerificationURL string
CredVerificationURL string
+ IMDSv2SessionTokenURL string
TargetResource string
requestSigner *awsRequestSigner
region string
@@ -268,12 +276,22 @@ func (cs awsCredentialSource) doRequest(req *http.Request) (*http.Response, erro
func (cs awsCredentialSource) subjectToken() (string, error) {
if cs.requestSigner == nil {
- awsSecurityCredentials, err := cs.getSecurityCredentials()
+ awsSessionToken, err := cs.getAWSSessionToken()
+ if err != nil {
+ return "", err
+ }
+
+ headers := make(map[string]string)
+ if awsSessionToken != "" {
+ headers[awsIMDSv2SessionTokenHeader] = awsSessionToken
+ }
+
+ awsSecurityCredentials, err := cs.getSecurityCredentials(headers)
if err != nil {
return "", err
}
- if cs.region, err = cs.getRegion(); err != nil {
+ if cs.region, err = cs.getRegion(headers); err != nil {
return "", err
}
@@ -340,7 +358,37 @@ func (cs awsCredentialSource) subjectToken() (string, error) {
return url.QueryEscape(string(result)), nil
}
-func (cs *awsCredentialSource) getRegion() (string, error) {
+func (cs *awsCredentialSource) getAWSSessionToken() (string, error) {
+ if cs.IMDSv2SessionTokenURL == "" {
+ return "", nil
+ }
+
+ req, err := http.NewRequest("PUT", cs.IMDSv2SessionTokenURL, nil)
+ if err != nil {
+ return "", err
+ }
+
+ req.Header.Add(awsIMDSv2SessionTtlHeader, awsIMDSv2SessionTtl)
+
+ resp, err := cs.doRequest(req)
+ if err != nil {
+ return "", err
+ }
+ defer resp.Body.Close()
+
+ respBody, err := ioutil.ReadAll(io.LimitReader(resp.Body, 1<<20))
+ if err != nil {
+ return "", err
+ }
+
+ if resp.StatusCode != 200 {
+ return "", fmt.Errorf("oauth2/google: unable to retrieve AWS session token - %s", string(respBody))
+ }
+
+ return string(respBody), nil
+}
+
+func (cs *awsCredentialSource) getRegion(headers map[string]string) (string, error) {
if envAwsRegion := getenv("AWS_REGION"); envAwsRegion != "" {
return envAwsRegion, nil
}
@@ -357,6 +405,10 @@ func (cs *awsCredentialSource) getRegion() (string, error) {
return "", err
}
+ for name, value := range headers {
+ req.Header.Add(name, value)
+ }
+
resp, err := cs.doRequest(req)
if err != nil {
return "", err
@@ -381,7 +433,7 @@ func (cs *awsCredentialSource) getRegion() (string, error) {
return string(respBody[:respBodyEnd]), nil
}
-func (cs *awsCredentialSource) getSecurityCredentials() (result awsSecurityCredentials, err error) {
+func (cs *awsCredentialSource) getSecurityCredentials(headers map[string]string) (result awsSecurityCredentials, err error) {
if accessKeyID := getenv("AWS_ACCESS_KEY_ID"); accessKeyID != "" {
if secretAccessKey := getenv("AWS_SECRET_ACCESS_KEY"); secretAccessKey != "" {
return awsSecurityCredentials{
@@ -392,12 +444,12 @@ func (cs *awsCredentialSource) getSecurityCredentials() (result awsSecurityCrede
}
}
- roleName, err := cs.getMetadataRoleName()
+ roleName, err := cs.getMetadataRoleName(headers)
if err != nil {
return
}
- credentials, err := cs.getMetadataSecurityCredentials(roleName)
+ credentials, err := cs.getMetadataSecurityCredentials(roleName, headers)
if err != nil {
return
}
@@ -413,7 +465,7 @@ func (cs *awsCredentialSource) getSecurityCredentials() (result awsSecurityCrede
return credentials, nil
}
-func (cs *awsCredentialSource) getMetadataSecurityCredentials(roleName string) (awsSecurityCredentials, error) {
+func (cs *awsCredentialSource) getMetadataSecurityCredentials(roleName string, headers map[string]string) (awsSecurityCredentials, error) {
var result awsSecurityCredentials
req, err := http.NewRequest("GET", fmt.Sprintf("%s/%s", cs.CredVerificationURL, roleName), nil)
@@ -422,6 +474,10 @@ func (cs *awsCredentialSource) getMetadataSecurityCredentials(roleName string) (
}
req.Header.Add("Content-Type", "application/json")
+ for name, value := range headers {
+ req.Header.Add(name, value)
+ }
+
resp, err := cs.doRequest(req)
if err != nil {
return result, err
@@ -441,7 +497,7 @@ func (cs *awsCredentialSource) getMetadataSecurityCredentials(roleName string) (
return result, err
}
-func (cs *awsCredentialSource) getMetadataRoleName() (string, error) {
+func (cs *awsCredentialSource) getMetadataRoleName(headers map[string]string) (string, error) {
if cs.CredVerificationURL == "" {
return "", errors.New("oauth2/google: unable to determine the AWS metadata server security credentials endpoint")
}
@@ -451,6 +507,10 @@ func (cs *awsCredentialSource) getMetadataRoleName() (string, error) {
return "", err
}
+ for name, value := range headers {
+ req.Header.Add(name, value)
+ }
+
resp, err := cs.doRequest(req)
if err != nil {
return "", err
diff --git a/vendor/golang.org/x/oauth2/google/internal/externalaccount/basecredentials.go b/vendor/golang.org/x/oauth2/google/internal/externalaccount/basecredentials.go
index dab917f39..83ce9c245 100644
--- a/vendor/golang.org/x/oauth2/google/internal/externalaccount/basecredentials.go
+++ b/vendor/golang.org/x/oauth2/google/internal/externalaccount/basecredentials.go
@@ -53,6 +53,11 @@ type Config struct {
QuotaProjectID string
// Scopes contains the desired scopes for the returned access token.
Scopes []string
+ // The optional workforce pool user project number when the credential
+ // corresponds to a workforce pool and not a workload identity pool.
+ // The underlying principal must still have serviceusage.services.use IAM
+ // permission to use the project for billing/quota.
+ WorkforcePoolUserProject string
}
// Each element consists of a list of patterns. validateURLs checks for matches
@@ -73,6 +78,7 @@ var (
regexp.MustCompile(`^iamcredentials\.[^\.\s\/\\]+\.googleapis\.com$`),
regexp.MustCompile(`^[^\.\s\/\\]+-iamcredentials\.googleapis\.com$`),
}
+ validWorkforceAudiencePattern *regexp.Regexp = regexp.MustCompile(`//iam\.googleapis\.com/locations/[^/]+/workforcePools/`)
)
func validateURL(input string, patterns []*regexp.Regexp, scheme string) bool {
@@ -86,14 +92,17 @@ func validateURL(input string, patterns []*regexp.Regexp, scheme string) bool {
toTest := parsed.Host
for _, pattern := range patterns {
-
- if valid := pattern.MatchString(toTest); valid {
+ if pattern.MatchString(toTest) {
return true
}
}
return false
}
+func validateWorkforceAudience(input string) bool {
+ return validWorkforceAudiencePattern.MatchString(input)
+}
+
// TokenSource Returns an external account TokenSource struct. This is to be called by package google to construct a google.Credentials.
func (c *Config) TokenSource(ctx context.Context) (oauth2.TokenSource, error) {
return c.tokenSource(ctx, validTokenURLPatterns, validImpersonateURLPatterns, "https")
@@ -115,6 +124,13 @@ func (c *Config) tokenSource(ctx context.Context, tokenURLValidPats []*regexp.Re
}
}
+ if c.WorkforcePoolUserProject != "" {
+ valid := validateWorkforceAudience(c.Audience)
+ if !valid {
+ return nil, fmt.Errorf("oauth2/google: workforce_pool_user_project should not be set for non-workforce pool credentials")
+ }
+ }
+
ts := tokenSource{
ctx: ctx,
conf: c,
@@ -124,11 +140,11 @@ func (c *Config) tokenSource(ctx context.Context, tokenURLValidPats []*regexp.Re
}
scopes := c.Scopes
ts.conf.Scopes = []string{"https://www.googleapis.com/auth/cloud-platform"}
- imp := impersonateTokenSource{
- ctx: ctx,
- url: c.ServiceAccountImpersonationURL,
- scopes: scopes,
- ts: oauth2.ReuseTokenSource(nil, ts),
+ imp := ImpersonateTokenSource{
+ Ctx: ctx,
+ URL: c.ServiceAccountImpersonationURL,
+ Scopes: scopes,
+ Ts: oauth2.ReuseTokenSource(nil, ts),
}
return oauth2.ReuseTokenSource(nil, imp), nil
}
@@ -159,6 +175,7 @@ type CredentialSource struct {
RegionURL string `json:"region_url"`
RegionalCredVerificationURL string `json:"regional_cred_verification_url"`
CredVerificationURL string `json:"cred_verification_url"`
+ IMDSv2SessionTokenURL string `json:"imdsv2_session_token_url"`
Format format `json:"format"`
}
@@ -169,14 +186,20 @@ func (c *Config) parse(ctx context.Context) (baseCredentialSource, error) {
if awsVersion != 1 {
return nil, fmt.Errorf("oauth2/google: aws version '%d' is not supported in the current build", awsVersion)
}
- return awsCredentialSource{
+
+ awsCredSource := awsCredentialSource{
EnvironmentID: c.CredentialSource.EnvironmentID,
RegionURL: c.CredentialSource.RegionURL,
RegionalCredVerificationURL: c.CredentialSource.RegionalCredVerificationURL,
CredVerificationURL: c.CredentialSource.URL,
TargetResource: c.Audience,
ctx: ctx,
- }, nil
+ }
+ if c.CredentialSource.IMDSv2SessionTokenURL != "" {
+ awsCredSource.IMDSv2SessionTokenURL = c.CredentialSource.IMDSv2SessionTokenURL
+ }
+
+ return awsCredSource, nil
}
} else if c.CredentialSource.File != "" {
return fileCredentialSource{File: c.CredentialSource.File, Format: c.CredentialSource.Format}, nil
@@ -224,7 +247,15 @@ func (ts tokenSource) Token() (*oauth2.Token, error) {
ClientID: conf.ClientID,
ClientSecret: conf.ClientSecret,
}
- stsResp, err := exchangeToken(ts.ctx, conf.TokenURL, &stsRequest, clientAuth, header, nil)
+ var options map[string]interface{}
+ // Do not pass workforce_pool_user_project when client authentication is used.
+ // The client ID is sufficient for determining the user project.
+ if conf.WorkforcePoolUserProject != "" && conf.ClientID == "" {
+ options = map[string]interface{}{
+ "userProject": conf.WorkforcePoolUserProject,
+ }
+ }
+ stsResp, err := exchangeToken(ts.ctx, conf.TokenURL, &stsRequest, clientAuth, header, options)
if err != nil {
return nil, err
}
diff --git a/vendor/golang.org/x/oauth2/google/internal/externalaccount/impersonate.go b/vendor/golang.org/x/oauth2/google/internal/externalaccount/impersonate.go
index 64edb5600..8251fc85e 100644
--- a/vendor/golang.org/x/oauth2/google/internal/externalaccount/impersonate.go
+++ b/vendor/golang.org/x/oauth2/google/internal/externalaccount/impersonate.go
@@ -29,30 +29,44 @@ type impersonateTokenResponse struct {
ExpireTime string `json:"expireTime"`
}
-type impersonateTokenSource struct {
- ctx context.Context
- ts oauth2.TokenSource
+// ImpersonateTokenSource uses a source credential, stored in Ts, to request an access token to the provided URL.
+// Scopes can be defined when the access token is requested.
+type ImpersonateTokenSource struct {
+ // Ctx is the execution context of the impersonation process
+ // used to perform http call to the URL. Required
+ Ctx context.Context
+ // Ts is the source credential used to generate a token on the
+ // impersonated service account. Required.
+ Ts oauth2.TokenSource
- url string
- scopes []string
+ // URL is the endpoint to call to generate a token
+ // on behalf the service account. Required.
+ URL string
+ // Scopes that the impersonated credential should have. Required.
+ Scopes []string
+ // Delegates are the service account email addresses in a delegation chain.
+ // Each service account must be granted roles/iam.serviceAccountTokenCreator
+ // on the next service account in the chain. Optional.
+ Delegates []string
}
// Token performs the exchange to get a temporary service account token to allow access to GCP.
-func (its impersonateTokenSource) Token() (*oauth2.Token, error) {
+func (its ImpersonateTokenSource) Token() (*oauth2.Token, error) {
reqBody := generateAccessTokenReq{
- Lifetime: "3600s",
- Scope: its.scopes,
+ Lifetime: "3600s",
+ Scope: its.Scopes,
+ Delegates: its.Delegates,
}
b, err := json.Marshal(reqBody)
if err != nil {
return nil, fmt.Errorf("oauth2/google: unable to marshal request: %v", err)
}
- client := oauth2.NewClient(its.ctx, its.ts)
- req, err := http.NewRequest("POST", its.url, bytes.NewReader(b))
+ client := oauth2.NewClient(its.Ctx, its.Ts)
+ req, err := http.NewRequest("POST", its.URL, bytes.NewReader(b))
if err != nil {
return nil, fmt.Errorf("oauth2/google: unable to create impersonation request: %v", err)
}
- req = req.WithContext(its.ctx)
+ req = req.WithContext(its.Ctx)
req.Header.Set("Content-Type", "application/json")
resp, err := client.Do(req)
diff --git a/vendor/golang.org/x/sys/unix/README.md b/vendor/golang.org/x/sys/unix/README.md
index 474efad0e..7d3c060e1 100644
--- a/vendor/golang.org/x/sys/unix/README.md
+++ b/vendor/golang.org/x/sys/unix/README.md
@@ -149,7 +149,7 @@ To add a constant, add the header that includes it to the appropriate variable.
Then, edit the regex (if necessary) to match the desired constant. Avoid making
the regex too broad to avoid matching unintended constants.
-### mkmerge.go
+### internal/mkmerge
This program is used to extract duplicate const, func, and type declarations
from the generated architecture-specific files listed below, and merge these
diff --git a/vendor/golang.org/x/sys/unix/ioctl_linux.go b/vendor/golang.org/x/sys/unix/ioctl_linux.go
index 1dadead21..884430b81 100644
--- a/vendor/golang.org/x/sys/unix/ioctl_linux.go
+++ b/vendor/golang.org/x/sys/unix/ioctl_linux.go
@@ -194,3 +194,26 @@ func ioctlIfreqData(fd int, req uint, value *ifreqData) error {
// identical so pass *IfreqData directly.
return ioctlPtr(fd, req, unsafe.Pointer(value))
}
+
+// IoctlKCMClone attaches a new file descriptor to a multiplexor by cloning an
+// existing KCM socket, returning a structure containing the file descriptor of
+// the new socket.
+func IoctlKCMClone(fd int) (*KCMClone, error) {
+ var info KCMClone
+ if err := ioctlPtr(fd, SIOCKCMCLONE, unsafe.Pointer(&info)); err != nil {
+ return nil, err
+ }
+
+ return &info, nil
+}
+
+// IoctlKCMAttach attaches a TCP socket and associated BPF program file
+// descriptor to a multiplexor.
+func IoctlKCMAttach(fd int, info KCMAttach) error {
+ return ioctlPtr(fd, SIOCKCMATTACH, unsafe.Pointer(&info))
+}
+
+// IoctlKCMUnattach unattaches a TCP socket file descriptor from a multiplexor.
+func IoctlKCMUnattach(fd int, info KCMUnattach) error {
+ return ioctlPtr(fd, SIOCKCMUNATTACH, unsafe.Pointer(&info))
+}
diff --git a/vendor/golang.org/x/sys/unix/mkall.sh b/vendor/golang.org/x/sys/unix/mkall.sh
index 396aadf86..ee7362348 100644
--- a/vendor/golang.org/x/sys/unix/mkall.sh
+++ b/vendor/golang.org/x/sys/unix/mkall.sh
@@ -50,7 +50,7 @@ if [[ "$GOOS" = "linux" ]]; then
# Use the Docker-based build system
# Files generated through docker (use $cmd so you can Ctl-C the build or run)
$cmd docker build --tag generate:$GOOS $GOOS
- $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")" && /bin/pwd):/build generate:$GOOS
+ $cmd docker run --interactive --tty --volume $(cd -- "$(dirname -- "$0")/.." && /bin/pwd):/build generate:$GOOS
exit
fi
diff --git a/vendor/golang.org/x/sys/unix/mkerrors.sh b/vendor/golang.org/x/sys/unix/mkerrors.sh
index 850aafec1..a03708748 100644
--- a/vendor/golang.org/x/sys/unix/mkerrors.sh
+++ b/vendor/golang.org/x/sys/unix/mkerrors.sh
@@ -54,7 +54,7 @@ includes_AIX='
includes_Darwin='
#define _DARWIN_C_SOURCE
-#define KERNEL
+#define KERNEL 1
#define _DARWIN_USE_64_BIT_INODE
#define __APPLE_USE_RFC_3542
#include
@@ -75,6 +75,7 @@ includes_Darwin='
#include
#include
#include
+#include
#include
#include
#include
@@ -82,6 +83,9 @@ includes_Darwin='
#include
#include
#include
+
+// for backwards compatibility because moved TIOCREMOTE to Kernel.framework after MacOSX12.0.sdk.
+#define TIOCREMOTE 0x80047469
'
includes_DragonFly='
@@ -201,6 +205,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
#include
@@ -227,6 +232,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
#include
@@ -235,6 +241,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
#include
@@ -256,6 +263,7 @@ struct ltchars {
#include
#include
#include
+#include
#include
#include
@@ -466,7 +474,6 @@ ccflags="$@"
$2 !~ /^EQUIV_/ &&
$2 !~ /^EXPR_/ &&
$2 !~ /^EVIOC/ &&
- $2 !~ /^EV_/ &&
$2 ~ /^E[A-Z0-9_]+$/ ||
$2 ~ /^B[0-9_]+$/ ||
$2 ~ /^(OLD|NEW)DEV$/ ||
@@ -498,6 +505,7 @@ ccflags="$@"
$2 ~ /^O?XTABS$/ ||
$2 ~ /^TC[IO](ON|OFF)$/ ||
$2 ~ /^IN_/ ||
+ $2 ~ /^KCM/ ||
$2 ~ /^LANDLOCK_/ ||
$2 ~ /^LOCK_(SH|EX|NB|UN)$/ ||
$2 ~ /^LO_(KEY|NAME)_SIZE$/ ||
@@ -517,7 +525,7 @@ ccflags="$@"
$2 ~ /^HW_MACHINE$/ ||
$2 ~ /^SYSCTL_VERS/ ||
$2 !~ "MNT_BITS" &&
- $2 ~ /^(MS|MNT|UMOUNT)_/ ||
+ $2 ~ /^(MS|MNT|MOUNT|UMOUNT)_/ ||
$2 ~ /^NS_GET_/ ||
$2 ~ /^TUN(SET|GET|ATTACH|DETACH)/ ||
$2 ~ /^(O|F|[ES]?FD|NAME|S|PTRACE|PT|TFD)_/ ||
@@ -592,6 +600,7 @@ ccflags="$@"
$2 ~ /^DEVLINK_/ ||
$2 ~ /^ETHTOOL_/ ||
$2 ~ /^LWTUNNEL_IP/ ||
+ $2 ~ /^ITIMER_/ ||
$2 !~ "WMESGLEN" &&
$2 ~ /^W[A-Z0-9]+$/ ||
$2 ~/^PPPIOC/ ||
@@ -602,6 +611,7 @@ ccflags="$@"
$2 ~ /^MTD/ ||
$2 ~ /^OTP/ ||
$2 ~ /^MEM/ ||
+ $2 ~ /^WG/ ||
$2 ~ /^BLK[A-Z]*(GET$|SET$|BUF$|PART$|SIZE)/ {printf("\t%s = C.%s\n", $2, $2)}
$2 ~ /^__WCOREFLAG$/ {next}
$2 ~ /^__W[A-Z0-9]+$/ {printf("\t%s = C.%s\n", substr($2,3), $2)}
diff --git a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
index 8bf457059..5f63147e0 100644
--- a/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
+++ b/vendor/golang.org/x/sys/unix/sockcmsg_linux.go
@@ -34,3 +34,52 @@ func ParseUnixCredentials(m *SocketControlMessage) (*Ucred, error) {
ucred := *(*Ucred)(unsafe.Pointer(&m.Data[0]))
return &ucred, nil
}
+
+// PktInfo4 encodes Inet4Pktinfo into a socket control message of type IP_PKTINFO.
+func PktInfo4(info *Inet4Pktinfo) []byte {
+ b := make([]byte, CmsgSpace(SizeofInet4Pktinfo))
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
+ h.Level = SOL_IP
+ h.Type = IP_PKTINFO
+ h.SetLen(CmsgLen(SizeofInet4Pktinfo))
+ *(*Inet4Pktinfo)(h.data(0)) = *info
+ return b
+}
+
+// PktInfo6 encodes Inet6Pktinfo into a socket control message of type IPV6_PKTINFO.
+func PktInfo6(info *Inet6Pktinfo) []byte {
+ b := make([]byte, CmsgSpace(SizeofInet6Pktinfo))
+ h := (*Cmsghdr)(unsafe.Pointer(&b[0]))
+ h.Level = SOL_IPV6
+ h.Type = IPV6_PKTINFO
+ h.SetLen(CmsgLen(SizeofInet6Pktinfo))
+ *(*Inet6Pktinfo)(h.data(0)) = *info
+ return b
+}
+
+// ParseOrigDstAddr decodes a socket control message containing the original
+// destination address. To receive such a message the IP_RECVORIGDSTADDR or
+// IPV6_RECVORIGDSTADDR option must be enabled on the socket.
+func ParseOrigDstAddr(m *SocketControlMessage) (Sockaddr, error) {
+ switch {
+ case m.Header.Level == SOL_IP && m.Header.Type == IP_ORIGDSTADDR:
+ pp := (*RawSockaddrInet4)(unsafe.Pointer(&m.Data[0]))
+ sa := new(SockaddrInet4)
+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
+ sa.Port = int(p[0])<<8 + int(p[1])
+ sa.Addr = pp.Addr
+ return sa, nil
+
+ case m.Header.Level == SOL_IPV6 && m.Header.Type == IPV6_ORIGDSTADDR:
+ pp := (*RawSockaddrInet6)(unsafe.Pointer(&m.Data[0]))
+ sa := new(SockaddrInet6)
+ p := (*[2]byte)(unsafe.Pointer(&pp.Port))
+ sa.Port = int(p[0])<<8 + int(p[1])
+ sa.ZoneId = pp.Scope_id
+ sa.Addr = pp.Addr
+ return sa, nil
+
+ default:
+ return nil, EINVAL
+ }
+}
diff --git a/vendor/golang.org/x/sys/unix/syscall_aix.go b/vendor/golang.org/x/sys/unix/syscall_aix.go
index d8efb715f..4f55c8d99 100644
--- a/vendor/golang.org/x/sys/unix/syscall_aix.go
+++ b/vendor/golang.org/x/sys/unix/syscall_aix.go
@@ -70,9 +70,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
}
@@ -85,9 +83,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
}
@@ -261,9 +257,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa := new(SockaddrInet4)
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
case AF_INET6:
@@ -272,9 +266,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
return nil, EAFNOSUPPORT
@@ -385,6 +377,11 @@ func (w WaitStatus) TrapCause() int { return -1 }
//sys fcntl(fd int, cmd int, arg int) (val int, err error)
+//sys fsyncRange(fd int, how int, start int64, length int64) (err error) = fsync_range
+func Fsync(fd int) error {
+ return fsyncRange(fd, O_SYNC, 0, 0)
+}
+
/*
* Direct access
*/
@@ -401,7 +398,6 @@ func (w WaitStatus) TrapCause() int { return -1 }
//sys Fchmodat(dirfd int, path string, mode uint32, flags int) (err error)
//sys Fchownat(dirfd int, path string, uid int, gid int, flags int) (err error)
//sys Fdatasync(fd int) (err error)
-//sys Fsync(fd int) (err error)
// readdir_r
//sysnb Getpgid(pid int) (pgid int, err error)
@@ -523,8 +519,10 @@ func Pipe(p []int) (err error) {
}
var pp [2]_C_int
err = pipe(&pp)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_bsd.go b/vendor/golang.org/x/sys/unix/syscall_bsd.go
index 95ac3946b..0ce452326 100644
--- a/vendor/golang.org/x/sys/unix/syscall_bsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_bsd.go
@@ -163,9 +163,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
}
@@ -179,9 +177,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
}
@@ -210,9 +206,7 @@ func (sa *SockaddrDatalink) sockaddr() (unsafe.Pointer, _Socklen, error) {
sa.raw.Nlen = sa.Nlen
sa.raw.Alen = sa.Alen
sa.raw.Slen = sa.Slen
- for i := 0; i < len(sa.raw.Data); i++ {
- sa.raw.Data[i] = sa.Data[i]
- }
+ sa.raw.Data = sa.Data
return unsafe.Pointer(&sa.raw), SizeofSockaddrDatalink, nil
}
@@ -228,9 +222,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa.Nlen = pp.Nlen
sa.Alen = pp.Alen
sa.Slen = pp.Slen
- for i := 0; i < len(sa.Data); i++ {
- sa.Data[i] = pp.Data[i]
- }
+ sa.Data = pp.Data
return sa, nil
case AF_UNIX:
@@ -262,9 +254,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa := new(SockaddrInet4)
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
case AF_INET6:
@@ -273,9 +263,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
return anyToSockaddrGOOS(fd, rsa)
diff --git a/vendor/golang.org/x/sys/unix/syscall_darwin.go b/vendor/golang.org/x/sys/unix/syscall_darwin.go
index 23f6b5760..0eaab9131 100644
--- a/vendor/golang.org/x/sys/unix/syscall_darwin.go
+++ b/vendor/golang.org/x/sys/unix/syscall_darwin.go
@@ -48,6 +48,30 @@ func (sa *SockaddrCtl) sockaddr() (unsafe.Pointer, _Socklen, error) {
return unsafe.Pointer(&sa.raw), SizeofSockaddrCtl, nil
}
+// SockaddrVM implements the Sockaddr interface for AF_VSOCK type sockets.
+// SockaddrVM provides access to Darwin VM sockets: a mechanism that enables
+// bidirectional communication between a hypervisor and its guest virtual
+// machines.
+type SockaddrVM struct {
+ // CID and Port specify a context ID and port address for a VM socket.
+ // Guests have a unique CID, and hosts may have a well-known CID of:
+ // - VMADDR_CID_HYPERVISOR: refers to the hypervisor process.
+ // - VMADDR_CID_LOCAL: refers to local communication (loopback).
+ // - VMADDR_CID_HOST: refers to other processes on the host.
+ CID uint32
+ Port uint32
+ raw RawSockaddrVM
+}
+
+func (sa *SockaddrVM) sockaddr() (unsafe.Pointer, _Socklen, error) {
+ sa.raw.Len = SizeofSockaddrVM
+ sa.raw.Family = AF_VSOCK
+ sa.raw.Port = sa.Port
+ sa.raw.Cid = sa.CID
+
+ return unsafe.Pointer(&sa.raw), SizeofSockaddrVM, nil
+}
+
func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
switch rsa.Addr.Family {
case AF_SYSTEM:
@@ -58,6 +82,13 @@ func anyToSockaddrGOOS(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa.Unit = pp.Sc_unit
return sa, nil
}
+ case AF_VSOCK:
+ pp := (*RawSockaddrVM)(unsafe.Pointer(rsa))
+ sa := &SockaddrVM{
+ CID: pp.Cid,
+ Port: pp.Port,
+ }
+ return sa, nil
}
return nil, EAFNOSUPPORT
}
@@ -128,8 +159,10 @@ func Pipe(p []int) (err error) {
}
var x [2]int32
err = pipe(&x)
- p[0] = int(x[0])
- p[1] = int(x[1])
+ if err == nil {
+ p[0] = int(x[0])
+ p[1] = int(x[1])
+ }
return
}
@@ -399,8 +432,25 @@ func GetsockoptXucred(fd, level, opt int) (*Xucred, error) {
return x, err
}
-func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) {
- mib, err := sysctlmib(name)
+func SysctlKinfoProc(name string, args ...int) (*KinfoProc, error) {
+ mib, err := sysctlmib(name, args...)
+ if err != nil {
+ return nil, err
+ }
+
+ var kinfo KinfoProc
+ n := uintptr(SizeofKinfoProc)
+ if err := sysctl(mib, (*byte)(unsafe.Pointer(&kinfo)), &n, nil, 0); err != nil {
+ return nil, err
+ }
+ if n != SizeofKinfoProc {
+ return nil, EIO
+ }
+ return &kinfo, nil
+}
+
+func SysctlKinfoProcSlice(name string, args ...int) ([]KinfoProc, error) {
+ mib, err := sysctlmib(name, args...)
if err != nil {
return nil, err
}
@@ -433,6 +483,11 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) {
//sys sendfile(infd int, outfd int, offset int64, len *int64, hdtr unsafe.Pointer, flags int) (err error)
+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
+//sys shmdt(addr uintptr) (err error)
+//sys shmget(key int, size int, flag int) (id int, err error)
+
/*
* Exposed directly
*/
@@ -590,10 +645,6 @@ func SysctlKinfoProcSlice(name string) ([]KinfoProc, error) {
// Msgget
// Msgsnd
// Msgrcv
-// Shmat
-// Shmctl
-// Shmdt
-// Shmget
// Shm_open
// Shm_unlink
// Sem_open
diff --git a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
index 5af108a50..2e37c3167 100644
--- a/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
+++ b/vendor/golang.org/x/sys/unix/syscall_dragonfly.go
@@ -101,7 +101,10 @@ func Pipe(p []int) (err error) {
if len(p) != 2 {
return EINVAL
}
- p[0], p[1], err = pipe()
+ r, w, err := pipe()
+ if err == nil {
+ p[0], p[1] = r, w
+ }
return
}
@@ -114,7 +117,10 @@ func Pipe2(p []int, flags int) (err error) {
var pp [2]_C_int
// pipe2 on dragonfly takes an fds array as an argument, but still
// returns the file descriptors.
- p[0], p[1], err = pipe2(&pp, flags)
+ r, w, err := pipe2(&pp, flags)
+ if err == nil {
+ p[0], p[1] = r, w
+ }
return err
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_freebsd.go b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
index 18c392cf3..2f650ae66 100644
--- a/vendor/golang.org/x/sys/unix/syscall_freebsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_freebsd.go
@@ -110,8 +110,10 @@ func Pipe2(p []int, flags int) error {
}
var pp [2]_C_int
err := pipe2(&pp, flags)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return err
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux.go b/vendor/golang.org/x/sys/unix/syscall_linux.go
index 6a2c5cdaf..5f28f8fde 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux.go
@@ -14,6 +14,7 @@ package unix
import (
"encoding/binary"
"syscall"
+ "time"
"unsafe"
)
@@ -131,8 +132,10 @@ func Pipe2(p []int, flags int) error {
}
var pp [2]_C_int
err := pipe2(&pp, flags)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return err
}
@@ -145,6 +148,15 @@ func Ppoll(fds []PollFd, timeout *Timespec, sigmask *Sigset_t) (n int, err error
return ppoll(&fds[0], len(fds), timeout, sigmask)
}
+func Poll(fds []PollFd, timeout int) (n int, err error) {
+ var ts *Timespec
+ if timeout >= 0 {
+ ts = new(Timespec)
+ *ts = NsecToTimespec(int64(timeout) * 1e6)
+ }
+ return Ppoll(fds, ts, nil)
+}
+
//sys Readlinkat(dirfd int, path string, buf []byte) (n int, err error)
func Readlink(path string, buf []byte) (n int, err error) {
@@ -238,6 +250,13 @@ func Getwd() (wd string, err error) {
if n < 1 || n > len(buf) || buf[n-1] != 0 {
return "", EINVAL
}
+ // In some cases, Linux can return a path that starts with the
+ // "(unreachable)" prefix, which can potentially be a valid relative
+ // path. To work around that, return ENOENT if path is not absolute.
+ if buf[0] != '/' {
+ return "", ENOENT
+ }
+
return string(buf[0 : n-1]), nil
}
@@ -363,9 +382,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
}
@@ -378,9 +395,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
}
@@ -429,9 +444,7 @@ func (sa *SockaddrLinklayer) sockaddr() (unsafe.Pointer, _Socklen, error) {
sa.raw.Hatype = sa.Hatype
sa.raw.Pkttype = sa.Pkttype
sa.raw.Halen = sa.Halen
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrLinklayer, nil
}
@@ -846,12 +859,10 @@ func (sa *SockaddrTIPC) sockaddr() (unsafe.Pointer, _Socklen, error) {
if sa.Addr == nil {
return nil, 0, EINVAL
}
-
sa.raw.Family = AF_TIPC
sa.raw.Scope = int8(sa.Scope)
sa.raw.Addrtype = sa.Addr.tipcAddrtype()
sa.raw.Addr = sa.Addr.tipcAddr()
-
return unsafe.Pointer(&sa.raw), SizeofSockaddrTIPC, nil
}
@@ -865,9 +876,7 @@ type SockaddrL2TPIP struct {
func (sa *SockaddrL2TPIP) sockaddr() (unsafe.Pointer, _Socklen, error) {
sa.raw.Family = AF_INET
sa.raw.Conn_id = sa.ConnId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP, nil
}
@@ -883,9 +892,7 @@ func (sa *SockaddrL2TPIP6) sockaddr() (unsafe.Pointer, _Socklen, error) {
sa.raw.Family = AF_INET6
sa.raw.Conn_id = sa.ConnId
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrL2TPIP6, nil
}
@@ -981,9 +988,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa.Hatype = pp.Hatype
sa.Pkttype = pp.Pkttype
sa.Halen = pp.Halen
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
case AF_UNIX:
@@ -1022,18 +1027,14 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
pp := (*RawSockaddrL2TPIP)(unsafe.Pointer(rsa))
sa := new(SockaddrL2TPIP)
sa.ConnId = pp.Conn_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
default:
pp := (*RawSockaddrInet4)(unsafe.Pointer(rsa))
sa := new(SockaddrInet4)
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
@@ -1049,9 +1050,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa := new(SockaddrL2TPIP6)
sa.ConnId = pp.Conn_id
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
default:
pp := (*RawSockaddrInet6)(unsafe.Pointer(rsa))
@@ -1059,9 +1058,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
@@ -1788,6 +1785,16 @@ func Mount(source string, target string, fstype string, flags uintptr, data stri
return mount(source, target, fstype, flags, datap)
}
+//sys mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) = SYS_MOUNT_SETATTR
+
+// MountSetattr is a wrapper for mount_setattr(2).
+// https://man7.org/linux/man-pages/man2/mount_setattr.2.html
+//
+// Requires kernel >= 5.12.
+func MountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr) error {
+ return mountSetattr(dirfd, pathname, flags, attr, unsafe.Sizeof(*attr))
+}
+
func Sendfile(outfd int, infd int, offset *int64, count int) (written int, err error) {
if raceenabled {
raceReleaseMerge(unsafe.Pointer(&ioSync))
@@ -2310,11 +2317,61 @@ type RemoteIovec struct {
//sys PidfdOpen(pid int, flags int) (fd int, err error) = SYS_PIDFD_OPEN
//sys PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) = SYS_PIDFD_GETFD
+//sys shmat(id int, addr uintptr, flag int) (ret uintptr, err error)
+//sys shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error)
+//sys shmdt(addr uintptr) (err error)
+//sys shmget(key int, size int, flag int) (id int, err error)
+
+//sys getitimer(which int, currValue *Itimerval) (err error)
+//sys setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error)
+
+// MakeItimerval creates an Itimerval from interval and value durations.
+func MakeItimerval(interval, value time.Duration) Itimerval {
+ return Itimerval{
+ Interval: NsecToTimeval(interval.Nanoseconds()),
+ Value: NsecToTimeval(value.Nanoseconds()),
+ }
+}
+
+// A value which may be passed to the which parameter for Getitimer and
+// Setitimer.
+type ItimerWhich int
+
+// Possible which values for Getitimer and Setitimer.
+const (
+ ItimerReal ItimerWhich = ITIMER_REAL
+ ItimerVirtual ItimerWhich = ITIMER_VIRTUAL
+ ItimerProf ItimerWhich = ITIMER_PROF
+)
+
+// Getitimer wraps getitimer(2) to return the current value of the timer
+// specified by which.
+func Getitimer(which ItimerWhich) (Itimerval, error) {
+ var it Itimerval
+ if err := getitimer(int(which), &it); err != nil {
+ return Itimerval{}, err
+ }
+
+ return it, nil
+}
+
+// Setitimer wraps setitimer(2) to arm or disarm the timer specified by which.
+// It returns the previous value of the timer.
+//
+// If the Itimerval argument is the zero value, the timer will be disarmed.
+func Setitimer(which ItimerWhich, it Itimerval) (Itimerval, error) {
+ var prev Itimerval
+ if err := setitimer(int(which), &it, &prev); err != nil {
+ return Itimerval{}, err
+ }
+
+ return prev, nil
+}
+
/*
* Unimplemented
*/
// AfsSyscall
-// Alarm
// ArchPrctl
// Brk
// ClockNanosleep
@@ -2330,7 +2387,6 @@ type RemoteIovec struct {
// GetMempolicy
// GetRobustList
// GetThreadArea
-// Getitimer
// Getpmsg
// IoCancel
// IoDestroy
@@ -2391,10 +2447,6 @@ type RemoteIovec struct {
// SetRobustList
// SetThreadArea
// SetTidAddress
-// Shmat
-// Shmctl
-// Shmdt
-// Shmget
// Sigaltstack
// Swapoff
// Swapon
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_386.go b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
index 08b3f6a11..d44b8ad53 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_386.go
@@ -173,14 +173,6 @@ const (
_SENDMMSG = 20
)
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- fd, e := socketcall(_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), 0, 0, 0)
- if e != 0 {
- err = e
- }
- return
-}
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
fd, e := socketcall(_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
if e != 0 {
@@ -352,12 +344,3 @@ func (cmsg *Cmsghdr) SetLen(length int) {
func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint32(length)
}
-
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
new file mode 100644
index 000000000..08086ac6a
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_alarm.go
@@ -0,0 +1,14 @@
+// Copyright 2022 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build linux && (386 || amd64 || mips || mipsle || mips64 || mipsle || ppc64 || ppc64le || ppc || s390x || sparc64)
+// +build linux
+// +build 386 amd64 mips mipsle mips64 mipsle ppc64 ppc64le ppc s390x sparc64
+
+package unix
+
+// SYS_ALARM is not defined on arm or riscv, but is available for other GOARCH
+// values.
+
+//sys Alarm(seconds uint) (remaining uint, err error)
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
index dc31a15a8..bd21d93bf 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_amd64.go
@@ -62,7 +62,6 @@ func Stat(path string, stat *Stat_t) (err error) {
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error)
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -137,15 +136,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint64(length)
}
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
-
//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
index 1d136bae6..343c91f6b 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm.go
@@ -27,7 +27,6 @@ func Seek(fd int, offset int64, whence int) (newoffset int64, err error) {
return newoffset, nil
}
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -227,15 +226,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint32(length)
}
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
-
//sys armSyncFileRange(fd int, flags int, off int64, n int64) (err error) = SYS_ARM_SYNC_FILE_RANGE
func SyncFileRange(fd int, off int64, n int64, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
index 9c715dc4a..8c5628684 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_arm64.go
@@ -66,7 +66,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
return ENOSYS
}
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -185,18 +184,6 @@ func Pause() error {
return err
}
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- var ts *Timespec
- if timeout >= 0 {
- ts = new(Timespec)
- *ts = NsecToTimespec(int64(timeout) * 1e6)
- }
- if len(fds) == 0 {
- return ppoll(nil, 0, ts, nil)
- }
- return ppoll(&fds[0], len(fds), ts, nil)
-}
-
//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
index d47ceafa2..f0b138002 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go
@@ -48,7 +48,6 @@ func Select(nfd int, r *FdSet, w *FdSet, e *FdSet, timeout *Timeval) (n int, err
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error)
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -194,12 +193,3 @@ func (cmsg *Cmsghdr) SetLen(length int) {
func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint64(length)
}
-
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
index 27ee4db60..e6163c30f 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go
@@ -41,7 +41,6 @@ func Syscall9(trap, a1, a2, a3, a4, a5, a6, a7, a8, a9 uintptr) (r1, r2 uintptr,
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -206,12 +205,3 @@ func (cmsg *Cmsghdr) SetLen(length int) {
func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint32(length)
}
-
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
index 299ba9de5..4740e80a8 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc.go
@@ -43,7 +43,6 @@ import (
//sys Stat(path string, stat *Stat_t) (err error) = SYS_STAT64
//sys Truncate(path string, length int64) (err error) = SYS_TRUNCATE64
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -215,15 +214,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint32(length)
}
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
-
//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2
func SyncFileRange(fd int, off int64, n int64, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
index 0873b07b1..78bc9166e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go
@@ -45,7 +45,6 @@ package unix
//sys Statfs(path string, buf *Statfs_t) (err error)
//sys Truncate(path string, length int64) (err error)
//sys Ustat(dev int, ubuf *Ustat_t) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -101,15 +100,6 @@ func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint64(length)
}
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
-
//sys syncFileRange2(fd int, flags int, off int64, n int64) (err error) = SYS_SYNC_FILE_RANGE2
func SyncFileRange(fd int, off int64, n int64, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
index e2c5b32f9..3d6c4eb06 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_riscv64.go
@@ -65,7 +65,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
return ENOSYS
}
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -166,18 +165,6 @@ func Pause() error {
return err
}
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- var ts *Timespec
- if timeout >= 0 {
- ts = new(Timespec)
- *ts = NsecToTimespec(int64(timeout) * 1e6)
- }
- if len(fds) == 0 {
- return ppoll(nil, 0, ts, nil)
- }
- return ppoll(&fds[0], len(fds), ts, nil)
-}
-
func Renameat(olddirfd int, oldpath string, newdirfd int, newpath string) (err error) {
return Renameat2(olddirfd, oldpath, newdirfd, newpath, 0)
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
index dfa204db4..89ce84a41 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_s390x.go
@@ -145,15 +145,6 @@ const (
netSendMMsg = 20
)
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (int, error) {
- args := [3]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen))}
- fd, _, err := Syscall(SYS_SOCKETCALL, netAccept, uintptr(unsafe.Pointer(&args)), 0)
- if err != 0 {
- return 0, err
- }
- return int(fd), nil
-}
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (int, error) {
args := [4]uintptr{uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags)}
fd, _, err := Syscall(SYS_SOCKETCALL, netAccept4, uintptr(unsafe.Pointer(&args)), 0)
@@ -297,15 +288,6 @@ func Shutdown(s, how int) error {
return nil
}
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
-
//sys kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error)
func KexecFileLoad(kernelFd int, initrdFd int, cmdline string, flags int) error {
diff --git a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
index 4c54e0936..35bdb098c 100644
--- a/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go
@@ -42,7 +42,6 @@ package unix
//sys Statfs(path string, buf *Statfs_t) (err error)
//sys SyncFileRange(fd int, off int64, n int64, flags int) (err error)
//sys Truncate(path string, length int64) (err error)
-//sys accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error)
//sys accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error)
//sys bind(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
//sys connect(s int, addr unsafe.Pointer, addrlen _Socklen) (err error)
@@ -117,12 +116,3 @@ func (cmsg *Cmsghdr) SetLen(length int) {
func (rsa *RawSockaddrNFCLLCP) SetServiceNameLen(length int) {
rsa.Service_name_len = uint64(length)
}
-
-//sys poll(fds *PollFd, nfds int, timeout int) (n int, err error)
-
-func Poll(fds []PollFd, timeout int) (n int, err error) {
- if len(fds) == 0 {
- return poll(nil, 0, timeout)
- }
- return poll(&fds[0], len(fds), timeout)
-}
diff --git a/vendor/golang.org/x/sys/unix/syscall_netbsd.go b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
index 853d5f0f4..696fed496 100644
--- a/vendor/golang.org/x/sys/unix/syscall_netbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_netbsd.go
@@ -110,14 +110,8 @@ func direntNamlen(buf []byte) (uint64, bool) {
return readInt(buf, unsafe.Offsetof(Dirent{}.Namlen), unsafe.Sizeof(Dirent{}.Namlen))
}
-//sysnb pipe() (fd1 int, fd2 int, err error)
-
func Pipe(p []int) (err error) {
- if len(p) != 2 {
- return EINVAL
- }
- p[0], p[1], err = pipe()
- return
+ return Pipe2(p, 0)
}
//sysnb pipe2(p *[2]_C_int, flags int) (err error)
@@ -128,8 +122,10 @@ func Pipe2(p []int, flags int) error {
}
var pp [2]_C_int
err := pipe2(&pp, flags)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return err
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_openbsd.go b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
index 22b550385..11b1d419d 100644
--- a/vendor/golang.org/x/sys/unix/syscall_openbsd.go
+++ b/vendor/golang.org/x/sys/unix/syscall_openbsd.go
@@ -87,8 +87,10 @@ func Pipe2(p []int, flags int) error {
}
var pp [2]_C_int
err := pipe2(&pp, flags)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return err
}
diff --git a/vendor/golang.org/x/sys/unix/syscall_solaris.go b/vendor/golang.org/x/sys/unix/syscall_solaris.go
index d2a6495c7..5c813921e 100644
--- a/vendor/golang.org/x/sys/unix/syscall_solaris.go
+++ b/vendor/golang.org/x/sys/unix/syscall_solaris.go
@@ -66,8 +66,10 @@ func Pipe(p []int) (err error) {
if n != 0 {
return err
}
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return nil
}
@@ -79,8 +81,10 @@ func Pipe2(p []int, flags int) error {
}
var pp [2]_C_int
err := pipe2(&pp, flags)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return err
}
@@ -92,9 +96,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet4, nil
}
@@ -107,9 +109,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), SizeofSockaddrInet6, nil
}
@@ -417,9 +417,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa := new(SockaddrInet4)
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
case AF_INET6:
@@ -428,9 +426,7 @@ func anyToSockaddr(fd int, rsa *RawSockaddrAny) (Sockaddr, error) {
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
return nil, EAFNOSUPPORT
diff --git a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
index 1ffd8bfcf..f8616f454 100644
--- a/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
+++ b/vendor/golang.org/x/sys/unix/syscall_zos_s390x.go
@@ -67,9 +67,7 @@ func (sa *SockaddrInet4) sockaddr() (unsafe.Pointer, _Socklen, error) {
p := (*[2]byte)(unsafe.Pointer(&sa.raw.Port))
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
}
@@ -83,9 +81,7 @@ func (sa *SockaddrInet6) sockaddr() (unsafe.Pointer, _Socklen, error) {
p[0] = byte(sa.Port >> 8)
p[1] = byte(sa.Port)
sa.raw.Scope_id = sa.ZoneId
- for i := 0; i < len(sa.Addr); i++ {
- sa.raw.Addr[i] = sa.Addr[i]
- }
+ sa.raw.Addr = sa.Addr
return unsafe.Pointer(&sa.raw), _Socklen(sa.raw.Len), nil
}
@@ -144,9 +140,7 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
sa := new(SockaddrInet4)
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
case AF_INET6:
@@ -155,9 +149,7 @@ func anyToSockaddr(_ int, rsa *RawSockaddrAny) (Sockaddr, error) {
p := (*[2]byte)(unsafe.Pointer(&pp.Port))
sa.Port = int(p[0])<<8 + int(p[1])
sa.ZoneId = pp.Scope_id
- for i := 0; i < len(sa.Addr); i++ {
- sa.Addr[i] = pp.Addr[i]
- }
+ sa.Addr = pp.Addr
return sa, nil
}
return nil, EAFNOSUPPORT
@@ -587,8 +579,10 @@ func Pipe(p []int) (err error) {
}
var pp [2]_C_int
err = pipe(&pp)
- p[0] = int(pp[0])
- p[1] = int(pp[1])
+ if err == nil {
+ p[0] = int(pp[0])
+ p[1] = int(pp[1])
+ }
return
}
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_linux.go b/vendor/golang.org/x/sys/unix/sysvshm_linux.go
new file mode 100644
index 000000000..2c3a4437f
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/sysvshm_linux.go
@@ -0,0 +1,21 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build linux
+// +build linux
+
+package unix
+
+import "runtime"
+
+// SysvShmCtl performs control operations on the shared memory segment
+// specified by id.
+func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
+ if runtime.GOARCH == "arm" ||
+ runtime.GOARCH == "mips64" || runtime.GOARCH == "mips64le" {
+ cmd |= ipc_64
+ }
+
+ return shmctl(id, cmd, desc)
+}
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix.go b/vendor/golang.org/x/sys/unix/sysvshm_unix.go
new file mode 100644
index 000000000..0bb4c8de5
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/sysvshm_unix.go
@@ -0,0 +1,61 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build (darwin && !ios) || linux
+// +build darwin,!ios linux
+
+package unix
+
+import (
+ "unsafe"
+
+ "golang.org/x/sys/internal/unsafeheader"
+)
+
+// SysvShmAttach attaches the Sysv shared memory segment associated with the
+// shared memory identifier id.
+func SysvShmAttach(id int, addr uintptr, flag int) ([]byte, error) {
+ addr, errno := shmat(id, addr, flag)
+ if errno != nil {
+ return nil, errno
+ }
+
+ // Retrieve the size of the shared memory to enable slice creation
+ var info SysvShmDesc
+
+ _, err := SysvShmCtl(id, IPC_STAT, &info)
+ if err != nil {
+ // release the shared memory if we can't find the size
+
+ // ignoring error from shmdt as there's nothing sensible to return here
+ shmdt(addr)
+ return nil, err
+ }
+
+ // Use unsafe to convert addr into a []byte.
+ // TODO: convert to unsafe.Slice once we can assume Go 1.17
+ var b []byte
+ hdr := (*unsafeheader.Slice)(unsafe.Pointer(&b))
+ hdr.Data = unsafe.Pointer(addr)
+ hdr.Cap = int(info.Segsz)
+ hdr.Len = int(info.Segsz)
+ return b, nil
+}
+
+// SysvShmDetach unmaps the shared memory slice returned from SysvShmAttach.
+//
+// It is not safe to use the slice after calling this function.
+func SysvShmDetach(data []byte) error {
+ if len(data) == 0 {
+ return EINVAL
+ }
+
+ return shmdt(uintptr(unsafe.Pointer(&data[0])))
+}
+
+// SysvShmGet returns the Sysv shared memory identifier associated with key.
+// If the IPC_CREAT flag is specified a new segment is created.
+func SysvShmGet(key, size, flag int) (id int, err error) {
+ return shmget(key, size, flag)
+}
diff --git a/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
new file mode 100644
index 000000000..71bddefdb
--- /dev/null
+++ b/vendor/golang.org/x/sys/unix/sysvshm_unix_other.go
@@ -0,0 +1,14 @@
+// Copyright 2021 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build darwin && !ios
+// +build darwin,!ios
+
+package unix
+
+// SysvShmCtl performs control operations on the shared memory segment
+// specified by id.
+func SysvShmCtl(id, cmd int, desc *SysvShmDesc) (result int, err error) {
+ return shmctl(id, cmd, desc)
+}
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
index a3a45fec5..476a1c7e7 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go
@@ -12,1556 +12,1582 @@ package unix
import "syscall"
const (
- AF_APPLETALK = 0x10
- AF_CCITT = 0xa
- AF_CHAOS = 0x5
- AF_CNT = 0x15
- AF_COIP = 0x14
- AF_DATAKIT = 0x9
- AF_DECnet = 0xc
- AF_DLI = 0xd
- AF_E164 = 0x1c
- AF_ECMA = 0x8
- AF_HYLINK = 0xf
- AF_IEEE80211 = 0x25
- AF_IMPLINK = 0x3
- AF_INET = 0x2
- AF_INET6 = 0x1e
- AF_IPX = 0x17
- AF_ISDN = 0x1c
- AF_ISO = 0x7
- AF_LAT = 0xe
- AF_LINK = 0x12
- AF_LOCAL = 0x1
- AF_MAX = 0x29
- AF_NATM = 0x1f
- AF_NDRV = 0x1b
- AF_NETBIOS = 0x21
- AF_NS = 0x6
- AF_OSI = 0x7
- AF_PPP = 0x22
- AF_PUP = 0x4
- AF_RESERVED_36 = 0x24
- AF_ROUTE = 0x11
- AF_SIP = 0x18
- AF_SNA = 0xb
- AF_SYSTEM = 0x20
- AF_SYS_CONTROL = 0x2
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_UTUN = 0x26
- AF_VSOCK = 0x28
- ALTWERASE = 0x200
- ATTR_BIT_MAP_COUNT = 0x5
- ATTR_CMN_ACCESSMASK = 0x20000
- ATTR_CMN_ACCTIME = 0x1000
- ATTR_CMN_ADDEDTIME = 0x10000000
- ATTR_CMN_BKUPTIME = 0x2000
- ATTR_CMN_CHGTIME = 0x800
- ATTR_CMN_CRTIME = 0x200
- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
- ATTR_CMN_DEVID = 0x2
- ATTR_CMN_DOCUMENT_ID = 0x100000
- ATTR_CMN_ERROR = 0x20000000
- ATTR_CMN_EXTENDED_SECURITY = 0x400000
- ATTR_CMN_FILEID = 0x2000000
- ATTR_CMN_FLAGS = 0x40000
- ATTR_CMN_FNDRINFO = 0x4000
- ATTR_CMN_FSID = 0x4
- ATTR_CMN_FULLPATH = 0x8000000
- ATTR_CMN_GEN_COUNT = 0x80000
- ATTR_CMN_GRPID = 0x10000
- ATTR_CMN_GRPUUID = 0x1000000
- ATTR_CMN_MODTIME = 0x400
- ATTR_CMN_NAME = 0x1
- ATTR_CMN_NAMEDATTRCOUNT = 0x80000
- ATTR_CMN_NAMEDATTRLIST = 0x100000
- ATTR_CMN_OBJID = 0x20
- ATTR_CMN_OBJPERMANENTID = 0x40
- ATTR_CMN_OBJTAG = 0x10
- ATTR_CMN_OBJTYPE = 0x8
- ATTR_CMN_OWNERID = 0x8000
- ATTR_CMN_PARENTID = 0x4000000
- ATTR_CMN_PAROBJID = 0x80
- ATTR_CMN_RETURNED_ATTRS = 0x80000000
- ATTR_CMN_SCRIPT = 0x100
- ATTR_CMN_SETMASK = 0x51c7ff00
- ATTR_CMN_USERACCESS = 0x200000
- ATTR_CMN_UUID = 0x800000
- ATTR_CMN_VALIDMASK = 0xffffffff
- ATTR_CMN_VOLSETMASK = 0x6700
- ATTR_FILE_ALLOCSIZE = 0x4
- ATTR_FILE_CLUMPSIZE = 0x10
- ATTR_FILE_DATAALLOCSIZE = 0x400
- ATTR_FILE_DATAEXTENTS = 0x800
- ATTR_FILE_DATALENGTH = 0x200
- ATTR_FILE_DEVTYPE = 0x20
- ATTR_FILE_FILETYPE = 0x40
- ATTR_FILE_FORKCOUNT = 0x80
- ATTR_FILE_FORKLIST = 0x100
- ATTR_FILE_IOBLOCKSIZE = 0x8
- ATTR_FILE_LINKCOUNT = 0x1
- ATTR_FILE_RSRCALLOCSIZE = 0x2000
- ATTR_FILE_RSRCEXTENTS = 0x4000
- ATTR_FILE_RSRCLENGTH = 0x1000
- ATTR_FILE_SETMASK = 0x20
- ATTR_FILE_TOTALSIZE = 0x2
- ATTR_FILE_VALIDMASK = 0x37ff
- ATTR_VOL_ALLOCATIONCLUMP = 0x40
- ATTR_VOL_ATTRIBUTES = 0x40000000
- ATTR_VOL_CAPABILITIES = 0x20000
- ATTR_VOL_DIRCOUNT = 0x400
- ATTR_VOL_ENCODINGSUSED = 0x10000
- ATTR_VOL_FILECOUNT = 0x200
- ATTR_VOL_FSTYPE = 0x1
- ATTR_VOL_INFO = 0x80000000
- ATTR_VOL_IOBLOCKSIZE = 0x80
- ATTR_VOL_MAXOBJCOUNT = 0x800
- ATTR_VOL_MINALLOCATION = 0x20
- ATTR_VOL_MOUNTEDDEVICE = 0x8000
- ATTR_VOL_MOUNTFLAGS = 0x4000
- ATTR_VOL_MOUNTPOINT = 0x1000
- ATTR_VOL_NAME = 0x2000
- ATTR_VOL_OBJCOUNT = 0x100
- ATTR_VOL_QUOTA_SIZE = 0x10000000
- ATTR_VOL_RESERVED_SIZE = 0x20000000
- ATTR_VOL_SETMASK = 0x80002000
- ATTR_VOL_SIGNATURE = 0x2
- ATTR_VOL_SIZE = 0x4
- ATTR_VOL_SPACEAVAIL = 0x10
- ATTR_VOL_SPACEFREE = 0x8
- ATTR_VOL_UUID = 0x40000
- ATTR_VOL_VALIDMASK = 0xf007ffff
- B0 = 0x0
- B110 = 0x6e
- B115200 = 0x1c200
- B1200 = 0x4b0
- B134 = 0x86
- B14400 = 0x3840
- B150 = 0x96
- B1800 = 0x708
- B19200 = 0x4b00
- B200 = 0xc8
- B230400 = 0x38400
- B2400 = 0x960
- B28800 = 0x7080
- B300 = 0x12c
- B38400 = 0x9600
- B4800 = 0x12c0
- B50 = 0x32
- B57600 = 0xe100
- B600 = 0x258
- B7200 = 0x1c20
- B75 = 0x4b
- B76800 = 0x12c00
- B9600 = 0x2580
- BIOCFLUSH = 0x20004268
- BIOCGBLEN = 0x40044266
- BIOCGDLT = 0x4004426a
- BIOCGDLTLIST = 0xc00c4279
- BIOCGETIF = 0x4020426b
- BIOCGHDRCMPLT = 0x40044274
- BIOCGRSIG = 0x40044272
- BIOCGRTIMEOUT = 0x4010426e
- BIOCGSEESENT = 0x40044276
- BIOCGSTATS = 0x4008426f
- BIOCIMMEDIATE = 0x80044270
- BIOCPROMISC = 0x20004269
- BIOCSBLEN = 0xc0044266
- BIOCSDLT = 0x80044278
- BIOCSETF = 0x80104267
- BIOCSETFNR = 0x8010427e
- BIOCSETIF = 0x8020426c
- BIOCSHDRCMPLT = 0x80044275
- BIOCSRSIG = 0x80044273
- BIOCSRTIMEOUT = 0x8010426d
- BIOCSSEESENT = 0x80044277
- BIOCVERSION = 0x40044271
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- BPF_ALIGNMENT = 0x4
- BPF_ALU = 0x4
- BPF_AND = 0x50
- BPF_B = 0x10
- BPF_DIV = 0x30
- BPF_H = 0x8
- BPF_IMM = 0x0
- BPF_IND = 0x40
- BPF_JA = 0x0
- BPF_JEQ = 0x10
- BPF_JGE = 0x30
- BPF_JGT = 0x20
- BPF_JMP = 0x5
- BPF_JSET = 0x40
- BPF_K = 0x0
- BPF_LD = 0x0
- BPF_LDX = 0x1
- BPF_LEN = 0x80
- BPF_LSH = 0x60
- BPF_MAJOR_VERSION = 0x1
- BPF_MAXBUFSIZE = 0x80000
- BPF_MAXINSNS = 0x200
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINBUFSIZE = 0x20
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- BPF_RELEASE = 0x30bb6
- BPF_RET = 0x6
- BPF_RSH = 0x70
- BPF_ST = 0x2
- BPF_STX = 0x3
- BPF_SUB = 0x10
- BPF_TAX = 0x0
- BPF_TXA = 0x80
- BPF_W = 0x0
- BPF_X = 0x8
- BRKINT = 0x2
- BS0 = 0x0
- BS1 = 0x8000
- BSDLY = 0x8000
- CFLUSH = 0xf
- CLOCAL = 0x8000
- CLOCK_MONOTONIC = 0x6
- CLOCK_MONOTONIC_RAW = 0x4
- CLOCK_MONOTONIC_RAW_APPROX = 0x5
- CLOCK_PROCESS_CPUTIME_ID = 0xc
- CLOCK_REALTIME = 0x0
- CLOCK_THREAD_CPUTIME_ID = 0x10
- CLOCK_UPTIME_RAW = 0x8
- CLOCK_UPTIME_RAW_APPROX = 0x9
- CLONE_NOFOLLOW = 0x1
- CLONE_NOOWNERCOPY = 0x2
- CR0 = 0x0
- CR1 = 0x1000
- CR2 = 0x2000
- CR3 = 0x3000
- CRDLY = 0x3000
- CREAD = 0x800
- CRTSCTS = 0x30000
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x14
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- CTLIOCGINFO = 0xc0644e03
- CTL_HW = 0x6
- CTL_KERN = 0x1
- CTL_MAXNAME = 0xc
- CTL_NET = 0x4
- DLT_A429 = 0xb8
- DLT_A653_ICM = 0xb9
- DLT_AIRONET_HEADER = 0x78
- DLT_AOS = 0xde
- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a
- DLT_ARCNET = 0x7
- DLT_ARCNET_LINUX = 0x81
- DLT_ATM_CLIP = 0x13
- DLT_ATM_RFC1483 = 0xb
- DLT_AURORA = 0x7e
- DLT_AX25 = 0x3
- DLT_AX25_KISS = 0xca
- DLT_BACNET_MS_TP = 0xa5
- DLT_BLUETOOTH_HCI_H4 = 0xbb
- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9
- DLT_CAN20B = 0xbe
- DLT_CAN_SOCKETCAN = 0xe3
- DLT_CHAOS = 0x5
- DLT_CHDLC = 0x68
- DLT_CISCO_IOS = 0x76
- DLT_C_HDLC = 0x68
- DLT_C_HDLC_WITH_DIR = 0xcd
- DLT_DBUS = 0xe7
- DLT_DECT = 0xdd
- DLT_DOCSIS = 0x8f
- DLT_DVB_CI = 0xeb
- DLT_ECONET = 0x73
- DLT_EN10MB = 0x1
- DLT_EN3MB = 0x2
- DLT_ENC = 0x6d
- DLT_ERF = 0xc5
- DLT_ERF_ETH = 0xaf
- DLT_ERF_POS = 0xb0
- DLT_FC_2 = 0xe0
- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1
- DLT_FDDI = 0xa
- DLT_FLEXRAY = 0xd2
- DLT_FRELAY = 0x6b
- DLT_FRELAY_WITH_DIR = 0xce
- DLT_GCOM_SERIAL = 0xad
- DLT_GCOM_T1E1 = 0xac
- DLT_GPF_F = 0xab
- DLT_GPF_T = 0xaa
- DLT_GPRS_LLC = 0xa9
- DLT_GSMTAP_ABIS = 0xda
- DLT_GSMTAP_UM = 0xd9
- DLT_HHDLC = 0x79
- DLT_IBM_SN = 0x92
- DLT_IBM_SP = 0x91
- DLT_IEEE802 = 0x6
- DLT_IEEE802_11 = 0x69
- DLT_IEEE802_11_RADIO = 0x7f
- DLT_IEEE802_11_RADIO_AVS = 0xa3
- DLT_IEEE802_15_4 = 0xc3
- DLT_IEEE802_15_4_LINUX = 0xbf
- DLT_IEEE802_15_4_NOFCS = 0xe6
- DLT_IEEE802_15_4_NONASK_PHY = 0xd7
- DLT_IEEE802_16_MAC_CPS = 0xbc
- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1
- DLT_IPFILTER = 0x74
- DLT_IPMB = 0xc7
- DLT_IPMB_LINUX = 0xd1
- DLT_IPNET = 0xe2
- DLT_IPOIB = 0xf2
- DLT_IPV4 = 0xe4
- DLT_IPV6 = 0xe5
- DLT_IP_OVER_FC = 0x7a
- DLT_JUNIPER_ATM1 = 0x89
- DLT_JUNIPER_ATM2 = 0x87
- DLT_JUNIPER_ATM_CEMIC = 0xee
- DLT_JUNIPER_CHDLC = 0xb5
- DLT_JUNIPER_ES = 0x84
- DLT_JUNIPER_ETHER = 0xb2
- DLT_JUNIPER_FIBRECHANNEL = 0xea
- DLT_JUNIPER_FRELAY = 0xb4
- DLT_JUNIPER_GGSN = 0x85
- DLT_JUNIPER_ISM = 0xc2
- DLT_JUNIPER_MFR = 0x86
- DLT_JUNIPER_MLFR = 0x83
- DLT_JUNIPER_MLPPP = 0x82
- DLT_JUNIPER_MONITOR = 0xa4
- DLT_JUNIPER_PIC_PEER = 0xae
- DLT_JUNIPER_PPP = 0xb3
- DLT_JUNIPER_PPPOE = 0xa7
- DLT_JUNIPER_PPPOE_ATM = 0xa8
- DLT_JUNIPER_SERVICES = 0x88
- DLT_JUNIPER_SRX_E2E = 0xe9
- DLT_JUNIPER_ST = 0xc8
- DLT_JUNIPER_VP = 0xb7
- DLT_JUNIPER_VS = 0xe8
- DLT_LAPB_WITH_DIR = 0xcf
- DLT_LAPD = 0xcb
- DLT_LIN = 0xd4
- DLT_LINUX_EVDEV = 0xd8
- DLT_LINUX_IRDA = 0x90
- DLT_LINUX_LAPD = 0xb1
- DLT_LINUX_PPP_WITHDIRECTION = 0xa6
- DLT_LINUX_SLL = 0x71
- DLT_LOOP = 0x6c
- DLT_LTALK = 0x72
- DLT_MATCHING_MAX = 0x10a
- DLT_MATCHING_MIN = 0x68
- DLT_MFR = 0xb6
- DLT_MOST = 0xd3
- DLT_MPEG_2_TS = 0xf3
- DLT_MPLS = 0xdb
- DLT_MTP2 = 0x8c
- DLT_MTP2_WITH_PHDR = 0x8b
- DLT_MTP3 = 0x8d
- DLT_MUX27010 = 0xec
- DLT_NETANALYZER = 0xf0
- DLT_NETANALYZER_TRANSPARENT = 0xf1
- DLT_NFC_LLCP = 0xf5
- DLT_NFLOG = 0xef
- DLT_NG40 = 0xf4
- DLT_NULL = 0x0
- DLT_PCI_EXP = 0x7d
- DLT_PFLOG = 0x75
- DLT_PFSYNC = 0x12
- DLT_PPI = 0xc0
- DLT_PPP = 0x9
- DLT_PPP_BSDOS = 0x10
- DLT_PPP_ETHER = 0x33
- DLT_PPP_PPPD = 0xa6
- DLT_PPP_SERIAL = 0x32
- DLT_PPP_WITH_DIR = 0xcc
- DLT_PPP_WITH_DIRECTION = 0xa6
- DLT_PRISM_HEADER = 0x77
- DLT_PRONET = 0x4
- DLT_RAIF1 = 0xc6
- DLT_RAW = 0xc
- DLT_RIO = 0x7c
- DLT_SCCP = 0x8e
- DLT_SITA = 0xc4
- DLT_SLIP = 0x8
- DLT_SLIP_BSDOS = 0xf
- DLT_STANAG_5066_D_PDU = 0xed
- DLT_SUNATM = 0x7b
- DLT_SYMANTEC_FIREWALL = 0x63
- DLT_TZSP = 0x80
- DLT_USB = 0xba
- DLT_USB_DARWIN = 0x10a
- DLT_USB_LINUX = 0xbd
- DLT_USB_LINUX_MMAPPED = 0xdc
- DLT_USER0 = 0x93
- DLT_USER1 = 0x94
- DLT_USER10 = 0x9d
- DLT_USER11 = 0x9e
- DLT_USER12 = 0x9f
- DLT_USER13 = 0xa0
- DLT_USER14 = 0xa1
- DLT_USER15 = 0xa2
- DLT_USER2 = 0x95
- DLT_USER3 = 0x96
- DLT_USER4 = 0x97
- DLT_USER5 = 0x98
- DLT_USER6 = 0x99
- DLT_USER7 = 0x9a
- DLT_USER8 = 0x9b
- DLT_USER9 = 0x9c
- DLT_WIHART = 0xdf
- DLT_X2E_SERIAL = 0xd5
- DLT_X2E_XORAYA = 0xd6
- DT_BLK = 0x6
- DT_CHR = 0x2
- DT_DIR = 0x4
- DT_FIFO = 0x1
- DT_LNK = 0xa
- DT_REG = 0x8
- DT_SOCK = 0xc
- DT_UNKNOWN = 0x0
- DT_WHT = 0xe
- ECHO = 0x8
- ECHOCTL = 0x40
- ECHOE = 0x2
- ECHOK = 0x4
- ECHOKE = 0x1
- ECHONL = 0x10
- ECHOPRT = 0x20
- EVFILT_AIO = -0x3
- EVFILT_EXCEPT = -0xf
- EVFILT_FS = -0x9
- EVFILT_MACHPORT = -0x8
- EVFILT_PROC = -0x5
- EVFILT_READ = -0x1
- EVFILT_SIGNAL = -0x6
- EVFILT_SYSCOUNT = 0x11
- EVFILT_THREADMARKER = 0x11
- EVFILT_TIMER = -0x7
- EVFILT_USER = -0xa
- EVFILT_VM = -0xc
- EVFILT_VNODE = -0x4
- EVFILT_WRITE = -0x2
- EV_ADD = 0x1
- EV_CLEAR = 0x20
- EV_DELETE = 0x2
- EV_DISABLE = 0x8
- EV_DISPATCH = 0x80
- EV_DISPATCH2 = 0x180
- EV_ENABLE = 0x4
- EV_EOF = 0x8000
- EV_ERROR = 0x4000
- EV_FLAG0 = 0x1000
- EV_FLAG1 = 0x2000
- EV_ONESHOT = 0x10
- EV_OOBAND = 0x2000
- EV_POLL = 0x1000
- EV_RECEIPT = 0x40
- EV_SYSFLAGS = 0xf000
- EV_UDATA_SPECIFIC = 0x100
- EV_VANISHED = 0x200
- EXTA = 0x4b00
- EXTB = 0x9600
- EXTPROC = 0x800
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x4000
- FFDLY = 0x4000
- FLUSHO = 0x800000
- FSOPT_ATTR_CMN_EXTENDED = 0x20
- FSOPT_NOFOLLOW = 0x1
- FSOPT_NOINMEMUPDATE = 0x2
- FSOPT_PACK_INVAL_ATTRS = 0x8
- FSOPT_REPORT_FULLSIZE = 0x4
- FSOPT_RETURN_REALDEV = 0x200
- F_ADDFILESIGS = 0x3d
- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
- F_ADDFILESIGS_INFO = 0x67
- F_ADDFILESIGS_RETURN = 0x61
- F_ADDFILESUPPL = 0x68
- F_ADDSIGS = 0x3b
- F_ALLOCATEALL = 0x4
- F_ALLOCATECONTIG = 0x2
- F_BARRIERFSYNC = 0x55
- F_CHECK_LV = 0x62
- F_CHKCLEAN = 0x29
- F_DUPFD = 0x0
- F_DUPFD_CLOEXEC = 0x43
- F_FINDSIGS = 0x4e
- F_FLUSH_DATA = 0x28
- F_FREEZE_FS = 0x35
- F_FULLFSYNC = 0x33
- F_GETCODEDIR = 0x48
- F_GETFD = 0x1
- F_GETFL = 0x3
- F_GETLK = 0x7
- F_GETLKPID = 0x42
- F_GETNOSIGPIPE = 0x4a
- F_GETOWN = 0x5
- F_GETPATH = 0x32
- F_GETPATH_MTMINFO = 0x47
- F_GETPATH_NOFIRMLINK = 0x66
- F_GETPROTECTIONCLASS = 0x3f
- F_GETPROTECTIONLEVEL = 0x4d
- F_GETSIGSINFO = 0x69
- F_GLOBAL_NOCACHE = 0x37
- F_LOG2PHYS = 0x31
- F_LOG2PHYS_EXT = 0x41
- F_NOCACHE = 0x30
- F_NODIRECT = 0x3e
- F_OK = 0x0
- F_PATHPKG_CHECK = 0x34
- F_PEOFPOSMODE = 0x3
- F_PREALLOCATE = 0x2a
- F_PUNCHHOLE = 0x63
- F_RDADVISE = 0x2c
- F_RDAHEAD = 0x2d
- F_RDLCK = 0x1
- F_SETBACKINGSTORE = 0x46
- F_SETFD = 0x2
- F_SETFL = 0x4
- F_SETLK = 0x8
- F_SETLKW = 0x9
- F_SETLKWTIMEOUT = 0xa
- F_SETNOSIGPIPE = 0x49
- F_SETOWN = 0x6
- F_SETPROTECTIONCLASS = 0x40
- F_SETSIZE = 0x2b
- F_SINGLE_WRITER = 0x4c
- F_SPECULATIVE_READ = 0x65
- F_THAW_FS = 0x36
- F_TRANSCODEKEY = 0x4b
- F_TRIM_ACTIVE_FILE = 0x64
- F_UNLCK = 0x2
- F_VOLPOSMODE = 0x4
- F_WRLCK = 0x3
- HUPCL = 0x4000
- HW_MACHINE = 0x1
- ICANON = 0x100
- ICMP6_FILTER = 0x12
- ICRNL = 0x100
- IEXTEN = 0x400
- IFF_ALLMULTI = 0x200
- IFF_ALTPHYS = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_LINK0 = 0x1000
- IFF_LINK1 = 0x2000
- IFF_LINK2 = 0x4000
- IFF_LOOPBACK = 0x8
- IFF_MULTICAST = 0x8000
- IFF_NOARP = 0x80
- IFF_NOTRAILERS = 0x20
- IFF_OACTIVE = 0x400
- IFF_POINTOPOINT = 0x10
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SIMPLEX = 0x800
- IFF_UP = 0x1
- IFNAMSIZ = 0x10
- IFT_1822 = 0x2
- IFT_6LOWPAN = 0x40
- IFT_AAL5 = 0x31
- IFT_ARCNET = 0x23
- IFT_ARCNETPLUS = 0x24
- IFT_ATM = 0x25
- IFT_BRIDGE = 0xd1
- IFT_CARP = 0xf8
- IFT_CELLULAR = 0xff
- IFT_CEPT = 0x13
- IFT_DS3 = 0x1e
- IFT_ENC = 0xf4
- IFT_EON = 0x19
- IFT_ETHER = 0x6
- IFT_FAITH = 0x38
- IFT_FDDI = 0xf
- IFT_FRELAY = 0x20
- IFT_FRELAYDCE = 0x2c
- IFT_GIF = 0x37
- IFT_HDH1822 = 0x3
- IFT_HIPPI = 0x2f
- IFT_HSSI = 0x2e
- IFT_HY = 0xe
- IFT_IEEE1394 = 0x90
- IFT_IEEE8023ADLAG = 0x88
- IFT_ISDNBASIC = 0x14
- IFT_ISDNPRIMARY = 0x15
- IFT_ISO88022LLC = 0x29
- IFT_ISO88023 = 0x7
- IFT_ISO88024 = 0x8
- IFT_ISO88025 = 0x9
- IFT_ISO88026 = 0xa
- IFT_L2VLAN = 0x87
- IFT_LAPB = 0x10
- IFT_LOCALTALK = 0x2a
- IFT_LOOP = 0x18
- IFT_MIOX25 = 0x26
- IFT_MODEM = 0x30
- IFT_NSIP = 0x1b
- IFT_OTHER = 0x1
- IFT_P10 = 0xc
- IFT_P80 = 0xd
- IFT_PARA = 0x22
- IFT_PDP = 0xff
- IFT_PFLOG = 0xf5
- IFT_PFSYNC = 0xf6
- IFT_PKTAP = 0xfe
- IFT_PPP = 0x17
- IFT_PROPMUX = 0x36
- IFT_PROPVIRTUAL = 0x35
- IFT_PTPSERIAL = 0x16
- IFT_RS232 = 0x21
- IFT_SDLC = 0x11
- IFT_SIP = 0x1f
- IFT_SLIP = 0x1c
- IFT_SMDSDXI = 0x2b
- IFT_SMDSICIP = 0x34
- IFT_SONET = 0x27
- IFT_SONETPATH = 0x32
- IFT_SONETVT = 0x33
- IFT_STARLAN = 0xb
- IFT_STF = 0x39
- IFT_T1 = 0x12
- IFT_ULTRA = 0x1d
- IFT_V35 = 0x2d
- IFT_X25 = 0x5
- IFT_X25DDN = 0x4
- IFT_X25PLE = 0x28
- IFT_XETHER = 0x1a
- IGNBRK = 0x1
- IGNCR = 0x80
- IGNPAR = 0x4
- IMAXBEL = 0x2000
- INLCR = 0x40
- INPCK = 0x10
- IN_CLASSA_HOST = 0xffffff
- IN_CLASSA_MAX = 0x80
- IN_CLASSA_NET = 0xff000000
- IN_CLASSA_NSHIFT = 0x18
- IN_CLASSB_HOST = 0xffff
- IN_CLASSB_MAX = 0x10000
- IN_CLASSB_NET = 0xffff0000
- IN_CLASSB_NSHIFT = 0x10
- IN_CLASSC_HOST = 0xff
- IN_CLASSC_NET = 0xffffff00
- IN_CLASSC_NSHIFT = 0x8
- IN_CLASSD_HOST = 0xfffffff
- IN_CLASSD_NET = 0xf0000000
- IN_CLASSD_NSHIFT = 0x1c
- IN_LINKLOCALNETNUM = 0xa9fe0000
- IN_LOOPBACKNET = 0x7f
- IPPROTO_3PC = 0x22
- IPPROTO_ADFS = 0x44
- IPPROTO_AH = 0x33
- IPPROTO_AHIP = 0x3d
- IPPROTO_APES = 0x63
- IPPROTO_ARGUS = 0xd
- IPPROTO_AX25 = 0x5d
- IPPROTO_BHA = 0x31
- IPPROTO_BLT = 0x1e
- IPPROTO_BRSATMON = 0x4c
- IPPROTO_CFTP = 0x3e
- IPPROTO_CHAOS = 0x10
- IPPROTO_CMTP = 0x26
- IPPROTO_CPHB = 0x49
- IPPROTO_CPNX = 0x48
- IPPROTO_DDP = 0x25
- IPPROTO_DGP = 0x56
- IPPROTO_DIVERT = 0xfe
- IPPROTO_DONE = 0x101
- IPPROTO_DSTOPTS = 0x3c
- IPPROTO_EGP = 0x8
- IPPROTO_EMCON = 0xe
- IPPROTO_ENCAP = 0x62
- IPPROTO_EON = 0x50
- IPPROTO_ESP = 0x32
- IPPROTO_ETHERIP = 0x61
- IPPROTO_FRAGMENT = 0x2c
- IPPROTO_GGP = 0x3
- IPPROTO_GMTP = 0x64
- IPPROTO_GRE = 0x2f
- IPPROTO_HELLO = 0x3f
- IPPROTO_HMP = 0x14
- IPPROTO_HOPOPTS = 0x0
- IPPROTO_ICMP = 0x1
- IPPROTO_ICMPV6 = 0x3a
- IPPROTO_IDP = 0x16
- IPPROTO_IDPR = 0x23
- IPPROTO_IDRP = 0x2d
- IPPROTO_IGMP = 0x2
- IPPROTO_IGP = 0x55
- IPPROTO_IGRP = 0x58
- IPPROTO_IL = 0x28
- IPPROTO_INLSP = 0x34
- IPPROTO_INP = 0x20
- IPPROTO_IP = 0x0
- IPPROTO_IPCOMP = 0x6c
- IPPROTO_IPCV = 0x47
- IPPROTO_IPEIP = 0x5e
- IPPROTO_IPIP = 0x4
- IPPROTO_IPPC = 0x43
- IPPROTO_IPV4 = 0x4
- IPPROTO_IPV6 = 0x29
- IPPROTO_IRTP = 0x1c
- IPPROTO_KRYPTOLAN = 0x41
- IPPROTO_LARP = 0x5b
- IPPROTO_LEAF1 = 0x19
- IPPROTO_LEAF2 = 0x1a
- IPPROTO_MAX = 0x100
- IPPROTO_MAXID = 0x34
- IPPROTO_MEAS = 0x13
- IPPROTO_MHRP = 0x30
- IPPROTO_MICP = 0x5f
- IPPROTO_MTP = 0x5c
- IPPROTO_MUX = 0x12
- IPPROTO_ND = 0x4d
- IPPROTO_NHRP = 0x36
- IPPROTO_NONE = 0x3b
- IPPROTO_NSP = 0x1f
- IPPROTO_NVPII = 0xb
- IPPROTO_OSPFIGP = 0x59
- IPPROTO_PGM = 0x71
- IPPROTO_PIGP = 0x9
- IPPROTO_PIM = 0x67
- IPPROTO_PRM = 0x15
- IPPROTO_PUP = 0xc
- IPPROTO_PVP = 0x4b
- IPPROTO_RAW = 0xff
- IPPROTO_RCCMON = 0xa
- IPPROTO_RDP = 0x1b
- IPPROTO_ROUTING = 0x2b
- IPPROTO_RSVP = 0x2e
- IPPROTO_RVD = 0x42
- IPPROTO_SATEXPAK = 0x40
- IPPROTO_SATMON = 0x45
- IPPROTO_SCCSP = 0x60
- IPPROTO_SCTP = 0x84
- IPPROTO_SDRP = 0x2a
- IPPROTO_SEP = 0x21
- IPPROTO_SRPC = 0x5a
- IPPROTO_ST = 0x7
- IPPROTO_SVMTP = 0x52
- IPPROTO_SWIPE = 0x35
- IPPROTO_TCF = 0x57
- IPPROTO_TCP = 0x6
- IPPROTO_TP = 0x1d
- IPPROTO_TPXX = 0x27
- IPPROTO_TRUNK1 = 0x17
- IPPROTO_TRUNK2 = 0x18
- IPPROTO_TTP = 0x54
- IPPROTO_UDP = 0x11
- IPPROTO_VINES = 0x53
- IPPROTO_VISA = 0x46
- IPPROTO_VMTP = 0x51
- IPPROTO_WBEXPAK = 0x4f
- IPPROTO_WBMON = 0x4e
- IPPROTO_WSN = 0x4a
- IPPROTO_XNET = 0xf
- IPPROTO_XTP = 0x24
- IPV6_2292DSTOPTS = 0x17
- IPV6_2292HOPLIMIT = 0x14
- IPV6_2292HOPOPTS = 0x16
- IPV6_2292NEXTHOP = 0x15
- IPV6_2292PKTINFO = 0x13
- IPV6_2292PKTOPTIONS = 0x19
- IPV6_2292RTHDR = 0x18
- IPV6_3542DSTOPTS = 0x32
- IPV6_3542HOPLIMIT = 0x2f
- IPV6_3542HOPOPTS = 0x31
- IPV6_3542NEXTHOP = 0x30
- IPV6_3542PKTINFO = 0x2e
- IPV6_3542RTHDR = 0x33
- IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
- IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
- IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
- IPV6_AUTOFLOWLABEL = 0x3b
- IPV6_BINDV6ONLY = 0x1b
- IPV6_BOUND_IF = 0x7d
- IPV6_CHECKSUM = 0x1a
- IPV6_DEFAULT_MULTICAST_HOPS = 0x1
- IPV6_DEFAULT_MULTICAST_LOOP = 0x1
- IPV6_DEFHLIM = 0x40
- IPV6_DONTFRAG = 0x3e
- IPV6_DSTOPTS = 0x32
- IPV6_FAITH = 0x1d
- IPV6_FLOWINFO_MASK = 0xffffff0f
- IPV6_FLOWLABEL_MASK = 0xffff0f00
- IPV6_FLOW_ECN_MASK = 0x3000
- IPV6_FRAGTTL = 0x3c
- IPV6_FW_ADD = 0x1e
- IPV6_FW_DEL = 0x1f
- IPV6_FW_FLUSH = 0x20
- IPV6_FW_GET = 0x22
- IPV6_FW_ZERO = 0x21
- IPV6_HLIMDEC = 0x1
- IPV6_HOPLIMIT = 0x2f
- IPV6_HOPOPTS = 0x31
- IPV6_IPSEC_POLICY = 0x1c
- IPV6_JOIN_GROUP = 0xc
- IPV6_LEAVE_GROUP = 0xd
- IPV6_MAXHLIM = 0xff
- IPV6_MAXOPTHDR = 0x800
- IPV6_MAXPACKET = 0xffff
- IPV6_MAX_GROUP_SRC_FILTER = 0x200
- IPV6_MAX_MEMBERSHIPS = 0xfff
- IPV6_MAX_SOCK_SRC_FILTER = 0x80
- IPV6_MIN_MEMBERSHIPS = 0x1f
- IPV6_MMTU = 0x500
- IPV6_MSFILTER = 0x4a
- IPV6_MULTICAST_HOPS = 0xa
- IPV6_MULTICAST_IF = 0x9
- IPV6_MULTICAST_LOOP = 0xb
- IPV6_NEXTHOP = 0x30
- IPV6_PATHMTU = 0x2c
- IPV6_PKTINFO = 0x2e
- IPV6_PORTRANGE = 0xe
- IPV6_PORTRANGE_DEFAULT = 0x0
- IPV6_PORTRANGE_HIGH = 0x1
- IPV6_PORTRANGE_LOW = 0x2
- IPV6_PREFER_TEMPADDR = 0x3f
- IPV6_RECVDSTOPTS = 0x28
- IPV6_RECVHOPLIMIT = 0x25
- IPV6_RECVHOPOPTS = 0x27
- IPV6_RECVPATHMTU = 0x2b
- IPV6_RECVPKTINFO = 0x3d
- IPV6_RECVRTHDR = 0x26
- IPV6_RECVTCLASS = 0x23
- IPV6_RTHDR = 0x33
- IPV6_RTHDRDSTOPTS = 0x39
- IPV6_RTHDR_LOOSE = 0x0
- IPV6_RTHDR_STRICT = 0x1
- IPV6_RTHDR_TYPE_0 = 0x0
- IPV6_SOCKOPT_RESERVED1 = 0x3
- IPV6_TCLASS = 0x24
- IPV6_UNICAST_HOPS = 0x4
- IPV6_USE_MIN_MTU = 0x2a
- IPV6_V6ONLY = 0x1b
- IPV6_VERSION = 0x60
- IPV6_VERSION_MASK = 0xf0
- IP_ADD_MEMBERSHIP = 0xc
- IP_ADD_SOURCE_MEMBERSHIP = 0x46
- IP_BLOCK_SOURCE = 0x48
- IP_BOUND_IF = 0x19
- IP_DEFAULT_MULTICAST_LOOP = 0x1
- IP_DEFAULT_MULTICAST_TTL = 0x1
- IP_DF = 0x4000
- IP_DONTFRAG = 0x1c
- IP_DROP_MEMBERSHIP = 0xd
- IP_DROP_SOURCE_MEMBERSHIP = 0x47
- IP_DUMMYNET_CONFIGURE = 0x3c
- IP_DUMMYNET_DEL = 0x3d
- IP_DUMMYNET_FLUSH = 0x3e
- IP_DUMMYNET_GET = 0x40
- IP_FAITH = 0x16
- IP_FW_ADD = 0x28
- IP_FW_DEL = 0x29
- IP_FW_FLUSH = 0x2a
- IP_FW_GET = 0x2c
- IP_FW_RESETLOG = 0x2d
- IP_FW_ZERO = 0x2b
- IP_HDRINCL = 0x2
- IP_IPSEC_POLICY = 0x15
- IP_MAXPACKET = 0xffff
- IP_MAX_GROUP_SRC_FILTER = 0x200
- IP_MAX_MEMBERSHIPS = 0xfff
- IP_MAX_SOCK_MUTE_FILTER = 0x80
- IP_MAX_SOCK_SRC_FILTER = 0x80
- IP_MF = 0x2000
- IP_MIN_MEMBERSHIPS = 0x1f
- IP_MSFILTER = 0x4a
- IP_MSS = 0x240
- IP_MULTICAST_IF = 0x9
- IP_MULTICAST_IFINDEX = 0x42
- IP_MULTICAST_LOOP = 0xb
- IP_MULTICAST_TTL = 0xa
- IP_MULTICAST_VIF = 0xe
- IP_NAT__XXX = 0x37
- IP_OFFMASK = 0x1fff
- IP_OLD_FW_ADD = 0x32
- IP_OLD_FW_DEL = 0x33
- IP_OLD_FW_FLUSH = 0x34
- IP_OLD_FW_GET = 0x36
- IP_OLD_FW_RESETLOG = 0x38
- IP_OLD_FW_ZERO = 0x35
- IP_OPTIONS = 0x1
- IP_PKTINFO = 0x1a
- IP_PORTRANGE = 0x13
- IP_PORTRANGE_DEFAULT = 0x0
- IP_PORTRANGE_HIGH = 0x1
- IP_PORTRANGE_LOW = 0x2
- IP_RECVDSTADDR = 0x7
- IP_RECVIF = 0x14
- IP_RECVOPTS = 0x5
- IP_RECVPKTINFO = 0x1a
- IP_RECVRETOPTS = 0x6
- IP_RECVTOS = 0x1b
- IP_RECVTTL = 0x18
- IP_RETOPTS = 0x8
- IP_RF = 0x8000
- IP_RSVP_OFF = 0x10
- IP_RSVP_ON = 0xf
- IP_RSVP_VIF_OFF = 0x12
- IP_RSVP_VIF_ON = 0x11
- IP_STRIPHDR = 0x17
- IP_TOS = 0x3
- IP_TRAFFIC_MGT_BACKGROUND = 0x41
- IP_TTL = 0x4
- IP_UNBLOCK_SOURCE = 0x49
- ISIG = 0x80
- ISTRIP = 0x20
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- KERN_HOSTNAME = 0xa
- KERN_OSRELEASE = 0x2
- KERN_OSTYPE = 0x1
- KERN_VERSION = 0x4
- LOCAL_PEERCRED = 0x1
- LOCAL_PEEREPID = 0x3
- LOCAL_PEEREUUID = 0x5
- LOCAL_PEERPID = 0x2
- LOCAL_PEERTOKEN = 0x6
- LOCAL_PEERUUID = 0x4
- LOCK_EX = 0x2
- LOCK_NB = 0x4
- LOCK_SH = 0x1
- LOCK_UN = 0x8
- MADV_CAN_REUSE = 0x9
- MADV_DONTNEED = 0x4
- MADV_FREE = 0x5
- MADV_FREE_REUSABLE = 0x7
- MADV_FREE_REUSE = 0x8
- MADV_NORMAL = 0x0
- MADV_PAGEOUT = 0xa
- MADV_RANDOM = 0x1
- MADV_SEQUENTIAL = 0x2
- MADV_WILLNEED = 0x3
- MADV_ZERO_WIRED_PAGES = 0x6
- MAP_32BIT = 0x8000
- MAP_ANON = 0x1000
- MAP_ANONYMOUS = 0x1000
- MAP_COPY = 0x2
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- MAP_HASSEMAPHORE = 0x200
- MAP_JIT = 0x800
- MAP_NOCACHE = 0x400
- MAP_NOEXTEND = 0x100
- MAP_NORESERVE = 0x40
- MAP_PRIVATE = 0x2
- MAP_RENAME = 0x20
- MAP_RESERVED0080 = 0x80
- MAP_RESILIENT_CODESIGN = 0x2000
- MAP_RESILIENT_MEDIA = 0x4000
- MAP_SHARED = 0x1
- MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
- MAP_UNIX03 = 0x40000
- MCAST_BLOCK_SOURCE = 0x54
- MCAST_EXCLUDE = 0x2
- MCAST_INCLUDE = 0x1
- MCAST_JOIN_GROUP = 0x50
- MCAST_JOIN_SOURCE_GROUP = 0x52
- MCAST_LEAVE_GROUP = 0x51
- MCAST_LEAVE_SOURCE_GROUP = 0x53
- MCAST_UNBLOCK_SOURCE = 0x55
- MCAST_UNDEFINED = 0x0
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_ASYNC = 0x40
- MNT_AUTOMOUNTED = 0x400000
- MNT_CMDFLAGS = 0xf0000
- MNT_CPROTECT = 0x80
- MNT_DEFWRITE = 0x2000000
- MNT_DONTBROWSE = 0x100000
- MNT_DOVOLFS = 0x8000
- MNT_DWAIT = 0x4
- MNT_EXPORTED = 0x100
- MNT_EXT_ROOT_DATA_VOL = 0x1
- MNT_FORCE = 0x80000
- MNT_IGNORE_OWNERSHIP = 0x200000
- MNT_JOURNALED = 0x800000
- MNT_LOCAL = 0x1000
- MNT_MULTILABEL = 0x4000000
- MNT_NOATIME = 0x10000000
- MNT_NOBLOCK = 0x20000
- MNT_NODEV = 0x10
- MNT_NOEXEC = 0x4
- MNT_NOSUID = 0x8
- MNT_NOUSERXATTR = 0x1000000
- MNT_NOWAIT = 0x2
- MNT_QUARANTINE = 0x400
- MNT_QUOTA = 0x2000
- MNT_RDONLY = 0x1
- MNT_RELOAD = 0x40000
- MNT_REMOVABLE = 0x200
- MNT_ROOTFS = 0x4000
- MNT_SNAPSHOT = 0x40000000
- MNT_STRICTATIME = 0x80000000
- MNT_SYNCHRONOUS = 0x2
- MNT_UNION = 0x20
- MNT_UNKNOWNPERMISSIONS = 0x200000
- MNT_UPDATE = 0x10000
- MNT_VISFLAGMASK = 0xd7f0f7ff
- MNT_WAIT = 0x1
- MSG_CTRUNC = 0x20
- MSG_DONTROUTE = 0x4
- MSG_DONTWAIT = 0x80
- MSG_EOF = 0x100
- MSG_EOR = 0x8
- MSG_FLUSH = 0x400
- MSG_HAVEMORE = 0x2000
- MSG_HOLD = 0x800
- MSG_NEEDSA = 0x10000
- MSG_NOSIGNAL = 0x80000
- MSG_OOB = 0x1
- MSG_PEEK = 0x2
- MSG_RCVMORE = 0x4000
- MSG_SEND = 0x1000
- MSG_TRUNC = 0x10
- MSG_WAITALL = 0x40
- MSG_WAITSTREAM = 0x200
- MS_ASYNC = 0x1
- MS_DEACTIVATE = 0x8
- MS_INVALIDATE = 0x2
- MS_KILLPAGES = 0x4
- MS_SYNC = 0x10
- NAME_MAX = 0xff
- NET_RT_DUMP = 0x1
- NET_RT_DUMP2 = 0x7
- NET_RT_FLAGS = 0x2
- NET_RT_FLAGS_PRIV = 0xa
- NET_RT_IFLIST = 0x3
- NET_RT_IFLIST2 = 0x6
- NET_RT_MAXID = 0xb
- NET_RT_STAT = 0x4
- NET_RT_TRASH = 0x5
- NFDBITS = 0x20
- NL0 = 0x0
- NL1 = 0x100
- NL2 = 0x200
- NL3 = 0x300
- NLDLY = 0x300
- NOFLSH = 0x80000000
- NOKERNINFO = 0x2000000
- NOTE_ABSOLUTE = 0x8
- NOTE_ATTRIB = 0x8
- NOTE_BACKGROUND = 0x40
- NOTE_CHILD = 0x4
- NOTE_CRITICAL = 0x20
- NOTE_DELETE = 0x1
- NOTE_EXEC = 0x20000000
- NOTE_EXIT = 0x80000000
- NOTE_EXITSTATUS = 0x4000000
- NOTE_EXIT_CSERROR = 0x40000
- NOTE_EXIT_DECRYPTFAIL = 0x10000
- NOTE_EXIT_DETAIL = 0x2000000
- NOTE_EXIT_DETAIL_MASK = 0x70000
- NOTE_EXIT_MEMORY = 0x20000
- NOTE_EXIT_REPARENTED = 0x80000
- NOTE_EXTEND = 0x4
- NOTE_FFAND = 0x40000000
- NOTE_FFCOPY = 0xc0000000
- NOTE_FFCTRLMASK = 0xc0000000
- NOTE_FFLAGSMASK = 0xffffff
- NOTE_FFNOP = 0x0
- NOTE_FFOR = 0x80000000
- NOTE_FORK = 0x40000000
- NOTE_FUNLOCK = 0x100
- NOTE_LEEWAY = 0x10
- NOTE_LINK = 0x10
- NOTE_LOWAT = 0x1
- NOTE_MACHTIME = 0x100
- NOTE_MACH_CONTINUOUS_TIME = 0x80
- NOTE_NONE = 0x80
- NOTE_NSECONDS = 0x4
- NOTE_OOB = 0x2
- NOTE_PCTRLMASK = -0x100000
- NOTE_PDATAMASK = 0xfffff
- NOTE_REAP = 0x10000000
- NOTE_RENAME = 0x20
- NOTE_REVOKE = 0x40
- NOTE_SECONDS = 0x1
- NOTE_SIGNAL = 0x8000000
- NOTE_TRACK = 0x1
- NOTE_TRACKERR = 0x2
- NOTE_TRIGGER = 0x1000000
- NOTE_USECONDS = 0x2
- NOTE_VM_ERROR = 0x10000000
- NOTE_VM_PRESSURE = 0x80000000
- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000
- NOTE_VM_PRESSURE_TERMINATE = 0x40000000
- NOTE_WRITE = 0x2
- OCRNL = 0x10
- OFDEL = 0x20000
- OFILL = 0x80
- ONLCR = 0x2
- ONLRET = 0x40
- ONOCR = 0x20
- ONOEOT = 0x8
- OPOST = 0x1
- OXTABS = 0x4
- O_ACCMODE = 0x3
- O_ALERT = 0x20000000
- O_APPEND = 0x8
- O_ASYNC = 0x40
- O_CLOEXEC = 0x1000000
- O_CREAT = 0x200
- O_DIRECTORY = 0x100000
- O_DP_GETRAWENCRYPTED = 0x1
- O_DP_GETRAWUNENCRYPTED = 0x2
- O_DSYNC = 0x400000
- O_EVTONLY = 0x8000
- O_EXCL = 0x800
- O_EXLOCK = 0x20
- O_FSYNC = 0x80
- O_NDELAY = 0x4
- O_NOCTTY = 0x20000
- O_NOFOLLOW = 0x100
- O_NOFOLLOW_ANY = 0x20000000
- O_NONBLOCK = 0x4
- O_POPUP = 0x80000000
- O_RDONLY = 0x0
- O_RDWR = 0x2
- O_SHLOCK = 0x10
- O_SYMLINK = 0x200000
- O_SYNC = 0x80
- O_TRUNC = 0x400
- O_WRONLY = 0x1
- PARENB = 0x1000
- PARMRK = 0x8
- PARODD = 0x2000
- PENDIN = 0x20000000
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- PROT_EXEC = 0x4
- PROT_NONE = 0x0
- PROT_READ = 0x1
- PROT_WRITE = 0x2
- PT_ATTACH = 0xa
- PT_ATTACHEXC = 0xe
- PT_CONTINUE = 0x7
- PT_DENY_ATTACH = 0x1f
- PT_DETACH = 0xb
- PT_FIRSTMACH = 0x20
- PT_FORCEQUOTA = 0x1e
- PT_KILL = 0x8
- PT_READ_D = 0x2
- PT_READ_I = 0x1
- PT_READ_U = 0x3
- PT_SIGEXC = 0xc
- PT_STEP = 0x9
- PT_THUPDATE = 0xd
- PT_TRACE_ME = 0x0
- PT_WRITE_D = 0x5
- PT_WRITE_I = 0x4
- PT_WRITE_U = 0x6
- RLIMIT_AS = 0x5
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_CPU_USAGE_MONITOR = 0x2
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_MEMLOCK = 0x6
- RLIMIT_NOFILE = 0x8
- RLIMIT_NPROC = 0x7
- RLIMIT_RSS = 0x5
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = 0x7fffffffffffffff
- RTAX_AUTHOR = 0x6
- RTAX_BRD = 0x7
- RTAX_DST = 0x0
- RTAX_GATEWAY = 0x1
- RTAX_GENMASK = 0x3
- RTAX_IFA = 0x5
- RTAX_IFP = 0x4
- RTAX_MAX = 0x8
- RTAX_NETMASK = 0x2
- RTA_AUTHOR = 0x40
- RTA_BRD = 0x80
- RTA_DST = 0x1
- RTA_GATEWAY = 0x2
- RTA_GENMASK = 0x8
- RTA_IFA = 0x20
- RTA_IFP = 0x10
- RTA_NETMASK = 0x4
- RTF_BLACKHOLE = 0x1000
- RTF_BROADCAST = 0x400000
- RTF_CLONING = 0x100
- RTF_CONDEMNED = 0x2000000
- RTF_DEAD = 0x20000000
- RTF_DELCLONE = 0x80
- RTF_DONE = 0x40
- RTF_DYNAMIC = 0x10
- RTF_GATEWAY = 0x2
- RTF_GLOBAL = 0x40000000
- RTF_HOST = 0x4
- RTF_IFREF = 0x4000000
- RTF_IFSCOPE = 0x1000000
- RTF_LLDATA = 0x400
- RTF_LLINFO = 0x400
- RTF_LOCAL = 0x200000
- RTF_MODIFIED = 0x20
- RTF_MULTICAST = 0x800000
- RTF_NOIFREF = 0x2000
- RTF_PINNED = 0x100000
- RTF_PRCLONING = 0x10000
- RTF_PROTO1 = 0x8000
- RTF_PROTO2 = 0x4000
- RTF_PROTO3 = 0x40000
- RTF_PROXY = 0x8000000
- RTF_REJECT = 0x8
- RTF_ROUTER = 0x10000000
- RTF_STATIC = 0x800
- RTF_UP = 0x1
- RTF_WASCLONED = 0x20000
- RTF_XRESOLVE = 0x200
- RTM_ADD = 0x1
- RTM_CHANGE = 0x3
- RTM_DELADDR = 0xd
- RTM_DELETE = 0x2
- RTM_DELMADDR = 0x10
- RTM_GET = 0x4
- RTM_GET2 = 0x14
- RTM_IFINFO = 0xe
- RTM_IFINFO2 = 0x12
- RTM_LOCK = 0x8
- RTM_LOSING = 0x5
- RTM_MISS = 0x7
- RTM_NEWADDR = 0xc
- RTM_NEWMADDR = 0xf
- RTM_NEWMADDR2 = 0x13
- RTM_OLDADD = 0x9
- RTM_OLDDEL = 0xa
- RTM_REDIRECT = 0x6
- RTM_RESOLVE = 0xb
- RTM_RTTUNIT = 0xf4240
- RTM_VERSION = 0x5
- RTV_EXPIRE = 0x4
- RTV_HOPCOUNT = 0x2
- RTV_MTU = 0x1
- RTV_RPIPE = 0x8
- RTV_RTT = 0x40
- RTV_RTTVAR = 0x80
- RTV_SPIPE = 0x10
- RTV_SSTHRESH = 0x20
- RUSAGE_CHILDREN = -0x1
- RUSAGE_SELF = 0x0
- SCM_CREDS = 0x3
- SCM_RIGHTS = 0x1
- SCM_TIMESTAMP = 0x2
- SCM_TIMESTAMP_MONOTONIC = 0x4
- SEEK_CUR = 0x1
- SEEK_DATA = 0x4
- SEEK_END = 0x2
- SEEK_HOLE = 0x3
- SEEK_SET = 0x0
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDMULTI = 0x80206931
- SIOCAIFADDR = 0x8040691a
- SIOCARPIPLL = 0xc0206928
- SIOCATMARK = 0x40047307
- SIOCAUTOADDR = 0xc0206926
- SIOCAUTONETMASK = 0x80206927
- SIOCDELMULTI = 0x80206932
- SIOCDIFADDR = 0x80206919
- SIOCDIFPHYADDR = 0x80206941
- SIOCGDRVSPEC = 0xc028697b
- SIOCGETVLAN = 0xc020697f
- SIOCGHIWAT = 0x40047301
- SIOCGIF6LOWPAN = 0xc02069c5
- SIOCGIFADDR = 0xc0206921
- SIOCGIFALTMTU = 0xc0206948
- SIOCGIFASYNCMAP = 0xc020697c
- SIOCGIFBOND = 0xc0206947
- SIOCGIFBRDADDR = 0xc0206923
- SIOCGIFCAP = 0xc020695b
- SIOCGIFCONF = 0xc00c6924
- SIOCGIFDEVMTU = 0xc0206944
- SIOCGIFDSTADDR = 0xc0206922
- SIOCGIFFLAGS = 0xc0206911
- SIOCGIFFUNCTIONALTYPE = 0xc02069ad
- SIOCGIFGENERIC = 0xc020693a
- SIOCGIFKPI = 0xc0206987
- SIOCGIFMAC = 0xc0206982
- SIOCGIFMEDIA = 0xc02c6938
- SIOCGIFMETRIC = 0xc0206917
- SIOCGIFMTU = 0xc0206933
- SIOCGIFNETMASK = 0xc0206925
- SIOCGIFPDSTADDR = 0xc0206940
- SIOCGIFPHYS = 0xc0206935
- SIOCGIFPSRCADDR = 0xc020693f
- SIOCGIFSTATUS = 0xc331693d
- SIOCGIFVLAN = 0xc020697f
- SIOCGIFWAKEFLAGS = 0xc0206988
- SIOCGIFXMEDIA = 0xc02c6948
- SIOCGLOWAT = 0x40047303
- SIOCGPGRP = 0x40047309
- SIOCIFCREATE = 0xc0206978
- SIOCIFCREATE2 = 0xc020697a
- SIOCIFDESTROY = 0x80206979
- SIOCIFGCLONERS = 0xc0106981
- SIOCRSLVMULTI = 0xc010693b
- SIOCSDRVSPEC = 0x8028697b
- SIOCSETVLAN = 0x8020697e
- SIOCSHIWAT = 0x80047300
- SIOCSIF6LOWPAN = 0x802069c4
- SIOCSIFADDR = 0x8020690c
- SIOCSIFALTMTU = 0x80206945
- SIOCSIFASYNCMAP = 0x8020697d
- SIOCSIFBOND = 0x80206946
- SIOCSIFBRDADDR = 0x80206913
- SIOCSIFCAP = 0x8020695a
- SIOCSIFDSTADDR = 0x8020690e
- SIOCSIFFLAGS = 0x80206910
- SIOCSIFGENERIC = 0x80206939
- SIOCSIFKPI = 0x80206986
- SIOCSIFLLADDR = 0x8020693c
- SIOCSIFMAC = 0x80206983
- SIOCSIFMEDIA = 0xc0206937
- SIOCSIFMETRIC = 0x80206918
- SIOCSIFMTU = 0x80206934
- SIOCSIFNETMASK = 0x80206916
- SIOCSIFPHYADDR = 0x8040693e
- SIOCSIFPHYS = 0x80206936
- SIOCSIFVLAN = 0x8020697e
- SIOCSLOWAT = 0x80047302
- SIOCSPGRP = 0x80047308
- SOCK_DGRAM = 0x2
- SOCK_MAXADDRLEN = 0xff
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_LOCAL = 0x0
- SOL_SOCKET = 0xffff
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x2
- SO_BROADCAST = 0x20
- SO_DEBUG = 0x1
- SO_DONTROUTE = 0x10
- SO_DONTTRUNC = 0x2000
- SO_ERROR = 0x1007
- SO_KEEPALIVE = 0x8
- SO_LABEL = 0x1010
- SO_LINGER = 0x80
- SO_LINGER_SEC = 0x1080
- SO_NETSVC_MARKING_LEVEL = 0x1119
- SO_NET_SERVICE_TYPE = 0x1116
- SO_NKE = 0x1021
- SO_NOADDRERR = 0x1023
- SO_NOSIGPIPE = 0x1022
- SO_NOTIFYCONFLICT = 0x1026
- SO_NP_EXTENSIONS = 0x1083
- SO_NREAD = 0x1020
- SO_NUMRCVPKT = 0x1112
- SO_NWRITE = 0x1024
- SO_OOBINLINE = 0x100
- SO_PEERLABEL = 0x1011
- SO_RANDOMPORT = 0x1082
- SO_RCVBUF = 0x1002
- SO_RCVLOWAT = 0x1004
- SO_RCVTIMEO = 0x1006
- SO_REUSEADDR = 0x4
- SO_REUSEPORT = 0x200
- SO_REUSESHAREUID = 0x1025
- SO_SNDBUF = 0x1001
- SO_SNDLOWAT = 0x1003
- SO_SNDTIMEO = 0x1005
- SO_TIMESTAMP = 0x400
- SO_TIMESTAMP_MONOTONIC = 0x800
- SO_TYPE = 0x1008
- SO_UPCALLCLOSEWAIT = 0x1027
- SO_USELOOPBACK = 0x40
- SO_WANTMORE = 0x4000
- SO_WANTOOBFLAG = 0x8000
- S_IEXEC = 0x40
- S_IFBLK = 0x6000
- S_IFCHR = 0x2000
- S_IFDIR = 0x4000
- S_IFIFO = 0x1000
- S_IFLNK = 0xa000
- S_IFMT = 0xf000
- S_IFREG = 0x8000
- S_IFSOCK = 0xc000
- S_IFWHT = 0xe000
- S_IREAD = 0x100
- S_IRGRP = 0x20
- S_IROTH = 0x4
- S_IRUSR = 0x100
- S_IRWXG = 0x38
- S_IRWXO = 0x7
- S_IRWXU = 0x1c0
- S_ISGID = 0x400
- S_ISTXT = 0x200
- S_ISUID = 0x800
- S_ISVTX = 0x200
- S_IWGRP = 0x10
- S_IWOTH = 0x2
- S_IWRITE = 0x80
- S_IWUSR = 0x80
- S_IXGRP = 0x8
- S_IXOTH = 0x1
- S_IXUSR = 0x40
- TAB0 = 0x0
- TAB1 = 0x400
- TAB2 = 0x800
- TAB3 = 0x4
- TABDLY = 0xc04
- TCIFLUSH = 0x1
- TCIOFF = 0x3
- TCIOFLUSH = 0x3
- TCION = 0x4
- TCOFLUSH = 0x2
- TCOOFF = 0x1
- TCOON = 0x2
- TCP_CONNECTIONTIMEOUT = 0x20
- TCP_CONNECTION_INFO = 0x106
- TCP_ENABLE_ECN = 0x104
- TCP_FASTOPEN = 0x105
- TCP_KEEPALIVE = 0x10
- TCP_KEEPCNT = 0x102
- TCP_KEEPINTVL = 0x101
- TCP_MAXHLEN = 0x3c
- TCP_MAXOLEN = 0x28
- TCP_MAXSEG = 0x2
- TCP_MAXWIN = 0xffff
- TCP_MAX_SACK = 0x4
- TCP_MAX_WINSHIFT = 0xe
- TCP_MINMSS = 0xd8
- TCP_MSS = 0x200
- TCP_NODELAY = 0x1
- TCP_NOOPT = 0x8
- TCP_NOPUSH = 0x4
- TCP_NOTSENT_LOWAT = 0x201
- TCP_RXT_CONNDROPTIME = 0x80
- TCP_RXT_FINDROP = 0x100
- TCP_SENDMOREACKS = 0x103
- TCSAFLUSH = 0x2
- TIOCCBRK = 0x2000747a
- TIOCCDTR = 0x20007478
- TIOCCONS = 0x80047462
- TIOCDCDTIMESTAMP = 0x40107458
- TIOCDRAIN = 0x2000745e
- TIOCDSIMICROCODE = 0x20007455
- TIOCEXCL = 0x2000740d
- TIOCEXT = 0x80047460
- TIOCFLUSH = 0x80047410
- TIOCGDRAINWAIT = 0x40047456
- TIOCGETA = 0x40487413
- TIOCGETD = 0x4004741a
- TIOCGPGRP = 0x40047477
- TIOCGWINSZ = 0x40087468
- TIOCIXOFF = 0x20007480
- TIOCIXON = 0x20007481
- TIOCMBIC = 0x8004746b
- TIOCMBIS = 0x8004746c
- TIOCMGDTRWAIT = 0x4004745a
- TIOCMGET = 0x4004746a
- TIOCMODG = 0x40047403
- TIOCMODS = 0x80047404
- TIOCMSDTRWAIT = 0x8004745b
- TIOCMSET = 0x8004746d
- TIOCM_CAR = 0x40
- TIOCM_CD = 0x40
- TIOCM_CTS = 0x20
- TIOCM_DSR = 0x100
- TIOCM_DTR = 0x2
- TIOCM_LE = 0x1
- TIOCM_RI = 0x80
- TIOCM_RNG = 0x80
- TIOCM_RTS = 0x4
- TIOCM_SR = 0x10
- TIOCM_ST = 0x8
- TIOCNOTTY = 0x20007471
- TIOCNXCL = 0x2000740e
- TIOCOUTQ = 0x40047473
- TIOCPKT = 0x80047470
- TIOCPKT_DATA = 0x0
- TIOCPKT_DOSTOP = 0x20
- TIOCPKT_FLUSHREAD = 0x1
- TIOCPKT_FLUSHWRITE = 0x2
- TIOCPKT_IOCTL = 0x40
- TIOCPKT_NOSTOP = 0x10
- TIOCPKT_START = 0x8
- TIOCPKT_STOP = 0x4
- TIOCPTYGNAME = 0x40807453
- TIOCPTYGRANT = 0x20007454
- TIOCPTYUNLK = 0x20007452
- TIOCREMOTE = 0x80047469
- TIOCSBRK = 0x2000747b
- TIOCSCONS = 0x20007463
- TIOCSCTTY = 0x20007461
- TIOCSDRAINWAIT = 0x80047457
- TIOCSDTR = 0x20007479
- TIOCSETA = 0x80487414
- TIOCSETAF = 0x80487416
- TIOCSETAW = 0x80487415
- TIOCSETD = 0x8004741b
- TIOCSIG = 0x2000745f
- TIOCSPGRP = 0x80047476
- TIOCSTART = 0x2000746e
- TIOCSTAT = 0x20007465
- TIOCSTI = 0x80017472
- TIOCSTOP = 0x2000746f
- TIOCSWINSZ = 0x80087467
- TIOCTIMESTAMP = 0x40107459
- TIOCUCNTL = 0x80047466
- TOSTOP = 0x400000
- VDISCARD = 0xf
- VDSUSP = 0xb
- VEOF = 0x0
- VEOL = 0x1
- VEOL2 = 0x2
- VERASE = 0x3
- VINTR = 0x8
- VKILL = 0x5
- VLNEXT = 0xe
- VMIN = 0x10
- VM_LOADAVG = 0x2
- VM_MACHFACTOR = 0x4
- VM_MAXID = 0x6
- VM_METER = 0x1
- VM_SWAPUSAGE = 0x5
- VQUIT = 0x9
- VREPRINT = 0x6
- VSTART = 0xc
- VSTATUS = 0x12
- VSTOP = 0xd
- VSUSP = 0xa
- VT0 = 0x0
- VT1 = 0x10000
- VTDLY = 0x10000
- VTIME = 0x11
- VWERASE = 0x4
- WCONTINUED = 0x10
- WCOREFLAG = 0x80
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOWAIT = 0x20
- WORDSIZE = 0x40
- WSTOPPED = 0x8
- WUNTRACED = 0x2
- XATTR_CREATE = 0x2
- XATTR_NODEFAULT = 0x10
- XATTR_NOFOLLOW = 0x1
- XATTR_NOSECURITY = 0x8
- XATTR_REPLACE = 0x4
- XATTR_SHOWCOMPRESSION = 0x20
+ AF_APPLETALK = 0x10
+ AF_CCITT = 0xa
+ AF_CHAOS = 0x5
+ AF_CNT = 0x15
+ AF_COIP = 0x14
+ AF_DATAKIT = 0x9
+ AF_DECnet = 0xc
+ AF_DLI = 0xd
+ AF_E164 = 0x1c
+ AF_ECMA = 0x8
+ AF_HYLINK = 0xf
+ AF_IEEE80211 = 0x25
+ AF_IMPLINK = 0x3
+ AF_INET = 0x2
+ AF_INET6 = 0x1e
+ AF_IPX = 0x17
+ AF_ISDN = 0x1c
+ AF_ISO = 0x7
+ AF_LAT = 0xe
+ AF_LINK = 0x12
+ AF_LOCAL = 0x1
+ AF_MAX = 0x29
+ AF_NATM = 0x1f
+ AF_NDRV = 0x1b
+ AF_NETBIOS = 0x21
+ AF_NS = 0x6
+ AF_OSI = 0x7
+ AF_PPP = 0x22
+ AF_PUP = 0x4
+ AF_RESERVED_36 = 0x24
+ AF_ROUTE = 0x11
+ AF_SIP = 0x18
+ AF_SNA = 0xb
+ AF_SYSTEM = 0x20
+ AF_SYS_CONTROL = 0x2
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_UTUN = 0x26
+ AF_VSOCK = 0x28
+ ALTWERASE = 0x200
+ ATTR_BIT_MAP_COUNT = 0x5
+ ATTR_CMN_ACCESSMASK = 0x20000
+ ATTR_CMN_ACCTIME = 0x1000
+ ATTR_CMN_ADDEDTIME = 0x10000000
+ ATTR_CMN_BKUPTIME = 0x2000
+ ATTR_CMN_CHGTIME = 0x800
+ ATTR_CMN_CRTIME = 0x200
+ ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
+ ATTR_CMN_DEVID = 0x2
+ ATTR_CMN_DOCUMENT_ID = 0x100000
+ ATTR_CMN_ERROR = 0x20000000
+ ATTR_CMN_EXTENDED_SECURITY = 0x400000
+ ATTR_CMN_FILEID = 0x2000000
+ ATTR_CMN_FLAGS = 0x40000
+ ATTR_CMN_FNDRINFO = 0x4000
+ ATTR_CMN_FSID = 0x4
+ ATTR_CMN_FULLPATH = 0x8000000
+ ATTR_CMN_GEN_COUNT = 0x80000
+ ATTR_CMN_GRPID = 0x10000
+ ATTR_CMN_GRPUUID = 0x1000000
+ ATTR_CMN_MODTIME = 0x400
+ ATTR_CMN_NAME = 0x1
+ ATTR_CMN_NAMEDATTRCOUNT = 0x80000
+ ATTR_CMN_NAMEDATTRLIST = 0x100000
+ ATTR_CMN_OBJID = 0x20
+ ATTR_CMN_OBJPERMANENTID = 0x40
+ ATTR_CMN_OBJTAG = 0x10
+ ATTR_CMN_OBJTYPE = 0x8
+ ATTR_CMN_OWNERID = 0x8000
+ ATTR_CMN_PARENTID = 0x4000000
+ ATTR_CMN_PAROBJID = 0x80
+ ATTR_CMN_RETURNED_ATTRS = 0x80000000
+ ATTR_CMN_SCRIPT = 0x100
+ ATTR_CMN_SETMASK = 0x51c7ff00
+ ATTR_CMN_USERACCESS = 0x200000
+ ATTR_CMN_UUID = 0x800000
+ ATTR_CMN_VALIDMASK = 0xffffffff
+ ATTR_CMN_VOLSETMASK = 0x6700
+ ATTR_FILE_ALLOCSIZE = 0x4
+ ATTR_FILE_CLUMPSIZE = 0x10
+ ATTR_FILE_DATAALLOCSIZE = 0x400
+ ATTR_FILE_DATAEXTENTS = 0x800
+ ATTR_FILE_DATALENGTH = 0x200
+ ATTR_FILE_DEVTYPE = 0x20
+ ATTR_FILE_FILETYPE = 0x40
+ ATTR_FILE_FORKCOUNT = 0x80
+ ATTR_FILE_FORKLIST = 0x100
+ ATTR_FILE_IOBLOCKSIZE = 0x8
+ ATTR_FILE_LINKCOUNT = 0x1
+ ATTR_FILE_RSRCALLOCSIZE = 0x2000
+ ATTR_FILE_RSRCEXTENTS = 0x4000
+ ATTR_FILE_RSRCLENGTH = 0x1000
+ ATTR_FILE_SETMASK = 0x20
+ ATTR_FILE_TOTALSIZE = 0x2
+ ATTR_FILE_VALIDMASK = 0x37ff
+ ATTR_VOL_ALLOCATIONCLUMP = 0x40
+ ATTR_VOL_ATTRIBUTES = 0x40000000
+ ATTR_VOL_CAPABILITIES = 0x20000
+ ATTR_VOL_DIRCOUNT = 0x400
+ ATTR_VOL_ENCODINGSUSED = 0x10000
+ ATTR_VOL_FILECOUNT = 0x200
+ ATTR_VOL_FSTYPE = 0x1
+ ATTR_VOL_INFO = 0x80000000
+ ATTR_VOL_IOBLOCKSIZE = 0x80
+ ATTR_VOL_MAXOBJCOUNT = 0x800
+ ATTR_VOL_MINALLOCATION = 0x20
+ ATTR_VOL_MOUNTEDDEVICE = 0x8000
+ ATTR_VOL_MOUNTFLAGS = 0x4000
+ ATTR_VOL_MOUNTPOINT = 0x1000
+ ATTR_VOL_NAME = 0x2000
+ ATTR_VOL_OBJCOUNT = 0x100
+ ATTR_VOL_QUOTA_SIZE = 0x10000000
+ ATTR_VOL_RESERVED_SIZE = 0x20000000
+ ATTR_VOL_SETMASK = 0x80002000
+ ATTR_VOL_SIGNATURE = 0x2
+ ATTR_VOL_SIZE = 0x4
+ ATTR_VOL_SPACEAVAIL = 0x10
+ ATTR_VOL_SPACEFREE = 0x8
+ ATTR_VOL_SPACEUSED = 0x800000
+ ATTR_VOL_UUID = 0x40000
+ ATTR_VOL_VALIDMASK = 0xf087ffff
+ B0 = 0x0
+ B110 = 0x6e
+ B115200 = 0x1c200
+ B1200 = 0x4b0
+ B134 = 0x86
+ B14400 = 0x3840
+ B150 = 0x96
+ B1800 = 0x708
+ B19200 = 0x4b00
+ B200 = 0xc8
+ B230400 = 0x38400
+ B2400 = 0x960
+ B28800 = 0x7080
+ B300 = 0x12c
+ B38400 = 0x9600
+ B4800 = 0x12c0
+ B50 = 0x32
+ B57600 = 0xe100
+ B600 = 0x258
+ B7200 = 0x1c20
+ B75 = 0x4b
+ B76800 = 0x12c00
+ B9600 = 0x2580
+ BIOCFLUSH = 0x20004268
+ BIOCGBLEN = 0x40044266
+ BIOCGDLT = 0x4004426a
+ BIOCGDLTLIST = 0xc00c4279
+ BIOCGETIF = 0x4020426b
+ BIOCGHDRCMPLT = 0x40044274
+ BIOCGRSIG = 0x40044272
+ BIOCGRTIMEOUT = 0x4010426e
+ BIOCGSEESENT = 0x40044276
+ BIOCGSTATS = 0x4008426f
+ BIOCIMMEDIATE = 0x80044270
+ BIOCPROMISC = 0x20004269
+ BIOCSBLEN = 0xc0044266
+ BIOCSDLT = 0x80044278
+ BIOCSETF = 0x80104267
+ BIOCSETFNR = 0x8010427e
+ BIOCSETIF = 0x8020426c
+ BIOCSHDRCMPLT = 0x80044275
+ BIOCSRSIG = 0x80044273
+ BIOCSRTIMEOUT = 0x8010426d
+ BIOCSSEESENT = 0x80044277
+ BIOCVERSION = 0x40044271
+ BPF_A = 0x10
+ BPF_ABS = 0x20
+ BPF_ADD = 0x0
+ BPF_ALIGNMENT = 0x4
+ BPF_ALU = 0x4
+ BPF_AND = 0x50
+ BPF_B = 0x10
+ BPF_DIV = 0x30
+ BPF_H = 0x8
+ BPF_IMM = 0x0
+ BPF_IND = 0x40
+ BPF_JA = 0x0
+ BPF_JEQ = 0x10
+ BPF_JGE = 0x30
+ BPF_JGT = 0x20
+ BPF_JMP = 0x5
+ BPF_JSET = 0x40
+ BPF_K = 0x0
+ BPF_LD = 0x0
+ BPF_LDX = 0x1
+ BPF_LEN = 0x80
+ BPF_LSH = 0x60
+ BPF_MAJOR_VERSION = 0x1
+ BPF_MAXBUFSIZE = 0x80000
+ BPF_MAXINSNS = 0x200
+ BPF_MEM = 0x60
+ BPF_MEMWORDS = 0x10
+ BPF_MINBUFSIZE = 0x20
+ BPF_MINOR_VERSION = 0x1
+ BPF_MISC = 0x7
+ BPF_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_OR = 0x40
+ BPF_RELEASE = 0x30bb6
+ BPF_RET = 0x6
+ BPF_RSH = 0x70
+ BPF_ST = 0x2
+ BPF_STX = 0x3
+ BPF_SUB = 0x10
+ BPF_TAX = 0x0
+ BPF_TXA = 0x80
+ BPF_W = 0x0
+ BPF_X = 0x8
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ CFLUSH = 0xf
+ CLOCAL = 0x8000
+ CLOCK_MONOTONIC = 0x6
+ CLOCK_MONOTONIC_RAW = 0x4
+ CLOCK_MONOTONIC_RAW_APPROX = 0x5
+ CLOCK_PROCESS_CPUTIME_ID = 0xc
+ CLOCK_REALTIME = 0x0
+ CLOCK_THREAD_CPUTIME_ID = 0x10
+ CLOCK_UPTIME_RAW = 0x8
+ CLOCK_UPTIME_RAW_APPROX = 0x9
+ CLONE_NOFOLLOW = 0x1
+ CLONE_NOOWNERCOPY = 0x2
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x30000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x14
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ CTLIOCGINFO = 0xc0644e03
+ CTL_HW = 0x6
+ CTL_KERN = 0x1
+ CTL_MAXNAME = 0xc
+ CTL_NET = 0x4
+ DLT_A429 = 0xb8
+ DLT_A653_ICM = 0xb9
+ DLT_AIRONET_HEADER = 0x78
+ DLT_AOS = 0xde
+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a
+ DLT_ARCNET = 0x7
+ DLT_ARCNET_LINUX = 0x81
+ DLT_ATM_CLIP = 0x13
+ DLT_ATM_RFC1483 = 0xb
+ DLT_AURORA = 0x7e
+ DLT_AX25 = 0x3
+ DLT_AX25_KISS = 0xca
+ DLT_BACNET_MS_TP = 0xa5
+ DLT_BLUETOOTH_HCI_H4 = 0xbb
+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9
+ DLT_CAN20B = 0xbe
+ DLT_CAN_SOCKETCAN = 0xe3
+ DLT_CHAOS = 0x5
+ DLT_CHDLC = 0x68
+ DLT_CISCO_IOS = 0x76
+ DLT_C_HDLC = 0x68
+ DLT_C_HDLC_WITH_DIR = 0xcd
+ DLT_DBUS = 0xe7
+ DLT_DECT = 0xdd
+ DLT_DOCSIS = 0x8f
+ DLT_DVB_CI = 0xeb
+ DLT_ECONET = 0x73
+ DLT_EN10MB = 0x1
+ DLT_EN3MB = 0x2
+ DLT_ENC = 0x6d
+ DLT_ERF = 0xc5
+ DLT_ERF_ETH = 0xaf
+ DLT_ERF_POS = 0xb0
+ DLT_FC_2 = 0xe0
+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1
+ DLT_FDDI = 0xa
+ DLT_FLEXRAY = 0xd2
+ DLT_FRELAY = 0x6b
+ DLT_FRELAY_WITH_DIR = 0xce
+ DLT_GCOM_SERIAL = 0xad
+ DLT_GCOM_T1E1 = 0xac
+ DLT_GPF_F = 0xab
+ DLT_GPF_T = 0xaa
+ DLT_GPRS_LLC = 0xa9
+ DLT_GSMTAP_ABIS = 0xda
+ DLT_GSMTAP_UM = 0xd9
+ DLT_HHDLC = 0x79
+ DLT_IBM_SN = 0x92
+ DLT_IBM_SP = 0x91
+ DLT_IEEE802 = 0x6
+ DLT_IEEE802_11 = 0x69
+ DLT_IEEE802_11_RADIO = 0x7f
+ DLT_IEEE802_11_RADIO_AVS = 0xa3
+ DLT_IEEE802_15_4 = 0xc3
+ DLT_IEEE802_15_4_LINUX = 0xbf
+ DLT_IEEE802_15_4_NOFCS = 0xe6
+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7
+ DLT_IEEE802_16_MAC_CPS = 0xbc
+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1
+ DLT_IPFILTER = 0x74
+ DLT_IPMB = 0xc7
+ DLT_IPMB_LINUX = 0xd1
+ DLT_IPNET = 0xe2
+ DLT_IPOIB = 0xf2
+ DLT_IPV4 = 0xe4
+ DLT_IPV6 = 0xe5
+ DLT_IP_OVER_FC = 0x7a
+ DLT_JUNIPER_ATM1 = 0x89
+ DLT_JUNIPER_ATM2 = 0x87
+ DLT_JUNIPER_ATM_CEMIC = 0xee
+ DLT_JUNIPER_CHDLC = 0xb5
+ DLT_JUNIPER_ES = 0x84
+ DLT_JUNIPER_ETHER = 0xb2
+ DLT_JUNIPER_FIBRECHANNEL = 0xea
+ DLT_JUNIPER_FRELAY = 0xb4
+ DLT_JUNIPER_GGSN = 0x85
+ DLT_JUNIPER_ISM = 0xc2
+ DLT_JUNIPER_MFR = 0x86
+ DLT_JUNIPER_MLFR = 0x83
+ DLT_JUNIPER_MLPPP = 0x82
+ DLT_JUNIPER_MONITOR = 0xa4
+ DLT_JUNIPER_PIC_PEER = 0xae
+ DLT_JUNIPER_PPP = 0xb3
+ DLT_JUNIPER_PPPOE = 0xa7
+ DLT_JUNIPER_PPPOE_ATM = 0xa8
+ DLT_JUNIPER_SERVICES = 0x88
+ DLT_JUNIPER_SRX_E2E = 0xe9
+ DLT_JUNIPER_ST = 0xc8
+ DLT_JUNIPER_VP = 0xb7
+ DLT_JUNIPER_VS = 0xe8
+ DLT_LAPB_WITH_DIR = 0xcf
+ DLT_LAPD = 0xcb
+ DLT_LIN = 0xd4
+ DLT_LINUX_EVDEV = 0xd8
+ DLT_LINUX_IRDA = 0x90
+ DLT_LINUX_LAPD = 0xb1
+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6
+ DLT_LINUX_SLL = 0x71
+ DLT_LOOP = 0x6c
+ DLT_LTALK = 0x72
+ DLT_MATCHING_MAX = 0x10a
+ DLT_MATCHING_MIN = 0x68
+ DLT_MFR = 0xb6
+ DLT_MOST = 0xd3
+ DLT_MPEG_2_TS = 0xf3
+ DLT_MPLS = 0xdb
+ DLT_MTP2 = 0x8c
+ DLT_MTP2_WITH_PHDR = 0x8b
+ DLT_MTP3 = 0x8d
+ DLT_MUX27010 = 0xec
+ DLT_NETANALYZER = 0xf0
+ DLT_NETANALYZER_TRANSPARENT = 0xf1
+ DLT_NFC_LLCP = 0xf5
+ DLT_NFLOG = 0xef
+ DLT_NG40 = 0xf4
+ DLT_NULL = 0x0
+ DLT_PCI_EXP = 0x7d
+ DLT_PFLOG = 0x75
+ DLT_PFSYNC = 0x12
+ DLT_PPI = 0xc0
+ DLT_PPP = 0x9
+ DLT_PPP_BSDOS = 0x10
+ DLT_PPP_ETHER = 0x33
+ DLT_PPP_PPPD = 0xa6
+ DLT_PPP_SERIAL = 0x32
+ DLT_PPP_WITH_DIR = 0xcc
+ DLT_PPP_WITH_DIRECTION = 0xa6
+ DLT_PRISM_HEADER = 0x77
+ DLT_PRONET = 0x4
+ DLT_RAIF1 = 0xc6
+ DLT_RAW = 0xc
+ DLT_RIO = 0x7c
+ DLT_SCCP = 0x8e
+ DLT_SITA = 0xc4
+ DLT_SLIP = 0x8
+ DLT_SLIP_BSDOS = 0xf
+ DLT_STANAG_5066_D_PDU = 0xed
+ DLT_SUNATM = 0x7b
+ DLT_SYMANTEC_FIREWALL = 0x63
+ DLT_TZSP = 0x80
+ DLT_USB = 0xba
+ DLT_USB_DARWIN = 0x10a
+ DLT_USB_LINUX = 0xbd
+ DLT_USB_LINUX_MMAPPED = 0xdc
+ DLT_USER0 = 0x93
+ DLT_USER1 = 0x94
+ DLT_USER10 = 0x9d
+ DLT_USER11 = 0x9e
+ DLT_USER12 = 0x9f
+ DLT_USER13 = 0xa0
+ DLT_USER14 = 0xa1
+ DLT_USER15 = 0xa2
+ DLT_USER2 = 0x95
+ DLT_USER3 = 0x96
+ DLT_USER4 = 0x97
+ DLT_USER5 = 0x98
+ DLT_USER6 = 0x99
+ DLT_USER7 = 0x9a
+ DLT_USER8 = 0x9b
+ DLT_USER9 = 0x9c
+ DLT_WIHART = 0xdf
+ DLT_X2E_SERIAL = 0xd5
+ DLT_X2E_XORAYA = 0xd6
+ DT_BLK = 0x6
+ DT_CHR = 0x2
+ DT_DIR = 0x4
+ DT_FIFO = 0x1
+ DT_LNK = 0xa
+ DT_REG = 0x8
+ DT_SOCK = 0xc
+ DT_UNKNOWN = 0x0
+ DT_WHT = 0xe
+ ECHO = 0x8
+ ECHOCTL = 0x40
+ ECHOE = 0x2
+ ECHOK = 0x4
+ ECHOKE = 0x1
+ ECHONL = 0x10
+ ECHOPRT = 0x20
+ EVFILT_AIO = -0x3
+ EVFILT_EXCEPT = -0xf
+ EVFILT_FS = -0x9
+ EVFILT_MACHPORT = -0x8
+ EVFILT_PROC = -0x5
+ EVFILT_READ = -0x1
+ EVFILT_SIGNAL = -0x6
+ EVFILT_SYSCOUNT = 0x11
+ EVFILT_THREADMARKER = 0x11
+ EVFILT_TIMER = -0x7
+ EVFILT_USER = -0xa
+ EVFILT_VM = -0xc
+ EVFILT_VNODE = -0x4
+ EVFILT_WRITE = -0x2
+ EV_ADD = 0x1
+ EV_CLEAR = 0x20
+ EV_DELETE = 0x2
+ EV_DISABLE = 0x8
+ EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
+ EV_ENABLE = 0x4
+ EV_EOF = 0x8000
+ EV_ERROR = 0x4000
+ EV_FLAG0 = 0x1000
+ EV_FLAG1 = 0x2000
+ EV_ONESHOT = 0x10
+ EV_OOBAND = 0x2000
+ EV_POLL = 0x1000
+ EV_RECEIPT = 0x40
+ EV_SYSFLAGS = 0xf000
+ EV_UDATA_SPECIFIC = 0x100
+ EV_VANISHED = 0x200
+ EXTA = 0x4b00
+ EXTB = 0x9600
+ EXTPROC = 0x800
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ FSOPT_ATTR_CMN_EXTENDED = 0x20
+ FSOPT_NOFOLLOW = 0x1
+ FSOPT_NOINMEMUPDATE = 0x2
+ FSOPT_PACK_INVAL_ATTRS = 0x8
+ FSOPT_REPORT_FULLSIZE = 0x4
+ FSOPT_RETURN_REALDEV = 0x200
+ F_ADDFILESIGS = 0x3d
+ F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
+ F_ADDFILESIGS_INFO = 0x67
+ F_ADDFILESIGS_RETURN = 0x61
+ F_ADDFILESUPPL = 0x68
+ F_ADDSIGS = 0x3b
+ F_ALLOCATEALL = 0x4
+ F_ALLOCATECONTIG = 0x2
+ F_BARRIERFSYNC = 0x55
+ F_CHECK_LV = 0x62
+ F_CHKCLEAN = 0x29
+ F_DUPFD = 0x0
+ F_DUPFD_CLOEXEC = 0x43
+ F_FINDSIGS = 0x4e
+ F_FLUSH_DATA = 0x28
+ F_FREEZE_FS = 0x35
+ F_FULLFSYNC = 0x33
+ F_GETCODEDIR = 0x48
+ F_GETFD = 0x1
+ F_GETFL = 0x3
+ F_GETLK = 0x7
+ F_GETLKPID = 0x42
+ F_GETNOSIGPIPE = 0x4a
+ F_GETOWN = 0x5
+ F_GETPATH = 0x32
+ F_GETPATH_MTMINFO = 0x47
+ F_GETPATH_NOFIRMLINK = 0x66
+ F_GETPROTECTIONCLASS = 0x3f
+ F_GETPROTECTIONLEVEL = 0x4d
+ F_GETSIGSINFO = 0x69
+ F_GLOBAL_NOCACHE = 0x37
+ F_LOG2PHYS = 0x31
+ F_LOG2PHYS_EXT = 0x41
+ F_NOCACHE = 0x30
+ F_NODIRECT = 0x3e
+ F_OK = 0x0
+ F_PATHPKG_CHECK = 0x34
+ F_PEOFPOSMODE = 0x3
+ F_PREALLOCATE = 0x2a
+ F_PUNCHHOLE = 0x63
+ F_RDADVISE = 0x2c
+ F_RDAHEAD = 0x2d
+ F_RDLCK = 0x1
+ F_SETBACKINGSTORE = 0x46
+ F_SETFD = 0x2
+ F_SETFL = 0x4
+ F_SETLK = 0x8
+ F_SETLKW = 0x9
+ F_SETLKWTIMEOUT = 0xa
+ F_SETNOSIGPIPE = 0x49
+ F_SETOWN = 0x6
+ F_SETPROTECTIONCLASS = 0x40
+ F_SETSIZE = 0x2b
+ F_SINGLE_WRITER = 0x4c
+ F_SPECULATIVE_READ = 0x65
+ F_THAW_FS = 0x36
+ F_TRANSCODEKEY = 0x4b
+ F_TRIM_ACTIVE_FILE = 0x64
+ F_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ HW_MACHINE = 0x1
+ ICANON = 0x100
+ ICMP6_FILTER = 0x12
+ ICRNL = 0x100
+ IEXTEN = 0x400
+ IFF_ALLMULTI = 0x200
+ IFF_ALTPHYS = 0x4000
+ IFF_BROADCAST = 0x2
+ IFF_DEBUG = 0x4
+ IFF_LINK0 = 0x1000
+ IFF_LINK1 = 0x2000
+ IFF_LINK2 = 0x4000
+ IFF_LOOPBACK = 0x8
+ IFF_MULTICAST = 0x8000
+ IFF_NOARP = 0x80
+ IFF_NOTRAILERS = 0x20
+ IFF_OACTIVE = 0x400
+ IFF_POINTOPOINT = 0x10
+ IFF_PROMISC = 0x100
+ IFF_RUNNING = 0x40
+ IFF_SIMPLEX = 0x800
+ IFF_UP = 0x1
+ IFNAMSIZ = 0x10
+ IFT_1822 = 0x2
+ IFT_6LOWPAN = 0x40
+ IFT_AAL5 = 0x31
+ IFT_ARCNET = 0x23
+ IFT_ARCNETPLUS = 0x24
+ IFT_ATM = 0x25
+ IFT_BRIDGE = 0xd1
+ IFT_CARP = 0xf8
+ IFT_CELLULAR = 0xff
+ IFT_CEPT = 0x13
+ IFT_DS3 = 0x1e
+ IFT_ENC = 0xf4
+ IFT_EON = 0x19
+ IFT_ETHER = 0x6
+ IFT_FAITH = 0x38
+ IFT_FDDI = 0xf
+ IFT_FRELAY = 0x20
+ IFT_FRELAYDCE = 0x2c
+ IFT_GIF = 0x37
+ IFT_HDH1822 = 0x3
+ IFT_HIPPI = 0x2f
+ IFT_HSSI = 0x2e
+ IFT_HY = 0xe
+ IFT_IEEE1394 = 0x90
+ IFT_IEEE8023ADLAG = 0x88
+ IFT_ISDNBASIC = 0x14
+ IFT_ISDNPRIMARY = 0x15
+ IFT_ISO88022LLC = 0x29
+ IFT_ISO88023 = 0x7
+ IFT_ISO88024 = 0x8
+ IFT_ISO88025 = 0x9
+ IFT_ISO88026 = 0xa
+ IFT_L2VLAN = 0x87
+ IFT_LAPB = 0x10
+ IFT_LOCALTALK = 0x2a
+ IFT_LOOP = 0x18
+ IFT_MIOX25 = 0x26
+ IFT_MODEM = 0x30
+ IFT_NSIP = 0x1b
+ IFT_OTHER = 0x1
+ IFT_P10 = 0xc
+ IFT_P80 = 0xd
+ IFT_PARA = 0x22
+ IFT_PDP = 0xff
+ IFT_PFLOG = 0xf5
+ IFT_PFSYNC = 0xf6
+ IFT_PKTAP = 0xfe
+ IFT_PPP = 0x17
+ IFT_PROPMUX = 0x36
+ IFT_PROPVIRTUAL = 0x35
+ IFT_PTPSERIAL = 0x16
+ IFT_RS232 = 0x21
+ IFT_SDLC = 0x11
+ IFT_SIP = 0x1f
+ IFT_SLIP = 0x1c
+ IFT_SMDSDXI = 0x2b
+ IFT_SMDSICIP = 0x34
+ IFT_SONET = 0x27
+ IFT_SONETPATH = 0x32
+ IFT_SONETVT = 0x33
+ IFT_STARLAN = 0xb
+ IFT_STF = 0x39
+ IFT_T1 = 0x12
+ IFT_ULTRA = 0x1d
+ IFT_V35 = 0x2d
+ IFT_X25 = 0x5
+ IFT_X25DDN = 0x4
+ IFT_X25PLE = 0x28
+ IFT_XETHER = 0x1a
+ IGNBRK = 0x1
+ IGNCR = 0x80
+ IGNPAR = 0x4
+ IMAXBEL = 0x2000
+ INLCR = 0x40
+ INPCK = 0x10
+ IN_CLASSA_HOST = 0xffffff
+ IN_CLASSA_MAX = 0x80
+ IN_CLASSA_NET = 0xff000000
+ IN_CLASSA_NSHIFT = 0x18
+ IN_CLASSB_HOST = 0xffff
+ IN_CLASSB_MAX = 0x10000
+ IN_CLASSB_NET = 0xffff0000
+ IN_CLASSB_NSHIFT = 0x10
+ IN_CLASSC_HOST = 0xff
+ IN_CLASSC_NET = 0xffffff00
+ IN_CLASSC_NSHIFT = 0x8
+ IN_CLASSD_HOST = 0xfffffff
+ IN_CLASSD_NET = 0xf0000000
+ IN_CLASSD_NSHIFT = 0x1c
+ IN_LINKLOCALNETNUM = 0xa9fe0000
+ IN_LOOPBACKNET = 0x7f
+ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1
+ IPPROTO_3PC = 0x22
+ IPPROTO_ADFS = 0x44
+ IPPROTO_AH = 0x33
+ IPPROTO_AHIP = 0x3d
+ IPPROTO_APES = 0x63
+ IPPROTO_ARGUS = 0xd
+ IPPROTO_AX25 = 0x5d
+ IPPROTO_BHA = 0x31
+ IPPROTO_BLT = 0x1e
+ IPPROTO_BRSATMON = 0x4c
+ IPPROTO_CFTP = 0x3e
+ IPPROTO_CHAOS = 0x10
+ IPPROTO_CMTP = 0x26
+ IPPROTO_CPHB = 0x49
+ IPPROTO_CPNX = 0x48
+ IPPROTO_DDP = 0x25
+ IPPROTO_DGP = 0x56
+ IPPROTO_DIVERT = 0xfe
+ IPPROTO_DONE = 0x101
+ IPPROTO_DSTOPTS = 0x3c
+ IPPROTO_EGP = 0x8
+ IPPROTO_EMCON = 0xe
+ IPPROTO_ENCAP = 0x62
+ IPPROTO_EON = 0x50
+ IPPROTO_ESP = 0x32
+ IPPROTO_ETHERIP = 0x61
+ IPPROTO_FRAGMENT = 0x2c
+ IPPROTO_GGP = 0x3
+ IPPROTO_GMTP = 0x64
+ IPPROTO_GRE = 0x2f
+ IPPROTO_HELLO = 0x3f
+ IPPROTO_HMP = 0x14
+ IPPROTO_HOPOPTS = 0x0
+ IPPROTO_ICMP = 0x1
+ IPPROTO_ICMPV6 = 0x3a
+ IPPROTO_IDP = 0x16
+ IPPROTO_IDPR = 0x23
+ IPPROTO_IDRP = 0x2d
+ IPPROTO_IGMP = 0x2
+ IPPROTO_IGP = 0x55
+ IPPROTO_IGRP = 0x58
+ IPPROTO_IL = 0x28
+ IPPROTO_INLSP = 0x34
+ IPPROTO_INP = 0x20
+ IPPROTO_IP = 0x0
+ IPPROTO_IPCOMP = 0x6c
+ IPPROTO_IPCV = 0x47
+ IPPROTO_IPEIP = 0x5e
+ IPPROTO_IPIP = 0x4
+ IPPROTO_IPPC = 0x43
+ IPPROTO_IPV4 = 0x4
+ IPPROTO_IPV6 = 0x29
+ IPPROTO_IRTP = 0x1c
+ IPPROTO_KRYPTOLAN = 0x41
+ IPPROTO_LARP = 0x5b
+ IPPROTO_LEAF1 = 0x19
+ IPPROTO_LEAF2 = 0x1a
+ IPPROTO_MAX = 0x100
+ IPPROTO_MAXID = 0x34
+ IPPROTO_MEAS = 0x13
+ IPPROTO_MHRP = 0x30
+ IPPROTO_MICP = 0x5f
+ IPPROTO_MTP = 0x5c
+ IPPROTO_MUX = 0x12
+ IPPROTO_ND = 0x4d
+ IPPROTO_NHRP = 0x36
+ IPPROTO_NONE = 0x3b
+ IPPROTO_NSP = 0x1f
+ IPPROTO_NVPII = 0xb
+ IPPROTO_OSPFIGP = 0x59
+ IPPROTO_PGM = 0x71
+ IPPROTO_PIGP = 0x9
+ IPPROTO_PIM = 0x67
+ IPPROTO_PRM = 0x15
+ IPPROTO_PUP = 0xc
+ IPPROTO_PVP = 0x4b
+ IPPROTO_RAW = 0xff
+ IPPROTO_RCCMON = 0xa
+ IPPROTO_RDP = 0x1b
+ IPPROTO_ROUTING = 0x2b
+ IPPROTO_RSVP = 0x2e
+ IPPROTO_RVD = 0x42
+ IPPROTO_SATEXPAK = 0x40
+ IPPROTO_SATMON = 0x45
+ IPPROTO_SCCSP = 0x60
+ IPPROTO_SCTP = 0x84
+ IPPROTO_SDRP = 0x2a
+ IPPROTO_SEP = 0x21
+ IPPROTO_SRPC = 0x5a
+ IPPROTO_ST = 0x7
+ IPPROTO_SVMTP = 0x52
+ IPPROTO_SWIPE = 0x35
+ IPPROTO_TCF = 0x57
+ IPPROTO_TCP = 0x6
+ IPPROTO_TP = 0x1d
+ IPPROTO_TPXX = 0x27
+ IPPROTO_TRUNK1 = 0x17
+ IPPROTO_TRUNK2 = 0x18
+ IPPROTO_TTP = 0x54
+ IPPROTO_UDP = 0x11
+ IPPROTO_VINES = 0x53
+ IPPROTO_VISA = 0x46
+ IPPROTO_VMTP = 0x51
+ IPPROTO_WBEXPAK = 0x4f
+ IPPROTO_WBMON = 0x4e
+ IPPROTO_WSN = 0x4a
+ IPPROTO_XNET = 0xf
+ IPPROTO_XTP = 0x24
+ IPV6_2292DSTOPTS = 0x17
+ IPV6_2292HOPLIMIT = 0x14
+ IPV6_2292HOPOPTS = 0x16
+ IPV6_2292NEXTHOP = 0x15
+ IPV6_2292PKTINFO = 0x13
+ IPV6_2292PKTOPTIONS = 0x19
+ IPV6_2292RTHDR = 0x18
+ IPV6_3542DSTOPTS = 0x32
+ IPV6_3542HOPLIMIT = 0x2f
+ IPV6_3542HOPOPTS = 0x31
+ IPV6_3542NEXTHOP = 0x30
+ IPV6_3542PKTINFO = 0x2e
+ IPV6_3542RTHDR = 0x33
+ IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
+ IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
+ IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
+ IPV6_AUTOFLOWLABEL = 0x3b
+ IPV6_BINDV6ONLY = 0x1b
+ IPV6_BOUND_IF = 0x7d
+ IPV6_CHECKSUM = 0x1a
+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1
+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1
+ IPV6_DEFHLIM = 0x40
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DSTOPTS = 0x32
+ IPV6_FAITH = 0x1d
+ IPV6_FLOWINFO_MASK = 0xffffff0f
+ IPV6_FLOWLABEL_MASK = 0xffff0f00
+ IPV6_FLOW_ECN_MASK = 0x3000
+ IPV6_FRAGTTL = 0x3c
+ IPV6_FW_ADD = 0x1e
+ IPV6_FW_DEL = 0x1f
+ IPV6_FW_FLUSH = 0x20
+ IPV6_FW_GET = 0x22
+ IPV6_FW_ZERO = 0x21
+ IPV6_HLIMDEC = 0x1
+ IPV6_HOPLIMIT = 0x2f
+ IPV6_HOPOPTS = 0x31
+ IPV6_IPSEC_POLICY = 0x1c
+ IPV6_JOIN_GROUP = 0xc
+ IPV6_LEAVE_GROUP = 0xd
+ IPV6_MAXHLIM = 0xff
+ IPV6_MAXOPTHDR = 0x800
+ IPV6_MAXPACKET = 0xffff
+ IPV6_MAX_GROUP_SRC_FILTER = 0x200
+ IPV6_MAX_MEMBERSHIPS = 0xfff
+ IPV6_MAX_SOCK_SRC_FILTER = 0x80
+ IPV6_MIN_MEMBERSHIPS = 0x1f
+ IPV6_MMTU = 0x500
+ IPV6_MSFILTER = 0x4a
+ IPV6_MULTICAST_HOPS = 0xa
+ IPV6_MULTICAST_IF = 0x9
+ IPV6_MULTICAST_LOOP = 0xb
+ IPV6_NEXTHOP = 0x30
+ IPV6_PATHMTU = 0x2c
+ IPV6_PKTINFO = 0x2e
+ IPV6_PORTRANGE = 0xe
+ IPV6_PORTRANGE_DEFAULT = 0x0
+ IPV6_PORTRANGE_HIGH = 0x1
+ IPV6_PORTRANGE_LOW = 0x2
+ IPV6_PREFER_TEMPADDR = 0x3f
+ IPV6_RECVDSTOPTS = 0x28
+ IPV6_RECVHOPLIMIT = 0x25
+ IPV6_RECVHOPOPTS = 0x27
+ IPV6_RECVPATHMTU = 0x2b
+ IPV6_RECVPKTINFO = 0x3d
+ IPV6_RECVRTHDR = 0x26
+ IPV6_RECVTCLASS = 0x23
+ IPV6_RTHDR = 0x33
+ IPV6_RTHDRDSTOPTS = 0x39
+ IPV6_RTHDR_LOOSE = 0x0
+ IPV6_RTHDR_STRICT = 0x1
+ IPV6_RTHDR_TYPE_0 = 0x0
+ IPV6_SOCKOPT_RESERVED1 = 0x3
+ IPV6_TCLASS = 0x24
+ IPV6_UNICAST_HOPS = 0x4
+ IPV6_USE_MIN_MTU = 0x2a
+ IPV6_V6ONLY = 0x1b
+ IPV6_VERSION = 0x60
+ IPV6_VERSION_MASK = 0xf0
+ IP_ADD_MEMBERSHIP = 0xc
+ IP_ADD_SOURCE_MEMBERSHIP = 0x46
+ IP_BLOCK_SOURCE = 0x48
+ IP_BOUND_IF = 0x19
+ IP_DEFAULT_MULTICAST_LOOP = 0x1
+ IP_DEFAULT_MULTICAST_TTL = 0x1
+ IP_DF = 0x4000
+ IP_DONTFRAG = 0x1c
+ IP_DROP_MEMBERSHIP = 0xd
+ IP_DROP_SOURCE_MEMBERSHIP = 0x47
+ IP_DUMMYNET_CONFIGURE = 0x3c
+ IP_DUMMYNET_DEL = 0x3d
+ IP_DUMMYNET_FLUSH = 0x3e
+ IP_DUMMYNET_GET = 0x40
+ IP_FAITH = 0x16
+ IP_FW_ADD = 0x28
+ IP_FW_DEL = 0x29
+ IP_FW_FLUSH = 0x2a
+ IP_FW_GET = 0x2c
+ IP_FW_RESETLOG = 0x2d
+ IP_FW_ZERO = 0x2b
+ IP_HDRINCL = 0x2
+ IP_IPSEC_POLICY = 0x15
+ IP_MAXPACKET = 0xffff
+ IP_MAX_GROUP_SRC_FILTER = 0x200
+ IP_MAX_MEMBERSHIPS = 0xfff
+ IP_MAX_SOCK_MUTE_FILTER = 0x80
+ IP_MAX_SOCK_SRC_FILTER = 0x80
+ IP_MF = 0x2000
+ IP_MIN_MEMBERSHIPS = 0x1f
+ IP_MSFILTER = 0x4a
+ IP_MSS = 0x240
+ IP_MULTICAST_IF = 0x9
+ IP_MULTICAST_IFINDEX = 0x42
+ IP_MULTICAST_LOOP = 0xb
+ IP_MULTICAST_TTL = 0xa
+ IP_MULTICAST_VIF = 0xe
+ IP_NAT__XXX = 0x37
+ IP_OFFMASK = 0x1fff
+ IP_OLD_FW_ADD = 0x32
+ IP_OLD_FW_DEL = 0x33
+ IP_OLD_FW_FLUSH = 0x34
+ IP_OLD_FW_GET = 0x36
+ IP_OLD_FW_RESETLOG = 0x38
+ IP_OLD_FW_ZERO = 0x35
+ IP_OPTIONS = 0x1
+ IP_PKTINFO = 0x1a
+ IP_PORTRANGE = 0x13
+ IP_PORTRANGE_DEFAULT = 0x0
+ IP_PORTRANGE_HIGH = 0x1
+ IP_PORTRANGE_LOW = 0x2
+ IP_RECVDSTADDR = 0x7
+ IP_RECVIF = 0x14
+ IP_RECVOPTS = 0x5
+ IP_RECVPKTINFO = 0x1a
+ IP_RECVRETOPTS = 0x6
+ IP_RECVTOS = 0x1b
+ IP_RECVTTL = 0x18
+ IP_RETOPTS = 0x8
+ IP_RF = 0x8000
+ IP_RSVP_OFF = 0x10
+ IP_RSVP_ON = 0xf
+ IP_RSVP_VIF_OFF = 0x12
+ IP_RSVP_VIF_ON = 0x11
+ IP_STRIPHDR = 0x17
+ IP_TOS = 0x3
+ IP_TRAFFIC_MGT_BACKGROUND = 0x41
+ IP_TTL = 0x4
+ IP_UNBLOCK_SOURCE = 0x49
+ ISIG = 0x80
+ ISTRIP = 0x20
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ KERN_HOSTNAME = 0xa
+ KERN_OSRELEASE = 0x2
+ KERN_OSTYPE = 0x1
+ KERN_VERSION = 0x4
+ LOCAL_PEERCRED = 0x1
+ LOCAL_PEEREPID = 0x3
+ LOCAL_PEEREUUID = 0x5
+ LOCAL_PEERPID = 0x2
+ LOCAL_PEERTOKEN = 0x6
+ LOCAL_PEERUUID = 0x4
+ LOCK_EX = 0x2
+ LOCK_NB = 0x4
+ LOCK_SH = 0x1
+ LOCK_UN = 0x8
+ MADV_CAN_REUSE = 0x9
+ MADV_DONTNEED = 0x4
+ MADV_FREE = 0x5
+ MADV_FREE_REUSABLE = 0x7
+ MADV_FREE_REUSE = 0x8
+ MADV_NORMAL = 0x0
+ MADV_PAGEOUT = 0xa
+ MADV_RANDOM = 0x1
+ MADV_SEQUENTIAL = 0x2
+ MADV_WILLNEED = 0x3
+ MADV_ZERO_WIRED_PAGES = 0x6
+ MAP_32BIT = 0x8000
+ MAP_ANON = 0x1000
+ MAP_ANONYMOUS = 0x1000
+ MAP_COPY = 0x2
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ MAP_HASSEMAPHORE = 0x200
+ MAP_JIT = 0x800
+ MAP_NOCACHE = 0x400
+ MAP_NOEXTEND = 0x100
+ MAP_NORESERVE = 0x40
+ MAP_PRIVATE = 0x2
+ MAP_RENAME = 0x20
+ MAP_RESERVED0080 = 0x80
+ MAP_RESILIENT_CODESIGN = 0x2000
+ MAP_RESILIENT_MEDIA = 0x4000
+ MAP_SHARED = 0x1
+ MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
+ MAP_UNIX03 = 0x40000
+ MCAST_BLOCK_SOURCE = 0x54
+ MCAST_EXCLUDE = 0x2
+ MCAST_INCLUDE = 0x1
+ MCAST_JOIN_GROUP = 0x50
+ MCAST_JOIN_SOURCE_GROUP = 0x52
+ MCAST_LEAVE_GROUP = 0x51
+ MCAST_LEAVE_SOURCE_GROUP = 0x53
+ MCAST_UNBLOCK_SOURCE = 0x55
+ MCAST_UNDEFINED = 0x0
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MNT_ASYNC = 0x40
+ MNT_AUTOMOUNTED = 0x400000
+ MNT_CMDFLAGS = 0xf0000
+ MNT_CPROTECT = 0x80
+ MNT_DEFWRITE = 0x2000000
+ MNT_DONTBROWSE = 0x100000
+ MNT_DOVOLFS = 0x8000
+ MNT_DWAIT = 0x4
+ MNT_EXPORTED = 0x100
+ MNT_EXT_ROOT_DATA_VOL = 0x1
+ MNT_FORCE = 0x80000
+ MNT_IGNORE_OWNERSHIP = 0x200000
+ MNT_JOURNALED = 0x800000
+ MNT_LOCAL = 0x1000
+ MNT_MULTILABEL = 0x4000000
+ MNT_NOATIME = 0x10000000
+ MNT_NOBLOCK = 0x20000
+ MNT_NODEV = 0x10
+ MNT_NOEXEC = 0x4
+ MNT_NOSUID = 0x8
+ MNT_NOUSERXATTR = 0x1000000
+ MNT_NOWAIT = 0x2
+ MNT_QUARANTINE = 0x400
+ MNT_QUOTA = 0x2000
+ MNT_RDONLY = 0x1
+ MNT_RELOAD = 0x40000
+ MNT_REMOVABLE = 0x200
+ MNT_ROOTFS = 0x4000
+ MNT_SNAPSHOT = 0x40000000
+ MNT_STRICTATIME = 0x80000000
+ MNT_SYNCHRONOUS = 0x2
+ MNT_UNION = 0x20
+ MNT_UNKNOWNPERMISSIONS = 0x200000
+ MNT_UPDATE = 0x10000
+ MNT_VISFLAGMASK = 0xd7f0f7ff
+ MNT_WAIT = 0x1
+ MSG_CTRUNC = 0x20
+ MSG_DONTROUTE = 0x4
+ MSG_DONTWAIT = 0x80
+ MSG_EOF = 0x100
+ MSG_EOR = 0x8
+ MSG_FLUSH = 0x400
+ MSG_HAVEMORE = 0x2000
+ MSG_HOLD = 0x800
+ MSG_NEEDSA = 0x10000
+ MSG_NOSIGNAL = 0x80000
+ MSG_OOB = 0x1
+ MSG_PEEK = 0x2
+ MSG_RCVMORE = 0x4000
+ MSG_SEND = 0x1000
+ MSG_TRUNC = 0x10
+ MSG_WAITALL = 0x40
+ MSG_WAITSTREAM = 0x200
+ MS_ASYNC = 0x1
+ MS_DEACTIVATE = 0x8
+ MS_INVALIDATE = 0x2
+ MS_KILLPAGES = 0x4
+ MS_SYNC = 0x10
+ NAME_MAX = 0xff
+ NET_RT_DUMP = 0x1
+ NET_RT_DUMP2 = 0x7
+ NET_RT_FLAGS = 0x2
+ NET_RT_FLAGS_PRIV = 0xa
+ NET_RT_IFLIST = 0x3
+ NET_RT_IFLIST2 = 0x6
+ NET_RT_MAXID = 0xb
+ NET_RT_STAT = 0x4
+ NET_RT_TRASH = 0x5
+ NFDBITS = 0x20
+ NL0 = 0x0
+ NL1 = 0x100
+ NL2 = 0x200
+ NL3 = 0x300
+ NLDLY = 0x300
+ NOFLSH = 0x80000000
+ NOKERNINFO = 0x2000000
+ NOTE_ABSOLUTE = 0x8
+ NOTE_ATTRIB = 0x8
+ NOTE_BACKGROUND = 0x40
+ NOTE_CHILD = 0x4
+ NOTE_CRITICAL = 0x20
+ NOTE_DELETE = 0x1
+ NOTE_EXEC = 0x20000000
+ NOTE_EXIT = 0x80000000
+ NOTE_EXITSTATUS = 0x4000000
+ NOTE_EXIT_CSERROR = 0x40000
+ NOTE_EXIT_DECRYPTFAIL = 0x10000
+ NOTE_EXIT_DETAIL = 0x2000000
+ NOTE_EXIT_DETAIL_MASK = 0x70000
+ NOTE_EXIT_MEMORY = 0x20000
+ NOTE_EXIT_REPARENTED = 0x80000
+ NOTE_EXTEND = 0x4
+ NOTE_FFAND = 0x40000000
+ NOTE_FFCOPY = 0xc0000000
+ NOTE_FFCTRLMASK = 0xc0000000
+ NOTE_FFLAGSMASK = 0xffffff
+ NOTE_FFNOP = 0x0
+ NOTE_FFOR = 0x80000000
+ NOTE_FORK = 0x40000000
+ NOTE_FUNLOCK = 0x100
+ NOTE_LEEWAY = 0x10
+ NOTE_LINK = 0x10
+ NOTE_LOWAT = 0x1
+ NOTE_MACHTIME = 0x100
+ NOTE_MACH_CONTINUOUS_TIME = 0x80
+ NOTE_NONE = 0x80
+ NOTE_NSECONDS = 0x4
+ NOTE_OOB = 0x2
+ NOTE_PCTRLMASK = -0x100000
+ NOTE_PDATAMASK = 0xfffff
+ NOTE_REAP = 0x10000000
+ NOTE_RENAME = 0x20
+ NOTE_REVOKE = 0x40
+ NOTE_SECONDS = 0x1
+ NOTE_SIGNAL = 0x8000000
+ NOTE_TRACK = 0x1
+ NOTE_TRACKERR = 0x2
+ NOTE_TRIGGER = 0x1000000
+ NOTE_USECONDS = 0x2
+ NOTE_VM_ERROR = 0x10000000
+ NOTE_VM_PRESSURE = 0x80000000
+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000
+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000
+ NOTE_WRITE = 0x2
+ OCRNL = 0x10
+ OFDEL = 0x20000
+ OFILL = 0x80
+ ONLCR = 0x2
+ ONLRET = 0x40
+ ONOCR = 0x20
+ ONOEOT = 0x8
+ OPOST = 0x1
+ OXTABS = 0x4
+ O_ACCMODE = 0x3
+ O_ALERT = 0x20000000
+ O_APPEND = 0x8
+ O_ASYNC = 0x40
+ O_CLOEXEC = 0x1000000
+ O_CREAT = 0x200
+ O_DIRECTORY = 0x100000
+ O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
+ O_DSYNC = 0x400000
+ O_EVTONLY = 0x8000
+ O_EXCL = 0x800
+ O_EXLOCK = 0x20
+ O_FSYNC = 0x80
+ O_NDELAY = 0x4
+ O_NOCTTY = 0x20000
+ O_NOFOLLOW = 0x100
+ O_NOFOLLOW_ANY = 0x20000000
+ O_NONBLOCK = 0x4
+ O_POPUP = 0x80000000
+ O_RDONLY = 0x0
+ O_RDWR = 0x2
+ O_SHLOCK = 0x10
+ O_SYMLINK = 0x200000
+ O_SYNC = 0x80
+ O_TRUNC = 0x400
+ O_WRONLY = 0x1
+ PARENB = 0x1000
+ PARMRK = 0x8
+ PARODD = 0x2000
+ PENDIN = 0x20000000
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ PROT_EXEC = 0x4
+ PROT_NONE = 0x0
+ PROT_READ = 0x1
+ PROT_WRITE = 0x2
+ PT_ATTACH = 0xa
+ PT_ATTACHEXC = 0xe
+ PT_CONTINUE = 0x7
+ PT_DENY_ATTACH = 0x1f
+ PT_DETACH = 0xb
+ PT_FIRSTMACH = 0x20
+ PT_FORCEQUOTA = 0x1e
+ PT_KILL = 0x8
+ PT_READ_D = 0x2
+ PT_READ_I = 0x1
+ PT_READ_U = 0x3
+ PT_SIGEXC = 0xc
+ PT_STEP = 0x9
+ PT_THUPDATE = 0xd
+ PT_TRACE_ME = 0x0
+ PT_WRITE_D = 0x5
+ PT_WRITE_I = 0x4
+ PT_WRITE_U = 0x6
+ RLIMIT_AS = 0x5
+ RLIMIT_CORE = 0x4
+ RLIMIT_CPU = 0x0
+ RLIMIT_CPU_USAGE_MONITOR = 0x2
+ RLIMIT_DATA = 0x2
+ RLIMIT_FSIZE = 0x1
+ RLIMIT_MEMLOCK = 0x6
+ RLIMIT_NOFILE = 0x8
+ RLIMIT_NPROC = 0x7
+ RLIMIT_RSS = 0x5
+ RLIMIT_STACK = 0x3
+ RLIM_INFINITY = 0x7fffffffffffffff
+ RTAX_AUTHOR = 0x6
+ RTAX_BRD = 0x7
+ RTAX_DST = 0x0
+ RTAX_GATEWAY = 0x1
+ RTAX_GENMASK = 0x3
+ RTAX_IFA = 0x5
+ RTAX_IFP = 0x4
+ RTAX_MAX = 0x8
+ RTAX_NETMASK = 0x2
+ RTA_AUTHOR = 0x40
+ RTA_BRD = 0x80
+ RTA_DST = 0x1
+ RTA_GATEWAY = 0x2
+ RTA_GENMASK = 0x8
+ RTA_IFA = 0x20
+ RTA_IFP = 0x10
+ RTA_NETMASK = 0x4
+ RTF_BLACKHOLE = 0x1000
+ RTF_BROADCAST = 0x400000
+ RTF_CLONING = 0x100
+ RTF_CONDEMNED = 0x2000000
+ RTF_DEAD = 0x20000000
+ RTF_DELCLONE = 0x80
+ RTF_DONE = 0x40
+ RTF_DYNAMIC = 0x10
+ RTF_GATEWAY = 0x2
+ RTF_GLOBAL = 0x40000000
+ RTF_HOST = 0x4
+ RTF_IFREF = 0x4000000
+ RTF_IFSCOPE = 0x1000000
+ RTF_LLDATA = 0x400
+ RTF_LLINFO = 0x400
+ RTF_LOCAL = 0x200000
+ RTF_MODIFIED = 0x20
+ RTF_MULTICAST = 0x800000
+ RTF_NOIFREF = 0x2000
+ RTF_PINNED = 0x100000
+ RTF_PRCLONING = 0x10000
+ RTF_PROTO1 = 0x8000
+ RTF_PROTO2 = 0x4000
+ RTF_PROTO3 = 0x40000
+ RTF_PROXY = 0x8000000
+ RTF_REJECT = 0x8
+ RTF_ROUTER = 0x10000000
+ RTF_STATIC = 0x800
+ RTF_UP = 0x1
+ RTF_WASCLONED = 0x20000
+ RTF_XRESOLVE = 0x200
+ RTM_ADD = 0x1
+ RTM_CHANGE = 0x3
+ RTM_DELADDR = 0xd
+ RTM_DELETE = 0x2
+ RTM_DELMADDR = 0x10
+ RTM_GET = 0x4
+ RTM_GET2 = 0x14
+ RTM_IFINFO = 0xe
+ RTM_IFINFO2 = 0x12
+ RTM_LOCK = 0x8
+ RTM_LOSING = 0x5
+ RTM_MISS = 0x7
+ RTM_NEWADDR = 0xc
+ RTM_NEWMADDR = 0xf
+ RTM_NEWMADDR2 = 0x13
+ RTM_OLDADD = 0x9
+ RTM_OLDDEL = 0xa
+ RTM_REDIRECT = 0x6
+ RTM_RESOLVE = 0xb
+ RTM_RTTUNIT = 0xf4240
+ RTM_VERSION = 0x5
+ RTV_EXPIRE = 0x4
+ RTV_HOPCOUNT = 0x2
+ RTV_MTU = 0x1
+ RTV_RPIPE = 0x8
+ RTV_RTT = 0x40
+ RTV_RTTVAR = 0x80
+ RTV_SPIPE = 0x10
+ RTV_SSTHRESH = 0x20
+ RUSAGE_CHILDREN = -0x1
+ RUSAGE_SELF = 0x0
+ SCM_CREDS = 0x3
+ SCM_RIGHTS = 0x1
+ SCM_TIMESTAMP = 0x2
+ SCM_TIMESTAMP_MONOTONIC = 0x4
+ SEEK_CUR = 0x1
+ SEEK_DATA = 0x4
+ SEEK_END = 0x2
+ SEEK_HOLE = 0x3
+ SEEK_SET = 0x0
+ SHUT_RD = 0x0
+ SHUT_RDWR = 0x2
+ SHUT_WR = 0x1
+ SIOCADDMULTI = 0x80206931
+ SIOCAIFADDR = 0x8040691a
+ SIOCARPIPLL = 0xc0206928
+ SIOCATMARK = 0x40047307
+ SIOCAUTOADDR = 0xc0206926
+ SIOCAUTONETMASK = 0x80206927
+ SIOCDELMULTI = 0x80206932
+ SIOCDIFADDR = 0x80206919
+ SIOCDIFPHYADDR = 0x80206941
+ SIOCGDRVSPEC = 0xc028697b
+ SIOCGETVLAN = 0xc020697f
+ SIOCGHIWAT = 0x40047301
+ SIOCGIF6LOWPAN = 0xc02069c5
+ SIOCGIFADDR = 0xc0206921
+ SIOCGIFALTMTU = 0xc0206948
+ SIOCGIFASYNCMAP = 0xc020697c
+ SIOCGIFBOND = 0xc0206947
+ SIOCGIFBRDADDR = 0xc0206923
+ SIOCGIFCAP = 0xc020695b
+ SIOCGIFCONF = 0xc00c6924
+ SIOCGIFDEVMTU = 0xc0206944
+ SIOCGIFDSTADDR = 0xc0206922
+ SIOCGIFFLAGS = 0xc0206911
+ SIOCGIFFUNCTIONALTYPE = 0xc02069ad
+ SIOCGIFGENERIC = 0xc020693a
+ SIOCGIFKPI = 0xc0206987
+ SIOCGIFMAC = 0xc0206982
+ SIOCGIFMEDIA = 0xc02c6938
+ SIOCGIFMETRIC = 0xc0206917
+ SIOCGIFMTU = 0xc0206933
+ SIOCGIFNETMASK = 0xc0206925
+ SIOCGIFPDSTADDR = 0xc0206940
+ SIOCGIFPHYS = 0xc0206935
+ SIOCGIFPSRCADDR = 0xc020693f
+ SIOCGIFSTATUS = 0xc331693d
+ SIOCGIFVLAN = 0xc020697f
+ SIOCGIFWAKEFLAGS = 0xc0206988
+ SIOCGIFXMEDIA = 0xc02c6948
+ SIOCGLOWAT = 0x40047303
+ SIOCGPGRP = 0x40047309
+ SIOCIFCREATE = 0xc0206978
+ SIOCIFCREATE2 = 0xc020697a
+ SIOCIFDESTROY = 0x80206979
+ SIOCIFGCLONERS = 0xc0106981
+ SIOCRSLVMULTI = 0xc010693b
+ SIOCSDRVSPEC = 0x8028697b
+ SIOCSETVLAN = 0x8020697e
+ SIOCSHIWAT = 0x80047300
+ SIOCSIF6LOWPAN = 0x802069c4
+ SIOCSIFADDR = 0x8020690c
+ SIOCSIFALTMTU = 0x80206945
+ SIOCSIFASYNCMAP = 0x8020697d
+ SIOCSIFBOND = 0x80206946
+ SIOCSIFBRDADDR = 0x80206913
+ SIOCSIFCAP = 0x8020695a
+ SIOCSIFDSTADDR = 0x8020690e
+ SIOCSIFFLAGS = 0x80206910
+ SIOCSIFGENERIC = 0x80206939
+ SIOCSIFKPI = 0x80206986
+ SIOCSIFLLADDR = 0x8020693c
+ SIOCSIFMAC = 0x80206983
+ SIOCSIFMEDIA = 0xc0206937
+ SIOCSIFMETRIC = 0x80206918
+ SIOCSIFMTU = 0x80206934
+ SIOCSIFNETMASK = 0x80206916
+ SIOCSIFPHYADDR = 0x8040693e
+ SIOCSIFPHYS = 0x80206936
+ SIOCSIFVLAN = 0x8020697e
+ SIOCSLOWAT = 0x80047302
+ SIOCSPGRP = 0x80047308
+ SOCK_DGRAM = 0x2
+ SOCK_MAXADDRLEN = 0xff
+ SOCK_RAW = 0x3
+ SOCK_RDM = 0x4
+ SOCK_SEQPACKET = 0x5
+ SOCK_STREAM = 0x1
+ SOL_LOCAL = 0x0
+ SOL_SOCKET = 0xffff
+ SOMAXCONN = 0x80
+ SO_ACCEPTCONN = 0x2
+ SO_BROADCAST = 0x20
+ SO_DEBUG = 0x1
+ SO_DONTROUTE = 0x10
+ SO_DONTTRUNC = 0x2000
+ SO_ERROR = 0x1007
+ SO_KEEPALIVE = 0x8
+ SO_LABEL = 0x1010
+ SO_LINGER = 0x80
+ SO_LINGER_SEC = 0x1080
+ SO_NETSVC_MARKING_LEVEL = 0x1119
+ SO_NET_SERVICE_TYPE = 0x1116
+ SO_NKE = 0x1021
+ SO_NOADDRERR = 0x1023
+ SO_NOSIGPIPE = 0x1022
+ SO_NOTIFYCONFLICT = 0x1026
+ SO_NP_EXTENSIONS = 0x1083
+ SO_NREAD = 0x1020
+ SO_NUMRCVPKT = 0x1112
+ SO_NWRITE = 0x1024
+ SO_OOBINLINE = 0x100
+ SO_PEERLABEL = 0x1011
+ SO_RANDOMPORT = 0x1082
+ SO_RCVBUF = 0x1002
+ SO_RCVLOWAT = 0x1004
+ SO_RCVTIMEO = 0x1006
+ SO_REUSEADDR = 0x4
+ SO_REUSEPORT = 0x200
+ SO_REUSESHAREUID = 0x1025
+ SO_SNDBUF = 0x1001
+ SO_SNDLOWAT = 0x1003
+ SO_SNDTIMEO = 0x1005
+ SO_TIMESTAMP = 0x400
+ SO_TIMESTAMP_MONOTONIC = 0x800
+ SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1
+ SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4
+ SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2
+ SO_TRACKER_TRANSPARENCY_VERSION = 0x3
+ SO_TYPE = 0x1008
+ SO_UPCALLCLOSEWAIT = 0x1027
+ SO_USELOOPBACK = 0x40
+ SO_WANTMORE = 0x4000
+ SO_WANTOOBFLAG = 0x8000
+ S_IEXEC = 0x40
+ S_IFBLK = 0x6000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFIFO = 0x1000
+ S_IFLNK = 0xa000
+ S_IFMT = 0xf000
+ S_IFREG = 0x8000
+ S_IFSOCK = 0xc000
+ S_IFWHT = 0xe000
+ S_IREAD = 0x100
+ S_IRGRP = 0x20
+ S_IROTH = 0x4
+ S_IRUSR = 0x100
+ S_IRWXG = 0x38
+ S_IRWXO = 0x7
+ S_IRWXU = 0x1c0
+ S_ISGID = 0x400
+ S_ISTXT = 0x200
+ S_ISUID = 0x800
+ S_ISVTX = 0x200
+ S_IWGRP = 0x10
+ S_IWOTH = 0x2
+ S_IWRITE = 0x80
+ S_IWUSR = 0x80
+ S_IXGRP = 0x8
+ S_IXOTH = 0x1
+ S_IXUSR = 0x40
+ TAB0 = 0x0
+ TAB1 = 0x400
+ TAB2 = 0x800
+ TAB3 = 0x4
+ TABDLY = 0xc04
+ TCIFLUSH = 0x1
+ TCIOFF = 0x3
+ TCIOFLUSH = 0x3
+ TCION = 0x4
+ TCOFLUSH = 0x2
+ TCOOFF = 0x1
+ TCOON = 0x2
+ TCPOPT_CC = 0xb
+ TCPOPT_CCECHO = 0xd
+ TCPOPT_CCNEW = 0xc
+ TCPOPT_EOL = 0x0
+ TCPOPT_FASTOPEN = 0x22
+ TCPOPT_MAXSEG = 0x2
+ TCPOPT_NOP = 0x1
+ TCPOPT_SACK = 0x5
+ TCPOPT_SACK_HDR = 0x1010500
+ TCPOPT_SACK_PERMITTED = 0x4
+ TCPOPT_SACK_PERMIT_HDR = 0x1010402
+ TCPOPT_SIGNATURE = 0x13
+ TCPOPT_TIMESTAMP = 0x8
+ TCPOPT_TSTAMP_HDR = 0x101080a
+ TCPOPT_WINDOW = 0x3
+ TCP_CONNECTIONTIMEOUT = 0x20
+ TCP_CONNECTION_INFO = 0x106
+ TCP_ENABLE_ECN = 0x104
+ TCP_FASTOPEN = 0x105
+ TCP_KEEPALIVE = 0x10
+ TCP_KEEPCNT = 0x102
+ TCP_KEEPINTVL = 0x101
+ TCP_MAXHLEN = 0x3c
+ TCP_MAXOLEN = 0x28
+ TCP_MAXSEG = 0x2
+ TCP_MAXWIN = 0xffff
+ TCP_MAX_SACK = 0x4
+ TCP_MAX_WINSHIFT = 0xe
+ TCP_MINMSS = 0xd8
+ TCP_MSS = 0x200
+ TCP_NODELAY = 0x1
+ TCP_NOOPT = 0x8
+ TCP_NOPUSH = 0x4
+ TCP_NOTSENT_LOWAT = 0x201
+ TCP_RXT_CONNDROPTIME = 0x80
+ TCP_RXT_FINDROP = 0x100
+ TCP_SENDMOREACKS = 0x103
+ TCSAFLUSH = 0x2
+ TIOCCBRK = 0x2000747a
+ TIOCCDTR = 0x20007478
+ TIOCCONS = 0x80047462
+ TIOCDCDTIMESTAMP = 0x40107458
+ TIOCDRAIN = 0x2000745e
+ TIOCDSIMICROCODE = 0x20007455
+ TIOCEXCL = 0x2000740d
+ TIOCEXT = 0x80047460
+ TIOCFLUSH = 0x80047410
+ TIOCGDRAINWAIT = 0x40047456
+ TIOCGETA = 0x40487413
+ TIOCGETD = 0x4004741a
+ TIOCGPGRP = 0x40047477
+ TIOCGWINSZ = 0x40087468
+ TIOCIXOFF = 0x20007480
+ TIOCIXON = 0x20007481
+ TIOCMBIC = 0x8004746b
+ TIOCMBIS = 0x8004746c
+ TIOCMGDTRWAIT = 0x4004745a
+ TIOCMGET = 0x4004746a
+ TIOCMODG = 0x40047403
+ TIOCMODS = 0x80047404
+ TIOCMSDTRWAIT = 0x8004745b
+ TIOCMSET = 0x8004746d
+ TIOCM_CAR = 0x40
+ TIOCM_CD = 0x40
+ TIOCM_CTS = 0x20
+ TIOCM_DSR = 0x100
+ TIOCM_DTR = 0x2
+ TIOCM_LE = 0x1
+ TIOCM_RI = 0x80
+ TIOCM_RNG = 0x80
+ TIOCM_RTS = 0x4
+ TIOCM_SR = 0x10
+ TIOCM_ST = 0x8
+ TIOCNOTTY = 0x20007471
+ TIOCNXCL = 0x2000740e
+ TIOCOUTQ = 0x40047473
+ TIOCPKT = 0x80047470
+ TIOCPKT_DATA = 0x0
+ TIOCPKT_DOSTOP = 0x20
+ TIOCPKT_FLUSHREAD = 0x1
+ TIOCPKT_FLUSHWRITE = 0x2
+ TIOCPKT_IOCTL = 0x40
+ TIOCPKT_NOSTOP = 0x10
+ TIOCPKT_START = 0x8
+ TIOCPKT_STOP = 0x4
+ TIOCPTYGNAME = 0x40807453
+ TIOCPTYGRANT = 0x20007454
+ TIOCPTYUNLK = 0x20007452
+ TIOCREMOTE = 0x80047469
+ TIOCSBRK = 0x2000747b
+ TIOCSCONS = 0x20007463
+ TIOCSCTTY = 0x20007461
+ TIOCSDRAINWAIT = 0x80047457
+ TIOCSDTR = 0x20007479
+ TIOCSETA = 0x80487414
+ TIOCSETAF = 0x80487416
+ TIOCSETAW = 0x80487415
+ TIOCSETD = 0x8004741b
+ TIOCSIG = 0x2000745f
+ TIOCSPGRP = 0x80047476
+ TIOCSTART = 0x2000746e
+ TIOCSTAT = 0x20007465
+ TIOCSTI = 0x80017472
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCTIMESTAMP = 0x40107459
+ TIOCUCNTL = 0x80047466
+ TOSTOP = 0x400000
+ VDISCARD = 0xf
+ VDSUSP = 0xb
+ VEOF = 0x0
+ VEOL = 0x1
+ VEOL2 = 0x2
+ VERASE = 0x3
+ VINTR = 0x8
+ VKILL = 0x5
+ VLNEXT = 0xe
+ VMADDR_CID_ANY = 0xffffffff
+ VMADDR_CID_HOST = 0x2
+ VMADDR_CID_HYPERVISOR = 0x0
+ VMADDR_CID_RESERVED = 0x1
+ VMADDR_PORT_ANY = 0xffffffff
+ VMIN = 0x10
+ VM_LOADAVG = 0x2
+ VM_MACHFACTOR = 0x4
+ VM_MAXID = 0x6
+ VM_METER = 0x1
+ VM_SWAPUSAGE = 0x5
+ VQUIT = 0x9
+ VREPRINT = 0x6
+ VSTART = 0xc
+ VSTATUS = 0x12
+ VSTOP = 0xd
+ VSUSP = 0xa
+ VT0 = 0x0
+ VT1 = 0x10000
+ VTDLY = 0x10000
+ VTIME = 0x11
+ VWERASE = 0x4
+ WCONTINUED = 0x10
+ WCOREFLAG = 0x80
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOWAIT = 0x20
+ WORDSIZE = 0x40
+ WSTOPPED = 0x8
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x2
+ XATTR_NODEFAULT = 0x10
+ XATTR_NOFOLLOW = 0x1
+ XATTR_NOSECURITY = 0x8
+ XATTR_REPLACE = 0x4
+ XATTR_SHOWCOMPRESSION = 0x20
)
// Errors
diff --git a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
index 31009d7f0..e36f5178d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go
@@ -12,1556 +12,1582 @@ package unix
import "syscall"
const (
- AF_APPLETALK = 0x10
- AF_CCITT = 0xa
- AF_CHAOS = 0x5
- AF_CNT = 0x15
- AF_COIP = 0x14
- AF_DATAKIT = 0x9
- AF_DECnet = 0xc
- AF_DLI = 0xd
- AF_E164 = 0x1c
- AF_ECMA = 0x8
- AF_HYLINK = 0xf
- AF_IEEE80211 = 0x25
- AF_IMPLINK = 0x3
- AF_INET = 0x2
- AF_INET6 = 0x1e
- AF_IPX = 0x17
- AF_ISDN = 0x1c
- AF_ISO = 0x7
- AF_LAT = 0xe
- AF_LINK = 0x12
- AF_LOCAL = 0x1
- AF_MAX = 0x29
- AF_NATM = 0x1f
- AF_NDRV = 0x1b
- AF_NETBIOS = 0x21
- AF_NS = 0x6
- AF_OSI = 0x7
- AF_PPP = 0x22
- AF_PUP = 0x4
- AF_RESERVED_36 = 0x24
- AF_ROUTE = 0x11
- AF_SIP = 0x18
- AF_SNA = 0xb
- AF_SYSTEM = 0x20
- AF_SYS_CONTROL = 0x2
- AF_UNIX = 0x1
- AF_UNSPEC = 0x0
- AF_UTUN = 0x26
- AF_VSOCK = 0x28
- ALTWERASE = 0x200
- ATTR_BIT_MAP_COUNT = 0x5
- ATTR_CMN_ACCESSMASK = 0x20000
- ATTR_CMN_ACCTIME = 0x1000
- ATTR_CMN_ADDEDTIME = 0x10000000
- ATTR_CMN_BKUPTIME = 0x2000
- ATTR_CMN_CHGTIME = 0x800
- ATTR_CMN_CRTIME = 0x200
- ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
- ATTR_CMN_DEVID = 0x2
- ATTR_CMN_DOCUMENT_ID = 0x100000
- ATTR_CMN_ERROR = 0x20000000
- ATTR_CMN_EXTENDED_SECURITY = 0x400000
- ATTR_CMN_FILEID = 0x2000000
- ATTR_CMN_FLAGS = 0x40000
- ATTR_CMN_FNDRINFO = 0x4000
- ATTR_CMN_FSID = 0x4
- ATTR_CMN_FULLPATH = 0x8000000
- ATTR_CMN_GEN_COUNT = 0x80000
- ATTR_CMN_GRPID = 0x10000
- ATTR_CMN_GRPUUID = 0x1000000
- ATTR_CMN_MODTIME = 0x400
- ATTR_CMN_NAME = 0x1
- ATTR_CMN_NAMEDATTRCOUNT = 0x80000
- ATTR_CMN_NAMEDATTRLIST = 0x100000
- ATTR_CMN_OBJID = 0x20
- ATTR_CMN_OBJPERMANENTID = 0x40
- ATTR_CMN_OBJTAG = 0x10
- ATTR_CMN_OBJTYPE = 0x8
- ATTR_CMN_OWNERID = 0x8000
- ATTR_CMN_PARENTID = 0x4000000
- ATTR_CMN_PAROBJID = 0x80
- ATTR_CMN_RETURNED_ATTRS = 0x80000000
- ATTR_CMN_SCRIPT = 0x100
- ATTR_CMN_SETMASK = 0x51c7ff00
- ATTR_CMN_USERACCESS = 0x200000
- ATTR_CMN_UUID = 0x800000
- ATTR_CMN_VALIDMASK = 0xffffffff
- ATTR_CMN_VOLSETMASK = 0x6700
- ATTR_FILE_ALLOCSIZE = 0x4
- ATTR_FILE_CLUMPSIZE = 0x10
- ATTR_FILE_DATAALLOCSIZE = 0x400
- ATTR_FILE_DATAEXTENTS = 0x800
- ATTR_FILE_DATALENGTH = 0x200
- ATTR_FILE_DEVTYPE = 0x20
- ATTR_FILE_FILETYPE = 0x40
- ATTR_FILE_FORKCOUNT = 0x80
- ATTR_FILE_FORKLIST = 0x100
- ATTR_FILE_IOBLOCKSIZE = 0x8
- ATTR_FILE_LINKCOUNT = 0x1
- ATTR_FILE_RSRCALLOCSIZE = 0x2000
- ATTR_FILE_RSRCEXTENTS = 0x4000
- ATTR_FILE_RSRCLENGTH = 0x1000
- ATTR_FILE_SETMASK = 0x20
- ATTR_FILE_TOTALSIZE = 0x2
- ATTR_FILE_VALIDMASK = 0x37ff
- ATTR_VOL_ALLOCATIONCLUMP = 0x40
- ATTR_VOL_ATTRIBUTES = 0x40000000
- ATTR_VOL_CAPABILITIES = 0x20000
- ATTR_VOL_DIRCOUNT = 0x400
- ATTR_VOL_ENCODINGSUSED = 0x10000
- ATTR_VOL_FILECOUNT = 0x200
- ATTR_VOL_FSTYPE = 0x1
- ATTR_VOL_INFO = 0x80000000
- ATTR_VOL_IOBLOCKSIZE = 0x80
- ATTR_VOL_MAXOBJCOUNT = 0x800
- ATTR_VOL_MINALLOCATION = 0x20
- ATTR_VOL_MOUNTEDDEVICE = 0x8000
- ATTR_VOL_MOUNTFLAGS = 0x4000
- ATTR_VOL_MOUNTPOINT = 0x1000
- ATTR_VOL_NAME = 0x2000
- ATTR_VOL_OBJCOUNT = 0x100
- ATTR_VOL_QUOTA_SIZE = 0x10000000
- ATTR_VOL_RESERVED_SIZE = 0x20000000
- ATTR_VOL_SETMASK = 0x80002000
- ATTR_VOL_SIGNATURE = 0x2
- ATTR_VOL_SIZE = 0x4
- ATTR_VOL_SPACEAVAIL = 0x10
- ATTR_VOL_SPACEFREE = 0x8
- ATTR_VOL_UUID = 0x40000
- ATTR_VOL_VALIDMASK = 0xf007ffff
- B0 = 0x0
- B110 = 0x6e
- B115200 = 0x1c200
- B1200 = 0x4b0
- B134 = 0x86
- B14400 = 0x3840
- B150 = 0x96
- B1800 = 0x708
- B19200 = 0x4b00
- B200 = 0xc8
- B230400 = 0x38400
- B2400 = 0x960
- B28800 = 0x7080
- B300 = 0x12c
- B38400 = 0x9600
- B4800 = 0x12c0
- B50 = 0x32
- B57600 = 0xe100
- B600 = 0x258
- B7200 = 0x1c20
- B75 = 0x4b
- B76800 = 0x12c00
- B9600 = 0x2580
- BIOCFLUSH = 0x20004268
- BIOCGBLEN = 0x40044266
- BIOCGDLT = 0x4004426a
- BIOCGDLTLIST = 0xc00c4279
- BIOCGETIF = 0x4020426b
- BIOCGHDRCMPLT = 0x40044274
- BIOCGRSIG = 0x40044272
- BIOCGRTIMEOUT = 0x4010426e
- BIOCGSEESENT = 0x40044276
- BIOCGSTATS = 0x4008426f
- BIOCIMMEDIATE = 0x80044270
- BIOCPROMISC = 0x20004269
- BIOCSBLEN = 0xc0044266
- BIOCSDLT = 0x80044278
- BIOCSETF = 0x80104267
- BIOCSETFNR = 0x8010427e
- BIOCSETIF = 0x8020426c
- BIOCSHDRCMPLT = 0x80044275
- BIOCSRSIG = 0x80044273
- BIOCSRTIMEOUT = 0x8010426d
- BIOCSSEESENT = 0x80044277
- BIOCVERSION = 0x40044271
- BPF_A = 0x10
- BPF_ABS = 0x20
- BPF_ADD = 0x0
- BPF_ALIGNMENT = 0x4
- BPF_ALU = 0x4
- BPF_AND = 0x50
- BPF_B = 0x10
- BPF_DIV = 0x30
- BPF_H = 0x8
- BPF_IMM = 0x0
- BPF_IND = 0x40
- BPF_JA = 0x0
- BPF_JEQ = 0x10
- BPF_JGE = 0x30
- BPF_JGT = 0x20
- BPF_JMP = 0x5
- BPF_JSET = 0x40
- BPF_K = 0x0
- BPF_LD = 0x0
- BPF_LDX = 0x1
- BPF_LEN = 0x80
- BPF_LSH = 0x60
- BPF_MAJOR_VERSION = 0x1
- BPF_MAXBUFSIZE = 0x80000
- BPF_MAXINSNS = 0x200
- BPF_MEM = 0x60
- BPF_MEMWORDS = 0x10
- BPF_MINBUFSIZE = 0x20
- BPF_MINOR_VERSION = 0x1
- BPF_MISC = 0x7
- BPF_MSH = 0xa0
- BPF_MUL = 0x20
- BPF_NEG = 0x80
- BPF_OR = 0x40
- BPF_RELEASE = 0x30bb6
- BPF_RET = 0x6
- BPF_RSH = 0x70
- BPF_ST = 0x2
- BPF_STX = 0x3
- BPF_SUB = 0x10
- BPF_TAX = 0x0
- BPF_TXA = 0x80
- BPF_W = 0x0
- BPF_X = 0x8
- BRKINT = 0x2
- BS0 = 0x0
- BS1 = 0x8000
- BSDLY = 0x8000
- CFLUSH = 0xf
- CLOCAL = 0x8000
- CLOCK_MONOTONIC = 0x6
- CLOCK_MONOTONIC_RAW = 0x4
- CLOCK_MONOTONIC_RAW_APPROX = 0x5
- CLOCK_PROCESS_CPUTIME_ID = 0xc
- CLOCK_REALTIME = 0x0
- CLOCK_THREAD_CPUTIME_ID = 0x10
- CLOCK_UPTIME_RAW = 0x8
- CLOCK_UPTIME_RAW_APPROX = 0x9
- CLONE_NOFOLLOW = 0x1
- CLONE_NOOWNERCOPY = 0x2
- CR0 = 0x0
- CR1 = 0x1000
- CR2 = 0x2000
- CR3 = 0x3000
- CRDLY = 0x3000
- CREAD = 0x800
- CRTSCTS = 0x30000
- CS5 = 0x0
- CS6 = 0x100
- CS7 = 0x200
- CS8 = 0x300
- CSIZE = 0x300
- CSTART = 0x11
- CSTATUS = 0x14
- CSTOP = 0x13
- CSTOPB = 0x400
- CSUSP = 0x1a
- CTLIOCGINFO = 0xc0644e03
- CTL_HW = 0x6
- CTL_KERN = 0x1
- CTL_MAXNAME = 0xc
- CTL_NET = 0x4
- DLT_A429 = 0xb8
- DLT_A653_ICM = 0xb9
- DLT_AIRONET_HEADER = 0x78
- DLT_AOS = 0xde
- DLT_APPLE_IP_OVER_IEEE1394 = 0x8a
- DLT_ARCNET = 0x7
- DLT_ARCNET_LINUX = 0x81
- DLT_ATM_CLIP = 0x13
- DLT_ATM_RFC1483 = 0xb
- DLT_AURORA = 0x7e
- DLT_AX25 = 0x3
- DLT_AX25_KISS = 0xca
- DLT_BACNET_MS_TP = 0xa5
- DLT_BLUETOOTH_HCI_H4 = 0xbb
- DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9
- DLT_CAN20B = 0xbe
- DLT_CAN_SOCKETCAN = 0xe3
- DLT_CHAOS = 0x5
- DLT_CHDLC = 0x68
- DLT_CISCO_IOS = 0x76
- DLT_C_HDLC = 0x68
- DLT_C_HDLC_WITH_DIR = 0xcd
- DLT_DBUS = 0xe7
- DLT_DECT = 0xdd
- DLT_DOCSIS = 0x8f
- DLT_DVB_CI = 0xeb
- DLT_ECONET = 0x73
- DLT_EN10MB = 0x1
- DLT_EN3MB = 0x2
- DLT_ENC = 0x6d
- DLT_ERF = 0xc5
- DLT_ERF_ETH = 0xaf
- DLT_ERF_POS = 0xb0
- DLT_FC_2 = 0xe0
- DLT_FC_2_WITH_FRAME_DELIMS = 0xe1
- DLT_FDDI = 0xa
- DLT_FLEXRAY = 0xd2
- DLT_FRELAY = 0x6b
- DLT_FRELAY_WITH_DIR = 0xce
- DLT_GCOM_SERIAL = 0xad
- DLT_GCOM_T1E1 = 0xac
- DLT_GPF_F = 0xab
- DLT_GPF_T = 0xaa
- DLT_GPRS_LLC = 0xa9
- DLT_GSMTAP_ABIS = 0xda
- DLT_GSMTAP_UM = 0xd9
- DLT_HHDLC = 0x79
- DLT_IBM_SN = 0x92
- DLT_IBM_SP = 0x91
- DLT_IEEE802 = 0x6
- DLT_IEEE802_11 = 0x69
- DLT_IEEE802_11_RADIO = 0x7f
- DLT_IEEE802_11_RADIO_AVS = 0xa3
- DLT_IEEE802_15_4 = 0xc3
- DLT_IEEE802_15_4_LINUX = 0xbf
- DLT_IEEE802_15_4_NOFCS = 0xe6
- DLT_IEEE802_15_4_NONASK_PHY = 0xd7
- DLT_IEEE802_16_MAC_CPS = 0xbc
- DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1
- DLT_IPFILTER = 0x74
- DLT_IPMB = 0xc7
- DLT_IPMB_LINUX = 0xd1
- DLT_IPNET = 0xe2
- DLT_IPOIB = 0xf2
- DLT_IPV4 = 0xe4
- DLT_IPV6 = 0xe5
- DLT_IP_OVER_FC = 0x7a
- DLT_JUNIPER_ATM1 = 0x89
- DLT_JUNIPER_ATM2 = 0x87
- DLT_JUNIPER_ATM_CEMIC = 0xee
- DLT_JUNIPER_CHDLC = 0xb5
- DLT_JUNIPER_ES = 0x84
- DLT_JUNIPER_ETHER = 0xb2
- DLT_JUNIPER_FIBRECHANNEL = 0xea
- DLT_JUNIPER_FRELAY = 0xb4
- DLT_JUNIPER_GGSN = 0x85
- DLT_JUNIPER_ISM = 0xc2
- DLT_JUNIPER_MFR = 0x86
- DLT_JUNIPER_MLFR = 0x83
- DLT_JUNIPER_MLPPP = 0x82
- DLT_JUNIPER_MONITOR = 0xa4
- DLT_JUNIPER_PIC_PEER = 0xae
- DLT_JUNIPER_PPP = 0xb3
- DLT_JUNIPER_PPPOE = 0xa7
- DLT_JUNIPER_PPPOE_ATM = 0xa8
- DLT_JUNIPER_SERVICES = 0x88
- DLT_JUNIPER_SRX_E2E = 0xe9
- DLT_JUNIPER_ST = 0xc8
- DLT_JUNIPER_VP = 0xb7
- DLT_JUNIPER_VS = 0xe8
- DLT_LAPB_WITH_DIR = 0xcf
- DLT_LAPD = 0xcb
- DLT_LIN = 0xd4
- DLT_LINUX_EVDEV = 0xd8
- DLT_LINUX_IRDA = 0x90
- DLT_LINUX_LAPD = 0xb1
- DLT_LINUX_PPP_WITHDIRECTION = 0xa6
- DLT_LINUX_SLL = 0x71
- DLT_LOOP = 0x6c
- DLT_LTALK = 0x72
- DLT_MATCHING_MAX = 0x10a
- DLT_MATCHING_MIN = 0x68
- DLT_MFR = 0xb6
- DLT_MOST = 0xd3
- DLT_MPEG_2_TS = 0xf3
- DLT_MPLS = 0xdb
- DLT_MTP2 = 0x8c
- DLT_MTP2_WITH_PHDR = 0x8b
- DLT_MTP3 = 0x8d
- DLT_MUX27010 = 0xec
- DLT_NETANALYZER = 0xf0
- DLT_NETANALYZER_TRANSPARENT = 0xf1
- DLT_NFC_LLCP = 0xf5
- DLT_NFLOG = 0xef
- DLT_NG40 = 0xf4
- DLT_NULL = 0x0
- DLT_PCI_EXP = 0x7d
- DLT_PFLOG = 0x75
- DLT_PFSYNC = 0x12
- DLT_PPI = 0xc0
- DLT_PPP = 0x9
- DLT_PPP_BSDOS = 0x10
- DLT_PPP_ETHER = 0x33
- DLT_PPP_PPPD = 0xa6
- DLT_PPP_SERIAL = 0x32
- DLT_PPP_WITH_DIR = 0xcc
- DLT_PPP_WITH_DIRECTION = 0xa6
- DLT_PRISM_HEADER = 0x77
- DLT_PRONET = 0x4
- DLT_RAIF1 = 0xc6
- DLT_RAW = 0xc
- DLT_RIO = 0x7c
- DLT_SCCP = 0x8e
- DLT_SITA = 0xc4
- DLT_SLIP = 0x8
- DLT_SLIP_BSDOS = 0xf
- DLT_STANAG_5066_D_PDU = 0xed
- DLT_SUNATM = 0x7b
- DLT_SYMANTEC_FIREWALL = 0x63
- DLT_TZSP = 0x80
- DLT_USB = 0xba
- DLT_USB_DARWIN = 0x10a
- DLT_USB_LINUX = 0xbd
- DLT_USB_LINUX_MMAPPED = 0xdc
- DLT_USER0 = 0x93
- DLT_USER1 = 0x94
- DLT_USER10 = 0x9d
- DLT_USER11 = 0x9e
- DLT_USER12 = 0x9f
- DLT_USER13 = 0xa0
- DLT_USER14 = 0xa1
- DLT_USER15 = 0xa2
- DLT_USER2 = 0x95
- DLT_USER3 = 0x96
- DLT_USER4 = 0x97
- DLT_USER5 = 0x98
- DLT_USER6 = 0x99
- DLT_USER7 = 0x9a
- DLT_USER8 = 0x9b
- DLT_USER9 = 0x9c
- DLT_WIHART = 0xdf
- DLT_X2E_SERIAL = 0xd5
- DLT_X2E_XORAYA = 0xd6
- DT_BLK = 0x6
- DT_CHR = 0x2
- DT_DIR = 0x4
- DT_FIFO = 0x1
- DT_LNK = 0xa
- DT_REG = 0x8
- DT_SOCK = 0xc
- DT_UNKNOWN = 0x0
- DT_WHT = 0xe
- ECHO = 0x8
- ECHOCTL = 0x40
- ECHOE = 0x2
- ECHOK = 0x4
- ECHOKE = 0x1
- ECHONL = 0x10
- ECHOPRT = 0x20
- EVFILT_AIO = -0x3
- EVFILT_EXCEPT = -0xf
- EVFILT_FS = -0x9
- EVFILT_MACHPORT = -0x8
- EVFILT_PROC = -0x5
- EVFILT_READ = -0x1
- EVFILT_SIGNAL = -0x6
- EVFILT_SYSCOUNT = 0x11
- EVFILT_THREADMARKER = 0x11
- EVFILT_TIMER = -0x7
- EVFILT_USER = -0xa
- EVFILT_VM = -0xc
- EVFILT_VNODE = -0x4
- EVFILT_WRITE = -0x2
- EV_ADD = 0x1
- EV_CLEAR = 0x20
- EV_DELETE = 0x2
- EV_DISABLE = 0x8
- EV_DISPATCH = 0x80
- EV_DISPATCH2 = 0x180
- EV_ENABLE = 0x4
- EV_EOF = 0x8000
- EV_ERROR = 0x4000
- EV_FLAG0 = 0x1000
- EV_FLAG1 = 0x2000
- EV_ONESHOT = 0x10
- EV_OOBAND = 0x2000
- EV_POLL = 0x1000
- EV_RECEIPT = 0x40
- EV_SYSFLAGS = 0xf000
- EV_UDATA_SPECIFIC = 0x100
- EV_VANISHED = 0x200
- EXTA = 0x4b00
- EXTB = 0x9600
- EXTPROC = 0x800
- FD_CLOEXEC = 0x1
- FD_SETSIZE = 0x400
- FF0 = 0x0
- FF1 = 0x4000
- FFDLY = 0x4000
- FLUSHO = 0x800000
- FSOPT_ATTR_CMN_EXTENDED = 0x20
- FSOPT_NOFOLLOW = 0x1
- FSOPT_NOINMEMUPDATE = 0x2
- FSOPT_PACK_INVAL_ATTRS = 0x8
- FSOPT_REPORT_FULLSIZE = 0x4
- FSOPT_RETURN_REALDEV = 0x200
- F_ADDFILESIGS = 0x3d
- F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
- F_ADDFILESIGS_INFO = 0x67
- F_ADDFILESIGS_RETURN = 0x61
- F_ADDFILESUPPL = 0x68
- F_ADDSIGS = 0x3b
- F_ALLOCATEALL = 0x4
- F_ALLOCATECONTIG = 0x2
- F_BARRIERFSYNC = 0x55
- F_CHECK_LV = 0x62
- F_CHKCLEAN = 0x29
- F_DUPFD = 0x0
- F_DUPFD_CLOEXEC = 0x43
- F_FINDSIGS = 0x4e
- F_FLUSH_DATA = 0x28
- F_FREEZE_FS = 0x35
- F_FULLFSYNC = 0x33
- F_GETCODEDIR = 0x48
- F_GETFD = 0x1
- F_GETFL = 0x3
- F_GETLK = 0x7
- F_GETLKPID = 0x42
- F_GETNOSIGPIPE = 0x4a
- F_GETOWN = 0x5
- F_GETPATH = 0x32
- F_GETPATH_MTMINFO = 0x47
- F_GETPATH_NOFIRMLINK = 0x66
- F_GETPROTECTIONCLASS = 0x3f
- F_GETPROTECTIONLEVEL = 0x4d
- F_GETSIGSINFO = 0x69
- F_GLOBAL_NOCACHE = 0x37
- F_LOG2PHYS = 0x31
- F_LOG2PHYS_EXT = 0x41
- F_NOCACHE = 0x30
- F_NODIRECT = 0x3e
- F_OK = 0x0
- F_PATHPKG_CHECK = 0x34
- F_PEOFPOSMODE = 0x3
- F_PREALLOCATE = 0x2a
- F_PUNCHHOLE = 0x63
- F_RDADVISE = 0x2c
- F_RDAHEAD = 0x2d
- F_RDLCK = 0x1
- F_SETBACKINGSTORE = 0x46
- F_SETFD = 0x2
- F_SETFL = 0x4
- F_SETLK = 0x8
- F_SETLKW = 0x9
- F_SETLKWTIMEOUT = 0xa
- F_SETNOSIGPIPE = 0x49
- F_SETOWN = 0x6
- F_SETPROTECTIONCLASS = 0x40
- F_SETSIZE = 0x2b
- F_SINGLE_WRITER = 0x4c
- F_SPECULATIVE_READ = 0x65
- F_THAW_FS = 0x36
- F_TRANSCODEKEY = 0x4b
- F_TRIM_ACTIVE_FILE = 0x64
- F_UNLCK = 0x2
- F_VOLPOSMODE = 0x4
- F_WRLCK = 0x3
- HUPCL = 0x4000
- HW_MACHINE = 0x1
- ICANON = 0x100
- ICMP6_FILTER = 0x12
- ICRNL = 0x100
- IEXTEN = 0x400
- IFF_ALLMULTI = 0x200
- IFF_ALTPHYS = 0x4000
- IFF_BROADCAST = 0x2
- IFF_DEBUG = 0x4
- IFF_LINK0 = 0x1000
- IFF_LINK1 = 0x2000
- IFF_LINK2 = 0x4000
- IFF_LOOPBACK = 0x8
- IFF_MULTICAST = 0x8000
- IFF_NOARP = 0x80
- IFF_NOTRAILERS = 0x20
- IFF_OACTIVE = 0x400
- IFF_POINTOPOINT = 0x10
- IFF_PROMISC = 0x100
- IFF_RUNNING = 0x40
- IFF_SIMPLEX = 0x800
- IFF_UP = 0x1
- IFNAMSIZ = 0x10
- IFT_1822 = 0x2
- IFT_6LOWPAN = 0x40
- IFT_AAL5 = 0x31
- IFT_ARCNET = 0x23
- IFT_ARCNETPLUS = 0x24
- IFT_ATM = 0x25
- IFT_BRIDGE = 0xd1
- IFT_CARP = 0xf8
- IFT_CELLULAR = 0xff
- IFT_CEPT = 0x13
- IFT_DS3 = 0x1e
- IFT_ENC = 0xf4
- IFT_EON = 0x19
- IFT_ETHER = 0x6
- IFT_FAITH = 0x38
- IFT_FDDI = 0xf
- IFT_FRELAY = 0x20
- IFT_FRELAYDCE = 0x2c
- IFT_GIF = 0x37
- IFT_HDH1822 = 0x3
- IFT_HIPPI = 0x2f
- IFT_HSSI = 0x2e
- IFT_HY = 0xe
- IFT_IEEE1394 = 0x90
- IFT_IEEE8023ADLAG = 0x88
- IFT_ISDNBASIC = 0x14
- IFT_ISDNPRIMARY = 0x15
- IFT_ISO88022LLC = 0x29
- IFT_ISO88023 = 0x7
- IFT_ISO88024 = 0x8
- IFT_ISO88025 = 0x9
- IFT_ISO88026 = 0xa
- IFT_L2VLAN = 0x87
- IFT_LAPB = 0x10
- IFT_LOCALTALK = 0x2a
- IFT_LOOP = 0x18
- IFT_MIOX25 = 0x26
- IFT_MODEM = 0x30
- IFT_NSIP = 0x1b
- IFT_OTHER = 0x1
- IFT_P10 = 0xc
- IFT_P80 = 0xd
- IFT_PARA = 0x22
- IFT_PDP = 0xff
- IFT_PFLOG = 0xf5
- IFT_PFSYNC = 0xf6
- IFT_PKTAP = 0xfe
- IFT_PPP = 0x17
- IFT_PROPMUX = 0x36
- IFT_PROPVIRTUAL = 0x35
- IFT_PTPSERIAL = 0x16
- IFT_RS232 = 0x21
- IFT_SDLC = 0x11
- IFT_SIP = 0x1f
- IFT_SLIP = 0x1c
- IFT_SMDSDXI = 0x2b
- IFT_SMDSICIP = 0x34
- IFT_SONET = 0x27
- IFT_SONETPATH = 0x32
- IFT_SONETVT = 0x33
- IFT_STARLAN = 0xb
- IFT_STF = 0x39
- IFT_T1 = 0x12
- IFT_ULTRA = 0x1d
- IFT_V35 = 0x2d
- IFT_X25 = 0x5
- IFT_X25DDN = 0x4
- IFT_X25PLE = 0x28
- IFT_XETHER = 0x1a
- IGNBRK = 0x1
- IGNCR = 0x80
- IGNPAR = 0x4
- IMAXBEL = 0x2000
- INLCR = 0x40
- INPCK = 0x10
- IN_CLASSA_HOST = 0xffffff
- IN_CLASSA_MAX = 0x80
- IN_CLASSA_NET = 0xff000000
- IN_CLASSA_NSHIFT = 0x18
- IN_CLASSB_HOST = 0xffff
- IN_CLASSB_MAX = 0x10000
- IN_CLASSB_NET = 0xffff0000
- IN_CLASSB_NSHIFT = 0x10
- IN_CLASSC_HOST = 0xff
- IN_CLASSC_NET = 0xffffff00
- IN_CLASSC_NSHIFT = 0x8
- IN_CLASSD_HOST = 0xfffffff
- IN_CLASSD_NET = 0xf0000000
- IN_CLASSD_NSHIFT = 0x1c
- IN_LINKLOCALNETNUM = 0xa9fe0000
- IN_LOOPBACKNET = 0x7f
- IPPROTO_3PC = 0x22
- IPPROTO_ADFS = 0x44
- IPPROTO_AH = 0x33
- IPPROTO_AHIP = 0x3d
- IPPROTO_APES = 0x63
- IPPROTO_ARGUS = 0xd
- IPPROTO_AX25 = 0x5d
- IPPROTO_BHA = 0x31
- IPPROTO_BLT = 0x1e
- IPPROTO_BRSATMON = 0x4c
- IPPROTO_CFTP = 0x3e
- IPPROTO_CHAOS = 0x10
- IPPROTO_CMTP = 0x26
- IPPROTO_CPHB = 0x49
- IPPROTO_CPNX = 0x48
- IPPROTO_DDP = 0x25
- IPPROTO_DGP = 0x56
- IPPROTO_DIVERT = 0xfe
- IPPROTO_DONE = 0x101
- IPPROTO_DSTOPTS = 0x3c
- IPPROTO_EGP = 0x8
- IPPROTO_EMCON = 0xe
- IPPROTO_ENCAP = 0x62
- IPPROTO_EON = 0x50
- IPPROTO_ESP = 0x32
- IPPROTO_ETHERIP = 0x61
- IPPROTO_FRAGMENT = 0x2c
- IPPROTO_GGP = 0x3
- IPPROTO_GMTP = 0x64
- IPPROTO_GRE = 0x2f
- IPPROTO_HELLO = 0x3f
- IPPROTO_HMP = 0x14
- IPPROTO_HOPOPTS = 0x0
- IPPROTO_ICMP = 0x1
- IPPROTO_ICMPV6 = 0x3a
- IPPROTO_IDP = 0x16
- IPPROTO_IDPR = 0x23
- IPPROTO_IDRP = 0x2d
- IPPROTO_IGMP = 0x2
- IPPROTO_IGP = 0x55
- IPPROTO_IGRP = 0x58
- IPPROTO_IL = 0x28
- IPPROTO_INLSP = 0x34
- IPPROTO_INP = 0x20
- IPPROTO_IP = 0x0
- IPPROTO_IPCOMP = 0x6c
- IPPROTO_IPCV = 0x47
- IPPROTO_IPEIP = 0x5e
- IPPROTO_IPIP = 0x4
- IPPROTO_IPPC = 0x43
- IPPROTO_IPV4 = 0x4
- IPPROTO_IPV6 = 0x29
- IPPROTO_IRTP = 0x1c
- IPPROTO_KRYPTOLAN = 0x41
- IPPROTO_LARP = 0x5b
- IPPROTO_LEAF1 = 0x19
- IPPROTO_LEAF2 = 0x1a
- IPPROTO_MAX = 0x100
- IPPROTO_MAXID = 0x34
- IPPROTO_MEAS = 0x13
- IPPROTO_MHRP = 0x30
- IPPROTO_MICP = 0x5f
- IPPROTO_MTP = 0x5c
- IPPROTO_MUX = 0x12
- IPPROTO_ND = 0x4d
- IPPROTO_NHRP = 0x36
- IPPROTO_NONE = 0x3b
- IPPROTO_NSP = 0x1f
- IPPROTO_NVPII = 0xb
- IPPROTO_OSPFIGP = 0x59
- IPPROTO_PGM = 0x71
- IPPROTO_PIGP = 0x9
- IPPROTO_PIM = 0x67
- IPPROTO_PRM = 0x15
- IPPROTO_PUP = 0xc
- IPPROTO_PVP = 0x4b
- IPPROTO_RAW = 0xff
- IPPROTO_RCCMON = 0xa
- IPPROTO_RDP = 0x1b
- IPPROTO_ROUTING = 0x2b
- IPPROTO_RSVP = 0x2e
- IPPROTO_RVD = 0x42
- IPPROTO_SATEXPAK = 0x40
- IPPROTO_SATMON = 0x45
- IPPROTO_SCCSP = 0x60
- IPPROTO_SCTP = 0x84
- IPPROTO_SDRP = 0x2a
- IPPROTO_SEP = 0x21
- IPPROTO_SRPC = 0x5a
- IPPROTO_ST = 0x7
- IPPROTO_SVMTP = 0x52
- IPPROTO_SWIPE = 0x35
- IPPROTO_TCF = 0x57
- IPPROTO_TCP = 0x6
- IPPROTO_TP = 0x1d
- IPPROTO_TPXX = 0x27
- IPPROTO_TRUNK1 = 0x17
- IPPROTO_TRUNK2 = 0x18
- IPPROTO_TTP = 0x54
- IPPROTO_UDP = 0x11
- IPPROTO_VINES = 0x53
- IPPROTO_VISA = 0x46
- IPPROTO_VMTP = 0x51
- IPPROTO_WBEXPAK = 0x4f
- IPPROTO_WBMON = 0x4e
- IPPROTO_WSN = 0x4a
- IPPROTO_XNET = 0xf
- IPPROTO_XTP = 0x24
- IPV6_2292DSTOPTS = 0x17
- IPV6_2292HOPLIMIT = 0x14
- IPV6_2292HOPOPTS = 0x16
- IPV6_2292NEXTHOP = 0x15
- IPV6_2292PKTINFO = 0x13
- IPV6_2292PKTOPTIONS = 0x19
- IPV6_2292RTHDR = 0x18
- IPV6_3542DSTOPTS = 0x32
- IPV6_3542HOPLIMIT = 0x2f
- IPV6_3542HOPOPTS = 0x31
- IPV6_3542NEXTHOP = 0x30
- IPV6_3542PKTINFO = 0x2e
- IPV6_3542RTHDR = 0x33
- IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
- IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
- IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
- IPV6_AUTOFLOWLABEL = 0x3b
- IPV6_BINDV6ONLY = 0x1b
- IPV6_BOUND_IF = 0x7d
- IPV6_CHECKSUM = 0x1a
- IPV6_DEFAULT_MULTICAST_HOPS = 0x1
- IPV6_DEFAULT_MULTICAST_LOOP = 0x1
- IPV6_DEFHLIM = 0x40
- IPV6_DONTFRAG = 0x3e
- IPV6_DSTOPTS = 0x32
- IPV6_FAITH = 0x1d
- IPV6_FLOWINFO_MASK = 0xffffff0f
- IPV6_FLOWLABEL_MASK = 0xffff0f00
- IPV6_FLOW_ECN_MASK = 0x3000
- IPV6_FRAGTTL = 0x3c
- IPV6_FW_ADD = 0x1e
- IPV6_FW_DEL = 0x1f
- IPV6_FW_FLUSH = 0x20
- IPV6_FW_GET = 0x22
- IPV6_FW_ZERO = 0x21
- IPV6_HLIMDEC = 0x1
- IPV6_HOPLIMIT = 0x2f
- IPV6_HOPOPTS = 0x31
- IPV6_IPSEC_POLICY = 0x1c
- IPV6_JOIN_GROUP = 0xc
- IPV6_LEAVE_GROUP = 0xd
- IPV6_MAXHLIM = 0xff
- IPV6_MAXOPTHDR = 0x800
- IPV6_MAXPACKET = 0xffff
- IPV6_MAX_GROUP_SRC_FILTER = 0x200
- IPV6_MAX_MEMBERSHIPS = 0xfff
- IPV6_MAX_SOCK_SRC_FILTER = 0x80
- IPV6_MIN_MEMBERSHIPS = 0x1f
- IPV6_MMTU = 0x500
- IPV6_MSFILTER = 0x4a
- IPV6_MULTICAST_HOPS = 0xa
- IPV6_MULTICAST_IF = 0x9
- IPV6_MULTICAST_LOOP = 0xb
- IPV6_NEXTHOP = 0x30
- IPV6_PATHMTU = 0x2c
- IPV6_PKTINFO = 0x2e
- IPV6_PORTRANGE = 0xe
- IPV6_PORTRANGE_DEFAULT = 0x0
- IPV6_PORTRANGE_HIGH = 0x1
- IPV6_PORTRANGE_LOW = 0x2
- IPV6_PREFER_TEMPADDR = 0x3f
- IPV6_RECVDSTOPTS = 0x28
- IPV6_RECVHOPLIMIT = 0x25
- IPV6_RECVHOPOPTS = 0x27
- IPV6_RECVPATHMTU = 0x2b
- IPV6_RECVPKTINFO = 0x3d
- IPV6_RECVRTHDR = 0x26
- IPV6_RECVTCLASS = 0x23
- IPV6_RTHDR = 0x33
- IPV6_RTHDRDSTOPTS = 0x39
- IPV6_RTHDR_LOOSE = 0x0
- IPV6_RTHDR_STRICT = 0x1
- IPV6_RTHDR_TYPE_0 = 0x0
- IPV6_SOCKOPT_RESERVED1 = 0x3
- IPV6_TCLASS = 0x24
- IPV6_UNICAST_HOPS = 0x4
- IPV6_USE_MIN_MTU = 0x2a
- IPV6_V6ONLY = 0x1b
- IPV6_VERSION = 0x60
- IPV6_VERSION_MASK = 0xf0
- IP_ADD_MEMBERSHIP = 0xc
- IP_ADD_SOURCE_MEMBERSHIP = 0x46
- IP_BLOCK_SOURCE = 0x48
- IP_BOUND_IF = 0x19
- IP_DEFAULT_MULTICAST_LOOP = 0x1
- IP_DEFAULT_MULTICAST_TTL = 0x1
- IP_DF = 0x4000
- IP_DONTFRAG = 0x1c
- IP_DROP_MEMBERSHIP = 0xd
- IP_DROP_SOURCE_MEMBERSHIP = 0x47
- IP_DUMMYNET_CONFIGURE = 0x3c
- IP_DUMMYNET_DEL = 0x3d
- IP_DUMMYNET_FLUSH = 0x3e
- IP_DUMMYNET_GET = 0x40
- IP_FAITH = 0x16
- IP_FW_ADD = 0x28
- IP_FW_DEL = 0x29
- IP_FW_FLUSH = 0x2a
- IP_FW_GET = 0x2c
- IP_FW_RESETLOG = 0x2d
- IP_FW_ZERO = 0x2b
- IP_HDRINCL = 0x2
- IP_IPSEC_POLICY = 0x15
- IP_MAXPACKET = 0xffff
- IP_MAX_GROUP_SRC_FILTER = 0x200
- IP_MAX_MEMBERSHIPS = 0xfff
- IP_MAX_SOCK_MUTE_FILTER = 0x80
- IP_MAX_SOCK_SRC_FILTER = 0x80
- IP_MF = 0x2000
- IP_MIN_MEMBERSHIPS = 0x1f
- IP_MSFILTER = 0x4a
- IP_MSS = 0x240
- IP_MULTICAST_IF = 0x9
- IP_MULTICAST_IFINDEX = 0x42
- IP_MULTICAST_LOOP = 0xb
- IP_MULTICAST_TTL = 0xa
- IP_MULTICAST_VIF = 0xe
- IP_NAT__XXX = 0x37
- IP_OFFMASK = 0x1fff
- IP_OLD_FW_ADD = 0x32
- IP_OLD_FW_DEL = 0x33
- IP_OLD_FW_FLUSH = 0x34
- IP_OLD_FW_GET = 0x36
- IP_OLD_FW_RESETLOG = 0x38
- IP_OLD_FW_ZERO = 0x35
- IP_OPTIONS = 0x1
- IP_PKTINFO = 0x1a
- IP_PORTRANGE = 0x13
- IP_PORTRANGE_DEFAULT = 0x0
- IP_PORTRANGE_HIGH = 0x1
- IP_PORTRANGE_LOW = 0x2
- IP_RECVDSTADDR = 0x7
- IP_RECVIF = 0x14
- IP_RECVOPTS = 0x5
- IP_RECVPKTINFO = 0x1a
- IP_RECVRETOPTS = 0x6
- IP_RECVTOS = 0x1b
- IP_RECVTTL = 0x18
- IP_RETOPTS = 0x8
- IP_RF = 0x8000
- IP_RSVP_OFF = 0x10
- IP_RSVP_ON = 0xf
- IP_RSVP_VIF_OFF = 0x12
- IP_RSVP_VIF_ON = 0x11
- IP_STRIPHDR = 0x17
- IP_TOS = 0x3
- IP_TRAFFIC_MGT_BACKGROUND = 0x41
- IP_TTL = 0x4
- IP_UNBLOCK_SOURCE = 0x49
- ISIG = 0x80
- ISTRIP = 0x20
- IUTF8 = 0x4000
- IXANY = 0x800
- IXOFF = 0x400
- IXON = 0x200
- KERN_HOSTNAME = 0xa
- KERN_OSRELEASE = 0x2
- KERN_OSTYPE = 0x1
- KERN_VERSION = 0x4
- LOCAL_PEERCRED = 0x1
- LOCAL_PEEREPID = 0x3
- LOCAL_PEEREUUID = 0x5
- LOCAL_PEERPID = 0x2
- LOCAL_PEERTOKEN = 0x6
- LOCAL_PEERUUID = 0x4
- LOCK_EX = 0x2
- LOCK_NB = 0x4
- LOCK_SH = 0x1
- LOCK_UN = 0x8
- MADV_CAN_REUSE = 0x9
- MADV_DONTNEED = 0x4
- MADV_FREE = 0x5
- MADV_FREE_REUSABLE = 0x7
- MADV_FREE_REUSE = 0x8
- MADV_NORMAL = 0x0
- MADV_PAGEOUT = 0xa
- MADV_RANDOM = 0x1
- MADV_SEQUENTIAL = 0x2
- MADV_WILLNEED = 0x3
- MADV_ZERO_WIRED_PAGES = 0x6
- MAP_32BIT = 0x8000
- MAP_ANON = 0x1000
- MAP_ANONYMOUS = 0x1000
- MAP_COPY = 0x2
- MAP_FILE = 0x0
- MAP_FIXED = 0x10
- MAP_HASSEMAPHORE = 0x200
- MAP_JIT = 0x800
- MAP_NOCACHE = 0x400
- MAP_NOEXTEND = 0x100
- MAP_NORESERVE = 0x40
- MAP_PRIVATE = 0x2
- MAP_RENAME = 0x20
- MAP_RESERVED0080 = 0x80
- MAP_RESILIENT_CODESIGN = 0x2000
- MAP_RESILIENT_MEDIA = 0x4000
- MAP_SHARED = 0x1
- MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
- MAP_UNIX03 = 0x40000
- MCAST_BLOCK_SOURCE = 0x54
- MCAST_EXCLUDE = 0x2
- MCAST_INCLUDE = 0x1
- MCAST_JOIN_GROUP = 0x50
- MCAST_JOIN_SOURCE_GROUP = 0x52
- MCAST_LEAVE_GROUP = 0x51
- MCAST_LEAVE_SOURCE_GROUP = 0x53
- MCAST_UNBLOCK_SOURCE = 0x55
- MCAST_UNDEFINED = 0x0
- MCL_CURRENT = 0x1
- MCL_FUTURE = 0x2
- MNT_ASYNC = 0x40
- MNT_AUTOMOUNTED = 0x400000
- MNT_CMDFLAGS = 0xf0000
- MNT_CPROTECT = 0x80
- MNT_DEFWRITE = 0x2000000
- MNT_DONTBROWSE = 0x100000
- MNT_DOVOLFS = 0x8000
- MNT_DWAIT = 0x4
- MNT_EXPORTED = 0x100
- MNT_EXT_ROOT_DATA_VOL = 0x1
- MNT_FORCE = 0x80000
- MNT_IGNORE_OWNERSHIP = 0x200000
- MNT_JOURNALED = 0x800000
- MNT_LOCAL = 0x1000
- MNT_MULTILABEL = 0x4000000
- MNT_NOATIME = 0x10000000
- MNT_NOBLOCK = 0x20000
- MNT_NODEV = 0x10
- MNT_NOEXEC = 0x4
- MNT_NOSUID = 0x8
- MNT_NOUSERXATTR = 0x1000000
- MNT_NOWAIT = 0x2
- MNT_QUARANTINE = 0x400
- MNT_QUOTA = 0x2000
- MNT_RDONLY = 0x1
- MNT_RELOAD = 0x40000
- MNT_REMOVABLE = 0x200
- MNT_ROOTFS = 0x4000
- MNT_SNAPSHOT = 0x40000000
- MNT_STRICTATIME = 0x80000000
- MNT_SYNCHRONOUS = 0x2
- MNT_UNION = 0x20
- MNT_UNKNOWNPERMISSIONS = 0x200000
- MNT_UPDATE = 0x10000
- MNT_VISFLAGMASK = 0xd7f0f7ff
- MNT_WAIT = 0x1
- MSG_CTRUNC = 0x20
- MSG_DONTROUTE = 0x4
- MSG_DONTWAIT = 0x80
- MSG_EOF = 0x100
- MSG_EOR = 0x8
- MSG_FLUSH = 0x400
- MSG_HAVEMORE = 0x2000
- MSG_HOLD = 0x800
- MSG_NEEDSA = 0x10000
- MSG_NOSIGNAL = 0x80000
- MSG_OOB = 0x1
- MSG_PEEK = 0x2
- MSG_RCVMORE = 0x4000
- MSG_SEND = 0x1000
- MSG_TRUNC = 0x10
- MSG_WAITALL = 0x40
- MSG_WAITSTREAM = 0x200
- MS_ASYNC = 0x1
- MS_DEACTIVATE = 0x8
- MS_INVALIDATE = 0x2
- MS_KILLPAGES = 0x4
- MS_SYNC = 0x10
- NAME_MAX = 0xff
- NET_RT_DUMP = 0x1
- NET_RT_DUMP2 = 0x7
- NET_RT_FLAGS = 0x2
- NET_RT_FLAGS_PRIV = 0xa
- NET_RT_IFLIST = 0x3
- NET_RT_IFLIST2 = 0x6
- NET_RT_MAXID = 0xb
- NET_RT_STAT = 0x4
- NET_RT_TRASH = 0x5
- NFDBITS = 0x20
- NL0 = 0x0
- NL1 = 0x100
- NL2 = 0x200
- NL3 = 0x300
- NLDLY = 0x300
- NOFLSH = 0x80000000
- NOKERNINFO = 0x2000000
- NOTE_ABSOLUTE = 0x8
- NOTE_ATTRIB = 0x8
- NOTE_BACKGROUND = 0x40
- NOTE_CHILD = 0x4
- NOTE_CRITICAL = 0x20
- NOTE_DELETE = 0x1
- NOTE_EXEC = 0x20000000
- NOTE_EXIT = 0x80000000
- NOTE_EXITSTATUS = 0x4000000
- NOTE_EXIT_CSERROR = 0x40000
- NOTE_EXIT_DECRYPTFAIL = 0x10000
- NOTE_EXIT_DETAIL = 0x2000000
- NOTE_EXIT_DETAIL_MASK = 0x70000
- NOTE_EXIT_MEMORY = 0x20000
- NOTE_EXIT_REPARENTED = 0x80000
- NOTE_EXTEND = 0x4
- NOTE_FFAND = 0x40000000
- NOTE_FFCOPY = 0xc0000000
- NOTE_FFCTRLMASK = 0xc0000000
- NOTE_FFLAGSMASK = 0xffffff
- NOTE_FFNOP = 0x0
- NOTE_FFOR = 0x80000000
- NOTE_FORK = 0x40000000
- NOTE_FUNLOCK = 0x100
- NOTE_LEEWAY = 0x10
- NOTE_LINK = 0x10
- NOTE_LOWAT = 0x1
- NOTE_MACHTIME = 0x100
- NOTE_MACH_CONTINUOUS_TIME = 0x80
- NOTE_NONE = 0x80
- NOTE_NSECONDS = 0x4
- NOTE_OOB = 0x2
- NOTE_PCTRLMASK = -0x100000
- NOTE_PDATAMASK = 0xfffff
- NOTE_REAP = 0x10000000
- NOTE_RENAME = 0x20
- NOTE_REVOKE = 0x40
- NOTE_SECONDS = 0x1
- NOTE_SIGNAL = 0x8000000
- NOTE_TRACK = 0x1
- NOTE_TRACKERR = 0x2
- NOTE_TRIGGER = 0x1000000
- NOTE_USECONDS = 0x2
- NOTE_VM_ERROR = 0x10000000
- NOTE_VM_PRESSURE = 0x80000000
- NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000
- NOTE_VM_PRESSURE_TERMINATE = 0x40000000
- NOTE_WRITE = 0x2
- OCRNL = 0x10
- OFDEL = 0x20000
- OFILL = 0x80
- ONLCR = 0x2
- ONLRET = 0x40
- ONOCR = 0x20
- ONOEOT = 0x8
- OPOST = 0x1
- OXTABS = 0x4
- O_ACCMODE = 0x3
- O_ALERT = 0x20000000
- O_APPEND = 0x8
- O_ASYNC = 0x40
- O_CLOEXEC = 0x1000000
- O_CREAT = 0x200
- O_DIRECTORY = 0x100000
- O_DP_GETRAWENCRYPTED = 0x1
- O_DP_GETRAWUNENCRYPTED = 0x2
- O_DSYNC = 0x400000
- O_EVTONLY = 0x8000
- O_EXCL = 0x800
- O_EXLOCK = 0x20
- O_FSYNC = 0x80
- O_NDELAY = 0x4
- O_NOCTTY = 0x20000
- O_NOFOLLOW = 0x100
- O_NOFOLLOW_ANY = 0x20000000
- O_NONBLOCK = 0x4
- O_POPUP = 0x80000000
- O_RDONLY = 0x0
- O_RDWR = 0x2
- O_SHLOCK = 0x10
- O_SYMLINK = 0x200000
- O_SYNC = 0x80
- O_TRUNC = 0x400
- O_WRONLY = 0x1
- PARENB = 0x1000
- PARMRK = 0x8
- PARODD = 0x2000
- PENDIN = 0x20000000
- PRIO_PGRP = 0x1
- PRIO_PROCESS = 0x0
- PRIO_USER = 0x2
- PROT_EXEC = 0x4
- PROT_NONE = 0x0
- PROT_READ = 0x1
- PROT_WRITE = 0x2
- PT_ATTACH = 0xa
- PT_ATTACHEXC = 0xe
- PT_CONTINUE = 0x7
- PT_DENY_ATTACH = 0x1f
- PT_DETACH = 0xb
- PT_FIRSTMACH = 0x20
- PT_FORCEQUOTA = 0x1e
- PT_KILL = 0x8
- PT_READ_D = 0x2
- PT_READ_I = 0x1
- PT_READ_U = 0x3
- PT_SIGEXC = 0xc
- PT_STEP = 0x9
- PT_THUPDATE = 0xd
- PT_TRACE_ME = 0x0
- PT_WRITE_D = 0x5
- PT_WRITE_I = 0x4
- PT_WRITE_U = 0x6
- RLIMIT_AS = 0x5
- RLIMIT_CORE = 0x4
- RLIMIT_CPU = 0x0
- RLIMIT_CPU_USAGE_MONITOR = 0x2
- RLIMIT_DATA = 0x2
- RLIMIT_FSIZE = 0x1
- RLIMIT_MEMLOCK = 0x6
- RLIMIT_NOFILE = 0x8
- RLIMIT_NPROC = 0x7
- RLIMIT_RSS = 0x5
- RLIMIT_STACK = 0x3
- RLIM_INFINITY = 0x7fffffffffffffff
- RTAX_AUTHOR = 0x6
- RTAX_BRD = 0x7
- RTAX_DST = 0x0
- RTAX_GATEWAY = 0x1
- RTAX_GENMASK = 0x3
- RTAX_IFA = 0x5
- RTAX_IFP = 0x4
- RTAX_MAX = 0x8
- RTAX_NETMASK = 0x2
- RTA_AUTHOR = 0x40
- RTA_BRD = 0x80
- RTA_DST = 0x1
- RTA_GATEWAY = 0x2
- RTA_GENMASK = 0x8
- RTA_IFA = 0x20
- RTA_IFP = 0x10
- RTA_NETMASK = 0x4
- RTF_BLACKHOLE = 0x1000
- RTF_BROADCAST = 0x400000
- RTF_CLONING = 0x100
- RTF_CONDEMNED = 0x2000000
- RTF_DEAD = 0x20000000
- RTF_DELCLONE = 0x80
- RTF_DONE = 0x40
- RTF_DYNAMIC = 0x10
- RTF_GATEWAY = 0x2
- RTF_GLOBAL = 0x40000000
- RTF_HOST = 0x4
- RTF_IFREF = 0x4000000
- RTF_IFSCOPE = 0x1000000
- RTF_LLDATA = 0x400
- RTF_LLINFO = 0x400
- RTF_LOCAL = 0x200000
- RTF_MODIFIED = 0x20
- RTF_MULTICAST = 0x800000
- RTF_NOIFREF = 0x2000
- RTF_PINNED = 0x100000
- RTF_PRCLONING = 0x10000
- RTF_PROTO1 = 0x8000
- RTF_PROTO2 = 0x4000
- RTF_PROTO3 = 0x40000
- RTF_PROXY = 0x8000000
- RTF_REJECT = 0x8
- RTF_ROUTER = 0x10000000
- RTF_STATIC = 0x800
- RTF_UP = 0x1
- RTF_WASCLONED = 0x20000
- RTF_XRESOLVE = 0x200
- RTM_ADD = 0x1
- RTM_CHANGE = 0x3
- RTM_DELADDR = 0xd
- RTM_DELETE = 0x2
- RTM_DELMADDR = 0x10
- RTM_GET = 0x4
- RTM_GET2 = 0x14
- RTM_IFINFO = 0xe
- RTM_IFINFO2 = 0x12
- RTM_LOCK = 0x8
- RTM_LOSING = 0x5
- RTM_MISS = 0x7
- RTM_NEWADDR = 0xc
- RTM_NEWMADDR = 0xf
- RTM_NEWMADDR2 = 0x13
- RTM_OLDADD = 0x9
- RTM_OLDDEL = 0xa
- RTM_REDIRECT = 0x6
- RTM_RESOLVE = 0xb
- RTM_RTTUNIT = 0xf4240
- RTM_VERSION = 0x5
- RTV_EXPIRE = 0x4
- RTV_HOPCOUNT = 0x2
- RTV_MTU = 0x1
- RTV_RPIPE = 0x8
- RTV_RTT = 0x40
- RTV_RTTVAR = 0x80
- RTV_SPIPE = 0x10
- RTV_SSTHRESH = 0x20
- RUSAGE_CHILDREN = -0x1
- RUSAGE_SELF = 0x0
- SCM_CREDS = 0x3
- SCM_RIGHTS = 0x1
- SCM_TIMESTAMP = 0x2
- SCM_TIMESTAMP_MONOTONIC = 0x4
- SEEK_CUR = 0x1
- SEEK_DATA = 0x4
- SEEK_END = 0x2
- SEEK_HOLE = 0x3
- SEEK_SET = 0x0
- SHUT_RD = 0x0
- SHUT_RDWR = 0x2
- SHUT_WR = 0x1
- SIOCADDMULTI = 0x80206931
- SIOCAIFADDR = 0x8040691a
- SIOCARPIPLL = 0xc0206928
- SIOCATMARK = 0x40047307
- SIOCAUTOADDR = 0xc0206926
- SIOCAUTONETMASK = 0x80206927
- SIOCDELMULTI = 0x80206932
- SIOCDIFADDR = 0x80206919
- SIOCDIFPHYADDR = 0x80206941
- SIOCGDRVSPEC = 0xc028697b
- SIOCGETVLAN = 0xc020697f
- SIOCGHIWAT = 0x40047301
- SIOCGIF6LOWPAN = 0xc02069c5
- SIOCGIFADDR = 0xc0206921
- SIOCGIFALTMTU = 0xc0206948
- SIOCGIFASYNCMAP = 0xc020697c
- SIOCGIFBOND = 0xc0206947
- SIOCGIFBRDADDR = 0xc0206923
- SIOCGIFCAP = 0xc020695b
- SIOCGIFCONF = 0xc00c6924
- SIOCGIFDEVMTU = 0xc0206944
- SIOCGIFDSTADDR = 0xc0206922
- SIOCGIFFLAGS = 0xc0206911
- SIOCGIFFUNCTIONALTYPE = 0xc02069ad
- SIOCGIFGENERIC = 0xc020693a
- SIOCGIFKPI = 0xc0206987
- SIOCGIFMAC = 0xc0206982
- SIOCGIFMEDIA = 0xc02c6938
- SIOCGIFMETRIC = 0xc0206917
- SIOCGIFMTU = 0xc0206933
- SIOCGIFNETMASK = 0xc0206925
- SIOCGIFPDSTADDR = 0xc0206940
- SIOCGIFPHYS = 0xc0206935
- SIOCGIFPSRCADDR = 0xc020693f
- SIOCGIFSTATUS = 0xc331693d
- SIOCGIFVLAN = 0xc020697f
- SIOCGIFWAKEFLAGS = 0xc0206988
- SIOCGIFXMEDIA = 0xc02c6948
- SIOCGLOWAT = 0x40047303
- SIOCGPGRP = 0x40047309
- SIOCIFCREATE = 0xc0206978
- SIOCIFCREATE2 = 0xc020697a
- SIOCIFDESTROY = 0x80206979
- SIOCIFGCLONERS = 0xc0106981
- SIOCRSLVMULTI = 0xc010693b
- SIOCSDRVSPEC = 0x8028697b
- SIOCSETVLAN = 0x8020697e
- SIOCSHIWAT = 0x80047300
- SIOCSIF6LOWPAN = 0x802069c4
- SIOCSIFADDR = 0x8020690c
- SIOCSIFALTMTU = 0x80206945
- SIOCSIFASYNCMAP = 0x8020697d
- SIOCSIFBOND = 0x80206946
- SIOCSIFBRDADDR = 0x80206913
- SIOCSIFCAP = 0x8020695a
- SIOCSIFDSTADDR = 0x8020690e
- SIOCSIFFLAGS = 0x80206910
- SIOCSIFGENERIC = 0x80206939
- SIOCSIFKPI = 0x80206986
- SIOCSIFLLADDR = 0x8020693c
- SIOCSIFMAC = 0x80206983
- SIOCSIFMEDIA = 0xc0206937
- SIOCSIFMETRIC = 0x80206918
- SIOCSIFMTU = 0x80206934
- SIOCSIFNETMASK = 0x80206916
- SIOCSIFPHYADDR = 0x8040693e
- SIOCSIFPHYS = 0x80206936
- SIOCSIFVLAN = 0x8020697e
- SIOCSLOWAT = 0x80047302
- SIOCSPGRP = 0x80047308
- SOCK_DGRAM = 0x2
- SOCK_MAXADDRLEN = 0xff
- SOCK_RAW = 0x3
- SOCK_RDM = 0x4
- SOCK_SEQPACKET = 0x5
- SOCK_STREAM = 0x1
- SOL_LOCAL = 0x0
- SOL_SOCKET = 0xffff
- SOMAXCONN = 0x80
- SO_ACCEPTCONN = 0x2
- SO_BROADCAST = 0x20
- SO_DEBUG = 0x1
- SO_DONTROUTE = 0x10
- SO_DONTTRUNC = 0x2000
- SO_ERROR = 0x1007
- SO_KEEPALIVE = 0x8
- SO_LABEL = 0x1010
- SO_LINGER = 0x80
- SO_LINGER_SEC = 0x1080
- SO_NETSVC_MARKING_LEVEL = 0x1119
- SO_NET_SERVICE_TYPE = 0x1116
- SO_NKE = 0x1021
- SO_NOADDRERR = 0x1023
- SO_NOSIGPIPE = 0x1022
- SO_NOTIFYCONFLICT = 0x1026
- SO_NP_EXTENSIONS = 0x1083
- SO_NREAD = 0x1020
- SO_NUMRCVPKT = 0x1112
- SO_NWRITE = 0x1024
- SO_OOBINLINE = 0x100
- SO_PEERLABEL = 0x1011
- SO_RANDOMPORT = 0x1082
- SO_RCVBUF = 0x1002
- SO_RCVLOWAT = 0x1004
- SO_RCVTIMEO = 0x1006
- SO_REUSEADDR = 0x4
- SO_REUSEPORT = 0x200
- SO_REUSESHAREUID = 0x1025
- SO_SNDBUF = 0x1001
- SO_SNDLOWAT = 0x1003
- SO_SNDTIMEO = 0x1005
- SO_TIMESTAMP = 0x400
- SO_TIMESTAMP_MONOTONIC = 0x800
- SO_TYPE = 0x1008
- SO_UPCALLCLOSEWAIT = 0x1027
- SO_USELOOPBACK = 0x40
- SO_WANTMORE = 0x4000
- SO_WANTOOBFLAG = 0x8000
- S_IEXEC = 0x40
- S_IFBLK = 0x6000
- S_IFCHR = 0x2000
- S_IFDIR = 0x4000
- S_IFIFO = 0x1000
- S_IFLNK = 0xa000
- S_IFMT = 0xf000
- S_IFREG = 0x8000
- S_IFSOCK = 0xc000
- S_IFWHT = 0xe000
- S_IREAD = 0x100
- S_IRGRP = 0x20
- S_IROTH = 0x4
- S_IRUSR = 0x100
- S_IRWXG = 0x38
- S_IRWXO = 0x7
- S_IRWXU = 0x1c0
- S_ISGID = 0x400
- S_ISTXT = 0x200
- S_ISUID = 0x800
- S_ISVTX = 0x200
- S_IWGRP = 0x10
- S_IWOTH = 0x2
- S_IWRITE = 0x80
- S_IWUSR = 0x80
- S_IXGRP = 0x8
- S_IXOTH = 0x1
- S_IXUSR = 0x40
- TAB0 = 0x0
- TAB1 = 0x400
- TAB2 = 0x800
- TAB3 = 0x4
- TABDLY = 0xc04
- TCIFLUSH = 0x1
- TCIOFF = 0x3
- TCIOFLUSH = 0x3
- TCION = 0x4
- TCOFLUSH = 0x2
- TCOOFF = 0x1
- TCOON = 0x2
- TCP_CONNECTIONTIMEOUT = 0x20
- TCP_CONNECTION_INFO = 0x106
- TCP_ENABLE_ECN = 0x104
- TCP_FASTOPEN = 0x105
- TCP_KEEPALIVE = 0x10
- TCP_KEEPCNT = 0x102
- TCP_KEEPINTVL = 0x101
- TCP_MAXHLEN = 0x3c
- TCP_MAXOLEN = 0x28
- TCP_MAXSEG = 0x2
- TCP_MAXWIN = 0xffff
- TCP_MAX_SACK = 0x4
- TCP_MAX_WINSHIFT = 0xe
- TCP_MINMSS = 0xd8
- TCP_MSS = 0x200
- TCP_NODELAY = 0x1
- TCP_NOOPT = 0x8
- TCP_NOPUSH = 0x4
- TCP_NOTSENT_LOWAT = 0x201
- TCP_RXT_CONNDROPTIME = 0x80
- TCP_RXT_FINDROP = 0x100
- TCP_SENDMOREACKS = 0x103
- TCSAFLUSH = 0x2
- TIOCCBRK = 0x2000747a
- TIOCCDTR = 0x20007478
- TIOCCONS = 0x80047462
- TIOCDCDTIMESTAMP = 0x40107458
- TIOCDRAIN = 0x2000745e
- TIOCDSIMICROCODE = 0x20007455
- TIOCEXCL = 0x2000740d
- TIOCEXT = 0x80047460
- TIOCFLUSH = 0x80047410
- TIOCGDRAINWAIT = 0x40047456
- TIOCGETA = 0x40487413
- TIOCGETD = 0x4004741a
- TIOCGPGRP = 0x40047477
- TIOCGWINSZ = 0x40087468
- TIOCIXOFF = 0x20007480
- TIOCIXON = 0x20007481
- TIOCMBIC = 0x8004746b
- TIOCMBIS = 0x8004746c
- TIOCMGDTRWAIT = 0x4004745a
- TIOCMGET = 0x4004746a
- TIOCMODG = 0x40047403
- TIOCMODS = 0x80047404
- TIOCMSDTRWAIT = 0x8004745b
- TIOCMSET = 0x8004746d
- TIOCM_CAR = 0x40
- TIOCM_CD = 0x40
- TIOCM_CTS = 0x20
- TIOCM_DSR = 0x100
- TIOCM_DTR = 0x2
- TIOCM_LE = 0x1
- TIOCM_RI = 0x80
- TIOCM_RNG = 0x80
- TIOCM_RTS = 0x4
- TIOCM_SR = 0x10
- TIOCM_ST = 0x8
- TIOCNOTTY = 0x20007471
- TIOCNXCL = 0x2000740e
- TIOCOUTQ = 0x40047473
- TIOCPKT = 0x80047470
- TIOCPKT_DATA = 0x0
- TIOCPKT_DOSTOP = 0x20
- TIOCPKT_FLUSHREAD = 0x1
- TIOCPKT_FLUSHWRITE = 0x2
- TIOCPKT_IOCTL = 0x40
- TIOCPKT_NOSTOP = 0x10
- TIOCPKT_START = 0x8
- TIOCPKT_STOP = 0x4
- TIOCPTYGNAME = 0x40807453
- TIOCPTYGRANT = 0x20007454
- TIOCPTYUNLK = 0x20007452
- TIOCREMOTE = 0x80047469
- TIOCSBRK = 0x2000747b
- TIOCSCONS = 0x20007463
- TIOCSCTTY = 0x20007461
- TIOCSDRAINWAIT = 0x80047457
- TIOCSDTR = 0x20007479
- TIOCSETA = 0x80487414
- TIOCSETAF = 0x80487416
- TIOCSETAW = 0x80487415
- TIOCSETD = 0x8004741b
- TIOCSIG = 0x2000745f
- TIOCSPGRP = 0x80047476
- TIOCSTART = 0x2000746e
- TIOCSTAT = 0x20007465
- TIOCSTI = 0x80017472
- TIOCSTOP = 0x2000746f
- TIOCSWINSZ = 0x80087467
- TIOCTIMESTAMP = 0x40107459
- TIOCUCNTL = 0x80047466
- TOSTOP = 0x400000
- VDISCARD = 0xf
- VDSUSP = 0xb
- VEOF = 0x0
- VEOL = 0x1
- VEOL2 = 0x2
- VERASE = 0x3
- VINTR = 0x8
- VKILL = 0x5
- VLNEXT = 0xe
- VMIN = 0x10
- VM_LOADAVG = 0x2
- VM_MACHFACTOR = 0x4
- VM_MAXID = 0x6
- VM_METER = 0x1
- VM_SWAPUSAGE = 0x5
- VQUIT = 0x9
- VREPRINT = 0x6
- VSTART = 0xc
- VSTATUS = 0x12
- VSTOP = 0xd
- VSUSP = 0xa
- VT0 = 0x0
- VT1 = 0x10000
- VTDLY = 0x10000
- VTIME = 0x11
- VWERASE = 0x4
- WCONTINUED = 0x10
- WCOREFLAG = 0x80
- WEXITED = 0x4
- WNOHANG = 0x1
- WNOWAIT = 0x20
- WORDSIZE = 0x40
- WSTOPPED = 0x8
- WUNTRACED = 0x2
- XATTR_CREATE = 0x2
- XATTR_NODEFAULT = 0x10
- XATTR_NOFOLLOW = 0x1
- XATTR_NOSECURITY = 0x8
- XATTR_REPLACE = 0x4
- XATTR_SHOWCOMPRESSION = 0x20
+ AF_APPLETALK = 0x10
+ AF_CCITT = 0xa
+ AF_CHAOS = 0x5
+ AF_CNT = 0x15
+ AF_COIP = 0x14
+ AF_DATAKIT = 0x9
+ AF_DECnet = 0xc
+ AF_DLI = 0xd
+ AF_E164 = 0x1c
+ AF_ECMA = 0x8
+ AF_HYLINK = 0xf
+ AF_IEEE80211 = 0x25
+ AF_IMPLINK = 0x3
+ AF_INET = 0x2
+ AF_INET6 = 0x1e
+ AF_IPX = 0x17
+ AF_ISDN = 0x1c
+ AF_ISO = 0x7
+ AF_LAT = 0xe
+ AF_LINK = 0x12
+ AF_LOCAL = 0x1
+ AF_MAX = 0x29
+ AF_NATM = 0x1f
+ AF_NDRV = 0x1b
+ AF_NETBIOS = 0x21
+ AF_NS = 0x6
+ AF_OSI = 0x7
+ AF_PPP = 0x22
+ AF_PUP = 0x4
+ AF_RESERVED_36 = 0x24
+ AF_ROUTE = 0x11
+ AF_SIP = 0x18
+ AF_SNA = 0xb
+ AF_SYSTEM = 0x20
+ AF_SYS_CONTROL = 0x2
+ AF_UNIX = 0x1
+ AF_UNSPEC = 0x0
+ AF_UTUN = 0x26
+ AF_VSOCK = 0x28
+ ALTWERASE = 0x200
+ ATTR_BIT_MAP_COUNT = 0x5
+ ATTR_CMN_ACCESSMASK = 0x20000
+ ATTR_CMN_ACCTIME = 0x1000
+ ATTR_CMN_ADDEDTIME = 0x10000000
+ ATTR_CMN_BKUPTIME = 0x2000
+ ATTR_CMN_CHGTIME = 0x800
+ ATTR_CMN_CRTIME = 0x200
+ ATTR_CMN_DATA_PROTECT_FLAGS = 0x40000000
+ ATTR_CMN_DEVID = 0x2
+ ATTR_CMN_DOCUMENT_ID = 0x100000
+ ATTR_CMN_ERROR = 0x20000000
+ ATTR_CMN_EXTENDED_SECURITY = 0x400000
+ ATTR_CMN_FILEID = 0x2000000
+ ATTR_CMN_FLAGS = 0x40000
+ ATTR_CMN_FNDRINFO = 0x4000
+ ATTR_CMN_FSID = 0x4
+ ATTR_CMN_FULLPATH = 0x8000000
+ ATTR_CMN_GEN_COUNT = 0x80000
+ ATTR_CMN_GRPID = 0x10000
+ ATTR_CMN_GRPUUID = 0x1000000
+ ATTR_CMN_MODTIME = 0x400
+ ATTR_CMN_NAME = 0x1
+ ATTR_CMN_NAMEDATTRCOUNT = 0x80000
+ ATTR_CMN_NAMEDATTRLIST = 0x100000
+ ATTR_CMN_OBJID = 0x20
+ ATTR_CMN_OBJPERMANENTID = 0x40
+ ATTR_CMN_OBJTAG = 0x10
+ ATTR_CMN_OBJTYPE = 0x8
+ ATTR_CMN_OWNERID = 0x8000
+ ATTR_CMN_PARENTID = 0x4000000
+ ATTR_CMN_PAROBJID = 0x80
+ ATTR_CMN_RETURNED_ATTRS = 0x80000000
+ ATTR_CMN_SCRIPT = 0x100
+ ATTR_CMN_SETMASK = 0x51c7ff00
+ ATTR_CMN_USERACCESS = 0x200000
+ ATTR_CMN_UUID = 0x800000
+ ATTR_CMN_VALIDMASK = 0xffffffff
+ ATTR_CMN_VOLSETMASK = 0x6700
+ ATTR_FILE_ALLOCSIZE = 0x4
+ ATTR_FILE_CLUMPSIZE = 0x10
+ ATTR_FILE_DATAALLOCSIZE = 0x400
+ ATTR_FILE_DATAEXTENTS = 0x800
+ ATTR_FILE_DATALENGTH = 0x200
+ ATTR_FILE_DEVTYPE = 0x20
+ ATTR_FILE_FILETYPE = 0x40
+ ATTR_FILE_FORKCOUNT = 0x80
+ ATTR_FILE_FORKLIST = 0x100
+ ATTR_FILE_IOBLOCKSIZE = 0x8
+ ATTR_FILE_LINKCOUNT = 0x1
+ ATTR_FILE_RSRCALLOCSIZE = 0x2000
+ ATTR_FILE_RSRCEXTENTS = 0x4000
+ ATTR_FILE_RSRCLENGTH = 0x1000
+ ATTR_FILE_SETMASK = 0x20
+ ATTR_FILE_TOTALSIZE = 0x2
+ ATTR_FILE_VALIDMASK = 0x37ff
+ ATTR_VOL_ALLOCATIONCLUMP = 0x40
+ ATTR_VOL_ATTRIBUTES = 0x40000000
+ ATTR_VOL_CAPABILITIES = 0x20000
+ ATTR_VOL_DIRCOUNT = 0x400
+ ATTR_VOL_ENCODINGSUSED = 0x10000
+ ATTR_VOL_FILECOUNT = 0x200
+ ATTR_VOL_FSTYPE = 0x1
+ ATTR_VOL_INFO = 0x80000000
+ ATTR_VOL_IOBLOCKSIZE = 0x80
+ ATTR_VOL_MAXOBJCOUNT = 0x800
+ ATTR_VOL_MINALLOCATION = 0x20
+ ATTR_VOL_MOUNTEDDEVICE = 0x8000
+ ATTR_VOL_MOUNTFLAGS = 0x4000
+ ATTR_VOL_MOUNTPOINT = 0x1000
+ ATTR_VOL_NAME = 0x2000
+ ATTR_VOL_OBJCOUNT = 0x100
+ ATTR_VOL_QUOTA_SIZE = 0x10000000
+ ATTR_VOL_RESERVED_SIZE = 0x20000000
+ ATTR_VOL_SETMASK = 0x80002000
+ ATTR_VOL_SIGNATURE = 0x2
+ ATTR_VOL_SIZE = 0x4
+ ATTR_VOL_SPACEAVAIL = 0x10
+ ATTR_VOL_SPACEFREE = 0x8
+ ATTR_VOL_SPACEUSED = 0x800000
+ ATTR_VOL_UUID = 0x40000
+ ATTR_VOL_VALIDMASK = 0xf087ffff
+ B0 = 0x0
+ B110 = 0x6e
+ B115200 = 0x1c200
+ B1200 = 0x4b0
+ B134 = 0x86
+ B14400 = 0x3840
+ B150 = 0x96
+ B1800 = 0x708
+ B19200 = 0x4b00
+ B200 = 0xc8
+ B230400 = 0x38400
+ B2400 = 0x960
+ B28800 = 0x7080
+ B300 = 0x12c
+ B38400 = 0x9600
+ B4800 = 0x12c0
+ B50 = 0x32
+ B57600 = 0xe100
+ B600 = 0x258
+ B7200 = 0x1c20
+ B75 = 0x4b
+ B76800 = 0x12c00
+ B9600 = 0x2580
+ BIOCFLUSH = 0x20004268
+ BIOCGBLEN = 0x40044266
+ BIOCGDLT = 0x4004426a
+ BIOCGDLTLIST = 0xc00c4279
+ BIOCGETIF = 0x4020426b
+ BIOCGHDRCMPLT = 0x40044274
+ BIOCGRSIG = 0x40044272
+ BIOCGRTIMEOUT = 0x4010426e
+ BIOCGSEESENT = 0x40044276
+ BIOCGSTATS = 0x4008426f
+ BIOCIMMEDIATE = 0x80044270
+ BIOCPROMISC = 0x20004269
+ BIOCSBLEN = 0xc0044266
+ BIOCSDLT = 0x80044278
+ BIOCSETF = 0x80104267
+ BIOCSETFNR = 0x8010427e
+ BIOCSETIF = 0x8020426c
+ BIOCSHDRCMPLT = 0x80044275
+ BIOCSRSIG = 0x80044273
+ BIOCSRTIMEOUT = 0x8010426d
+ BIOCSSEESENT = 0x80044277
+ BIOCVERSION = 0x40044271
+ BPF_A = 0x10
+ BPF_ABS = 0x20
+ BPF_ADD = 0x0
+ BPF_ALIGNMENT = 0x4
+ BPF_ALU = 0x4
+ BPF_AND = 0x50
+ BPF_B = 0x10
+ BPF_DIV = 0x30
+ BPF_H = 0x8
+ BPF_IMM = 0x0
+ BPF_IND = 0x40
+ BPF_JA = 0x0
+ BPF_JEQ = 0x10
+ BPF_JGE = 0x30
+ BPF_JGT = 0x20
+ BPF_JMP = 0x5
+ BPF_JSET = 0x40
+ BPF_K = 0x0
+ BPF_LD = 0x0
+ BPF_LDX = 0x1
+ BPF_LEN = 0x80
+ BPF_LSH = 0x60
+ BPF_MAJOR_VERSION = 0x1
+ BPF_MAXBUFSIZE = 0x80000
+ BPF_MAXINSNS = 0x200
+ BPF_MEM = 0x60
+ BPF_MEMWORDS = 0x10
+ BPF_MINBUFSIZE = 0x20
+ BPF_MINOR_VERSION = 0x1
+ BPF_MISC = 0x7
+ BPF_MSH = 0xa0
+ BPF_MUL = 0x20
+ BPF_NEG = 0x80
+ BPF_OR = 0x40
+ BPF_RELEASE = 0x30bb6
+ BPF_RET = 0x6
+ BPF_RSH = 0x70
+ BPF_ST = 0x2
+ BPF_STX = 0x3
+ BPF_SUB = 0x10
+ BPF_TAX = 0x0
+ BPF_TXA = 0x80
+ BPF_W = 0x0
+ BPF_X = 0x8
+ BRKINT = 0x2
+ BS0 = 0x0
+ BS1 = 0x8000
+ BSDLY = 0x8000
+ CFLUSH = 0xf
+ CLOCAL = 0x8000
+ CLOCK_MONOTONIC = 0x6
+ CLOCK_MONOTONIC_RAW = 0x4
+ CLOCK_MONOTONIC_RAW_APPROX = 0x5
+ CLOCK_PROCESS_CPUTIME_ID = 0xc
+ CLOCK_REALTIME = 0x0
+ CLOCK_THREAD_CPUTIME_ID = 0x10
+ CLOCK_UPTIME_RAW = 0x8
+ CLOCK_UPTIME_RAW_APPROX = 0x9
+ CLONE_NOFOLLOW = 0x1
+ CLONE_NOOWNERCOPY = 0x2
+ CR0 = 0x0
+ CR1 = 0x1000
+ CR2 = 0x2000
+ CR3 = 0x3000
+ CRDLY = 0x3000
+ CREAD = 0x800
+ CRTSCTS = 0x30000
+ CS5 = 0x0
+ CS6 = 0x100
+ CS7 = 0x200
+ CS8 = 0x300
+ CSIZE = 0x300
+ CSTART = 0x11
+ CSTATUS = 0x14
+ CSTOP = 0x13
+ CSTOPB = 0x400
+ CSUSP = 0x1a
+ CTLIOCGINFO = 0xc0644e03
+ CTL_HW = 0x6
+ CTL_KERN = 0x1
+ CTL_MAXNAME = 0xc
+ CTL_NET = 0x4
+ DLT_A429 = 0xb8
+ DLT_A653_ICM = 0xb9
+ DLT_AIRONET_HEADER = 0x78
+ DLT_AOS = 0xde
+ DLT_APPLE_IP_OVER_IEEE1394 = 0x8a
+ DLT_ARCNET = 0x7
+ DLT_ARCNET_LINUX = 0x81
+ DLT_ATM_CLIP = 0x13
+ DLT_ATM_RFC1483 = 0xb
+ DLT_AURORA = 0x7e
+ DLT_AX25 = 0x3
+ DLT_AX25_KISS = 0xca
+ DLT_BACNET_MS_TP = 0xa5
+ DLT_BLUETOOTH_HCI_H4 = 0xbb
+ DLT_BLUETOOTH_HCI_H4_WITH_PHDR = 0xc9
+ DLT_CAN20B = 0xbe
+ DLT_CAN_SOCKETCAN = 0xe3
+ DLT_CHAOS = 0x5
+ DLT_CHDLC = 0x68
+ DLT_CISCO_IOS = 0x76
+ DLT_C_HDLC = 0x68
+ DLT_C_HDLC_WITH_DIR = 0xcd
+ DLT_DBUS = 0xe7
+ DLT_DECT = 0xdd
+ DLT_DOCSIS = 0x8f
+ DLT_DVB_CI = 0xeb
+ DLT_ECONET = 0x73
+ DLT_EN10MB = 0x1
+ DLT_EN3MB = 0x2
+ DLT_ENC = 0x6d
+ DLT_ERF = 0xc5
+ DLT_ERF_ETH = 0xaf
+ DLT_ERF_POS = 0xb0
+ DLT_FC_2 = 0xe0
+ DLT_FC_2_WITH_FRAME_DELIMS = 0xe1
+ DLT_FDDI = 0xa
+ DLT_FLEXRAY = 0xd2
+ DLT_FRELAY = 0x6b
+ DLT_FRELAY_WITH_DIR = 0xce
+ DLT_GCOM_SERIAL = 0xad
+ DLT_GCOM_T1E1 = 0xac
+ DLT_GPF_F = 0xab
+ DLT_GPF_T = 0xaa
+ DLT_GPRS_LLC = 0xa9
+ DLT_GSMTAP_ABIS = 0xda
+ DLT_GSMTAP_UM = 0xd9
+ DLT_HHDLC = 0x79
+ DLT_IBM_SN = 0x92
+ DLT_IBM_SP = 0x91
+ DLT_IEEE802 = 0x6
+ DLT_IEEE802_11 = 0x69
+ DLT_IEEE802_11_RADIO = 0x7f
+ DLT_IEEE802_11_RADIO_AVS = 0xa3
+ DLT_IEEE802_15_4 = 0xc3
+ DLT_IEEE802_15_4_LINUX = 0xbf
+ DLT_IEEE802_15_4_NOFCS = 0xe6
+ DLT_IEEE802_15_4_NONASK_PHY = 0xd7
+ DLT_IEEE802_16_MAC_CPS = 0xbc
+ DLT_IEEE802_16_MAC_CPS_RADIO = 0xc1
+ DLT_IPFILTER = 0x74
+ DLT_IPMB = 0xc7
+ DLT_IPMB_LINUX = 0xd1
+ DLT_IPNET = 0xe2
+ DLT_IPOIB = 0xf2
+ DLT_IPV4 = 0xe4
+ DLT_IPV6 = 0xe5
+ DLT_IP_OVER_FC = 0x7a
+ DLT_JUNIPER_ATM1 = 0x89
+ DLT_JUNIPER_ATM2 = 0x87
+ DLT_JUNIPER_ATM_CEMIC = 0xee
+ DLT_JUNIPER_CHDLC = 0xb5
+ DLT_JUNIPER_ES = 0x84
+ DLT_JUNIPER_ETHER = 0xb2
+ DLT_JUNIPER_FIBRECHANNEL = 0xea
+ DLT_JUNIPER_FRELAY = 0xb4
+ DLT_JUNIPER_GGSN = 0x85
+ DLT_JUNIPER_ISM = 0xc2
+ DLT_JUNIPER_MFR = 0x86
+ DLT_JUNIPER_MLFR = 0x83
+ DLT_JUNIPER_MLPPP = 0x82
+ DLT_JUNIPER_MONITOR = 0xa4
+ DLT_JUNIPER_PIC_PEER = 0xae
+ DLT_JUNIPER_PPP = 0xb3
+ DLT_JUNIPER_PPPOE = 0xa7
+ DLT_JUNIPER_PPPOE_ATM = 0xa8
+ DLT_JUNIPER_SERVICES = 0x88
+ DLT_JUNIPER_SRX_E2E = 0xe9
+ DLT_JUNIPER_ST = 0xc8
+ DLT_JUNIPER_VP = 0xb7
+ DLT_JUNIPER_VS = 0xe8
+ DLT_LAPB_WITH_DIR = 0xcf
+ DLT_LAPD = 0xcb
+ DLT_LIN = 0xd4
+ DLT_LINUX_EVDEV = 0xd8
+ DLT_LINUX_IRDA = 0x90
+ DLT_LINUX_LAPD = 0xb1
+ DLT_LINUX_PPP_WITHDIRECTION = 0xa6
+ DLT_LINUX_SLL = 0x71
+ DLT_LOOP = 0x6c
+ DLT_LTALK = 0x72
+ DLT_MATCHING_MAX = 0x10a
+ DLT_MATCHING_MIN = 0x68
+ DLT_MFR = 0xb6
+ DLT_MOST = 0xd3
+ DLT_MPEG_2_TS = 0xf3
+ DLT_MPLS = 0xdb
+ DLT_MTP2 = 0x8c
+ DLT_MTP2_WITH_PHDR = 0x8b
+ DLT_MTP3 = 0x8d
+ DLT_MUX27010 = 0xec
+ DLT_NETANALYZER = 0xf0
+ DLT_NETANALYZER_TRANSPARENT = 0xf1
+ DLT_NFC_LLCP = 0xf5
+ DLT_NFLOG = 0xef
+ DLT_NG40 = 0xf4
+ DLT_NULL = 0x0
+ DLT_PCI_EXP = 0x7d
+ DLT_PFLOG = 0x75
+ DLT_PFSYNC = 0x12
+ DLT_PPI = 0xc0
+ DLT_PPP = 0x9
+ DLT_PPP_BSDOS = 0x10
+ DLT_PPP_ETHER = 0x33
+ DLT_PPP_PPPD = 0xa6
+ DLT_PPP_SERIAL = 0x32
+ DLT_PPP_WITH_DIR = 0xcc
+ DLT_PPP_WITH_DIRECTION = 0xa6
+ DLT_PRISM_HEADER = 0x77
+ DLT_PRONET = 0x4
+ DLT_RAIF1 = 0xc6
+ DLT_RAW = 0xc
+ DLT_RIO = 0x7c
+ DLT_SCCP = 0x8e
+ DLT_SITA = 0xc4
+ DLT_SLIP = 0x8
+ DLT_SLIP_BSDOS = 0xf
+ DLT_STANAG_5066_D_PDU = 0xed
+ DLT_SUNATM = 0x7b
+ DLT_SYMANTEC_FIREWALL = 0x63
+ DLT_TZSP = 0x80
+ DLT_USB = 0xba
+ DLT_USB_DARWIN = 0x10a
+ DLT_USB_LINUX = 0xbd
+ DLT_USB_LINUX_MMAPPED = 0xdc
+ DLT_USER0 = 0x93
+ DLT_USER1 = 0x94
+ DLT_USER10 = 0x9d
+ DLT_USER11 = 0x9e
+ DLT_USER12 = 0x9f
+ DLT_USER13 = 0xa0
+ DLT_USER14 = 0xa1
+ DLT_USER15 = 0xa2
+ DLT_USER2 = 0x95
+ DLT_USER3 = 0x96
+ DLT_USER4 = 0x97
+ DLT_USER5 = 0x98
+ DLT_USER6 = 0x99
+ DLT_USER7 = 0x9a
+ DLT_USER8 = 0x9b
+ DLT_USER9 = 0x9c
+ DLT_WIHART = 0xdf
+ DLT_X2E_SERIAL = 0xd5
+ DLT_X2E_XORAYA = 0xd6
+ DT_BLK = 0x6
+ DT_CHR = 0x2
+ DT_DIR = 0x4
+ DT_FIFO = 0x1
+ DT_LNK = 0xa
+ DT_REG = 0x8
+ DT_SOCK = 0xc
+ DT_UNKNOWN = 0x0
+ DT_WHT = 0xe
+ ECHO = 0x8
+ ECHOCTL = 0x40
+ ECHOE = 0x2
+ ECHOK = 0x4
+ ECHOKE = 0x1
+ ECHONL = 0x10
+ ECHOPRT = 0x20
+ EVFILT_AIO = -0x3
+ EVFILT_EXCEPT = -0xf
+ EVFILT_FS = -0x9
+ EVFILT_MACHPORT = -0x8
+ EVFILT_PROC = -0x5
+ EVFILT_READ = -0x1
+ EVFILT_SIGNAL = -0x6
+ EVFILT_SYSCOUNT = 0x11
+ EVFILT_THREADMARKER = 0x11
+ EVFILT_TIMER = -0x7
+ EVFILT_USER = -0xa
+ EVFILT_VM = -0xc
+ EVFILT_VNODE = -0x4
+ EVFILT_WRITE = -0x2
+ EV_ADD = 0x1
+ EV_CLEAR = 0x20
+ EV_DELETE = 0x2
+ EV_DISABLE = 0x8
+ EV_DISPATCH = 0x80
+ EV_DISPATCH2 = 0x180
+ EV_ENABLE = 0x4
+ EV_EOF = 0x8000
+ EV_ERROR = 0x4000
+ EV_FLAG0 = 0x1000
+ EV_FLAG1 = 0x2000
+ EV_ONESHOT = 0x10
+ EV_OOBAND = 0x2000
+ EV_POLL = 0x1000
+ EV_RECEIPT = 0x40
+ EV_SYSFLAGS = 0xf000
+ EV_UDATA_SPECIFIC = 0x100
+ EV_VANISHED = 0x200
+ EXTA = 0x4b00
+ EXTB = 0x9600
+ EXTPROC = 0x800
+ FD_CLOEXEC = 0x1
+ FD_SETSIZE = 0x400
+ FF0 = 0x0
+ FF1 = 0x4000
+ FFDLY = 0x4000
+ FLUSHO = 0x800000
+ FSOPT_ATTR_CMN_EXTENDED = 0x20
+ FSOPT_NOFOLLOW = 0x1
+ FSOPT_NOINMEMUPDATE = 0x2
+ FSOPT_PACK_INVAL_ATTRS = 0x8
+ FSOPT_REPORT_FULLSIZE = 0x4
+ FSOPT_RETURN_REALDEV = 0x200
+ F_ADDFILESIGS = 0x3d
+ F_ADDFILESIGS_FOR_DYLD_SIM = 0x53
+ F_ADDFILESIGS_INFO = 0x67
+ F_ADDFILESIGS_RETURN = 0x61
+ F_ADDFILESUPPL = 0x68
+ F_ADDSIGS = 0x3b
+ F_ALLOCATEALL = 0x4
+ F_ALLOCATECONTIG = 0x2
+ F_BARRIERFSYNC = 0x55
+ F_CHECK_LV = 0x62
+ F_CHKCLEAN = 0x29
+ F_DUPFD = 0x0
+ F_DUPFD_CLOEXEC = 0x43
+ F_FINDSIGS = 0x4e
+ F_FLUSH_DATA = 0x28
+ F_FREEZE_FS = 0x35
+ F_FULLFSYNC = 0x33
+ F_GETCODEDIR = 0x48
+ F_GETFD = 0x1
+ F_GETFL = 0x3
+ F_GETLK = 0x7
+ F_GETLKPID = 0x42
+ F_GETNOSIGPIPE = 0x4a
+ F_GETOWN = 0x5
+ F_GETPATH = 0x32
+ F_GETPATH_MTMINFO = 0x47
+ F_GETPATH_NOFIRMLINK = 0x66
+ F_GETPROTECTIONCLASS = 0x3f
+ F_GETPROTECTIONLEVEL = 0x4d
+ F_GETSIGSINFO = 0x69
+ F_GLOBAL_NOCACHE = 0x37
+ F_LOG2PHYS = 0x31
+ F_LOG2PHYS_EXT = 0x41
+ F_NOCACHE = 0x30
+ F_NODIRECT = 0x3e
+ F_OK = 0x0
+ F_PATHPKG_CHECK = 0x34
+ F_PEOFPOSMODE = 0x3
+ F_PREALLOCATE = 0x2a
+ F_PUNCHHOLE = 0x63
+ F_RDADVISE = 0x2c
+ F_RDAHEAD = 0x2d
+ F_RDLCK = 0x1
+ F_SETBACKINGSTORE = 0x46
+ F_SETFD = 0x2
+ F_SETFL = 0x4
+ F_SETLK = 0x8
+ F_SETLKW = 0x9
+ F_SETLKWTIMEOUT = 0xa
+ F_SETNOSIGPIPE = 0x49
+ F_SETOWN = 0x6
+ F_SETPROTECTIONCLASS = 0x40
+ F_SETSIZE = 0x2b
+ F_SINGLE_WRITER = 0x4c
+ F_SPECULATIVE_READ = 0x65
+ F_THAW_FS = 0x36
+ F_TRANSCODEKEY = 0x4b
+ F_TRIM_ACTIVE_FILE = 0x64
+ F_UNLCK = 0x2
+ F_VOLPOSMODE = 0x4
+ F_WRLCK = 0x3
+ HUPCL = 0x4000
+ HW_MACHINE = 0x1
+ ICANON = 0x100
+ ICMP6_FILTER = 0x12
+ ICRNL = 0x100
+ IEXTEN = 0x400
+ IFF_ALLMULTI = 0x200
+ IFF_ALTPHYS = 0x4000
+ IFF_BROADCAST = 0x2
+ IFF_DEBUG = 0x4
+ IFF_LINK0 = 0x1000
+ IFF_LINK1 = 0x2000
+ IFF_LINK2 = 0x4000
+ IFF_LOOPBACK = 0x8
+ IFF_MULTICAST = 0x8000
+ IFF_NOARP = 0x80
+ IFF_NOTRAILERS = 0x20
+ IFF_OACTIVE = 0x400
+ IFF_POINTOPOINT = 0x10
+ IFF_PROMISC = 0x100
+ IFF_RUNNING = 0x40
+ IFF_SIMPLEX = 0x800
+ IFF_UP = 0x1
+ IFNAMSIZ = 0x10
+ IFT_1822 = 0x2
+ IFT_6LOWPAN = 0x40
+ IFT_AAL5 = 0x31
+ IFT_ARCNET = 0x23
+ IFT_ARCNETPLUS = 0x24
+ IFT_ATM = 0x25
+ IFT_BRIDGE = 0xd1
+ IFT_CARP = 0xf8
+ IFT_CELLULAR = 0xff
+ IFT_CEPT = 0x13
+ IFT_DS3 = 0x1e
+ IFT_ENC = 0xf4
+ IFT_EON = 0x19
+ IFT_ETHER = 0x6
+ IFT_FAITH = 0x38
+ IFT_FDDI = 0xf
+ IFT_FRELAY = 0x20
+ IFT_FRELAYDCE = 0x2c
+ IFT_GIF = 0x37
+ IFT_HDH1822 = 0x3
+ IFT_HIPPI = 0x2f
+ IFT_HSSI = 0x2e
+ IFT_HY = 0xe
+ IFT_IEEE1394 = 0x90
+ IFT_IEEE8023ADLAG = 0x88
+ IFT_ISDNBASIC = 0x14
+ IFT_ISDNPRIMARY = 0x15
+ IFT_ISO88022LLC = 0x29
+ IFT_ISO88023 = 0x7
+ IFT_ISO88024 = 0x8
+ IFT_ISO88025 = 0x9
+ IFT_ISO88026 = 0xa
+ IFT_L2VLAN = 0x87
+ IFT_LAPB = 0x10
+ IFT_LOCALTALK = 0x2a
+ IFT_LOOP = 0x18
+ IFT_MIOX25 = 0x26
+ IFT_MODEM = 0x30
+ IFT_NSIP = 0x1b
+ IFT_OTHER = 0x1
+ IFT_P10 = 0xc
+ IFT_P80 = 0xd
+ IFT_PARA = 0x22
+ IFT_PDP = 0xff
+ IFT_PFLOG = 0xf5
+ IFT_PFSYNC = 0xf6
+ IFT_PKTAP = 0xfe
+ IFT_PPP = 0x17
+ IFT_PROPMUX = 0x36
+ IFT_PROPVIRTUAL = 0x35
+ IFT_PTPSERIAL = 0x16
+ IFT_RS232 = 0x21
+ IFT_SDLC = 0x11
+ IFT_SIP = 0x1f
+ IFT_SLIP = 0x1c
+ IFT_SMDSDXI = 0x2b
+ IFT_SMDSICIP = 0x34
+ IFT_SONET = 0x27
+ IFT_SONETPATH = 0x32
+ IFT_SONETVT = 0x33
+ IFT_STARLAN = 0xb
+ IFT_STF = 0x39
+ IFT_T1 = 0x12
+ IFT_ULTRA = 0x1d
+ IFT_V35 = 0x2d
+ IFT_X25 = 0x5
+ IFT_X25DDN = 0x4
+ IFT_X25PLE = 0x28
+ IFT_XETHER = 0x1a
+ IGNBRK = 0x1
+ IGNCR = 0x80
+ IGNPAR = 0x4
+ IMAXBEL = 0x2000
+ INLCR = 0x40
+ INPCK = 0x10
+ IN_CLASSA_HOST = 0xffffff
+ IN_CLASSA_MAX = 0x80
+ IN_CLASSA_NET = 0xff000000
+ IN_CLASSA_NSHIFT = 0x18
+ IN_CLASSB_HOST = 0xffff
+ IN_CLASSB_MAX = 0x10000
+ IN_CLASSB_NET = 0xffff0000
+ IN_CLASSB_NSHIFT = 0x10
+ IN_CLASSC_HOST = 0xff
+ IN_CLASSC_NET = 0xffffff00
+ IN_CLASSC_NSHIFT = 0x8
+ IN_CLASSD_HOST = 0xfffffff
+ IN_CLASSD_NET = 0xf0000000
+ IN_CLASSD_NSHIFT = 0x1c
+ IN_LINKLOCALNETNUM = 0xa9fe0000
+ IN_LOOPBACKNET = 0x7f
+ IOCTL_VM_SOCKETS_GET_LOCAL_CID = 0x400473d1
+ IPPROTO_3PC = 0x22
+ IPPROTO_ADFS = 0x44
+ IPPROTO_AH = 0x33
+ IPPROTO_AHIP = 0x3d
+ IPPROTO_APES = 0x63
+ IPPROTO_ARGUS = 0xd
+ IPPROTO_AX25 = 0x5d
+ IPPROTO_BHA = 0x31
+ IPPROTO_BLT = 0x1e
+ IPPROTO_BRSATMON = 0x4c
+ IPPROTO_CFTP = 0x3e
+ IPPROTO_CHAOS = 0x10
+ IPPROTO_CMTP = 0x26
+ IPPROTO_CPHB = 0x49
+ IPPROTO_CPNX = 0x48
+ IPPROTO_DDP = 0x25
+ IPPROTO_DGP = 0x56
+ IPPROTO_DIVERT = 0xfe
+ IPPROTO_DONE = 0x101
+ IPPROTO_DSTOPTS = 0x3c
+ IPPROTO_EGP = 0x8
+ IPPROTO_EMCON = 0xe
+ IPPROTO_ENCAP = 0x62
+ IPPROTO_EON = 0x50
+ IPPROTO_ESP = 0x32
+ IPPROTO_ETHERIP = 0x61
+ IPPROTO_FRAGMENT = 0x2c
+ IPPROTO_GGP = 0x3
+ IPPROTO_GMTP = 0x64
+ IPPROTO_GRE = 0x2f
+ IPPROTO_HELLO = 0x3f
+ IPPROTO_HMP = 0x14
+ IPPROTO_HOPOPTS = 0x0
+ IPPROTO_ICMP = 0x1
+ IPPROTO_ICMPV6 = 0x3a
+ IPPROTO_IDP = 0x16
+ IPPROTO_IDPR = 0x23
+ IPPROTO_IDRP = 0x2d
+ IPPROTO_IGMP = 0x2
+ IPPROTO_IGP = 0x55
+ IPPROTO_IGRP = 0x58
+ IPPROTO_IL = 0x28
+ IPPROTO_INLSP = 0x34
+ IPPROTO_INP = 0x20
+ IPPROTO_IP = 0x0
+ IPPROTO_IPCOMP = 0x6c
+ IPPROTO_IPCV = 0x47
+ IPPROTO_IPEIP = 0x5e
+ IPPROTO_IPIP = 0x4
+ IPPROTO_IPPC = 0x43
+ IPPROTO_IPV4 = 0x4
+ IPPROTO_IPV6 = 0x29
+ IPPROTO_IRTP = 0x1c
+ IPPROTO_KRYPTOLAN = 0x41
+ IPPROTO_LARP = 0x5b
+ IPPROTO_LEAF1 = 0x19
+ IPPROTO_LEAF2 = 0x1a
+ IPPROTO_MAX = 0x100
+ IPPROTO_MAXID = 0x34
+ IPPROTO_MEAS = 0x13
+ IPPROTO_MHRP = 0x30
+ IPPROTO_MICP = 0x5f
+ IPPROTO_MTP = 0x5c
+ IPPROTO_MUX = 0x12
+ IPPROTO_ND = 0x4d
+ IPPROTO_NHRP = 0x36
+ IPPROTO_NONE = 0x3b
+ IPPROTO_NSP = 0x1f
+ IPPROTO_NVPII = 0xb
+ IPPROTO_OSPFIGP = 0x59
+ IPPROTO_PGM = 0x71
+ IPPROTO_PIGP = 0x9
+ IPPROTO_PIM = 0x67
+ IPPROTO_PRM = 0x15
+ IPPROTO_PUP = 0xc
+ IPPROTO_PVP = 0x4b
+ IPPROTO_RAW = 0xff
+ IPPROTO_RCCMON = 0xa
+ IPPROTO_RDP = 0x1b
+ IPPROTO_ROUTING = 0x2b
+ IPPROTO_RSVP = 0x2e
+ IPPROTO_RVD = 0x42
+ IPPROTO_SATEXPAK = 0x40
+ IPPROTO_SATMON = 0x45
+ IPPROTO_SCCSP = 0x60
+ IPPROTO_SCTP = 0x84
+ IPPROTO_SDRP = 0x2a
+ IPPROTO_SEP = 0x21
+ IPPROTO_SRPC = 0x5a
+ IPPROTO_ST = 0x7
+ IPPROTO_SVMTP = 0x52
+ IPPROTO_SWIPE = 0x35
+ IPPROTO_TCF = 0x57
+ IPPROTO_TCP = 0x6
+ IPPROTO_TP = 0x1d
+ IPPROTO_TPXX = 0x27
+ IPPROTO_TRUNK1 = 0x17
+ IPPROTO_TRUNK2 = 0x18
+ IPPROTO_TTP = 0x54
+ IPPROTO_UDP = 0x11
+ IPPROTO_VINES = 0x53
+ IPPROTO_VISA = 0x46
+ IPPROTO_VMTP = 0x51
+ IPPROTO_WBEXPAK = 0x4f
+ IPPROTO_WBMON = 0x4e
+ IPPROTO_WSN = 0x4a
+ IPPROTO_XNET = 0xf
+ IPPROTO_XTP = 0x24
+ IPV6_2292DSTOPTS = 0x17
+ IPV6_2292HOPLIMIT = 0x14
+ IPV6_2292HOPOPTS = 0x16
+ IPV6_2292NEXTHOP = 0x15
+ IPV6_2292PKTINFO = 0x13
+ IPV6_2292PKTOPTIONS = 0x19
+ IPV6_2292RTHDR = 0x18
+ IPV6_3542DSTOPTS = 0x32
+ IPV6_3542HOPLIMIT = 0x2f
+ IPV6_3542HOPOPTS = 0x31
+ IPV6_3542NEXTHOP = 0x30
+ IPV6_3542PKTINFO = 0x2e
+ IPV6_3542RTHDR = 0x33
+ IPV6_ADDR_MC_FLAGS_PREFIX = 0x20
+ IPV6_ADDR_MC_FLAGS_TRANSIENT = 0x10
+ IPV6_ADDR_MC_FLAGS_UNICAST_BASED = 0x30
+ IPV6_AUTOFLOWLABEL = 0x3b
+ IPV6_BINDV6ONLY = 0x1b
+ IPV6_BOUND_IF = 0x7d
+ IPV6_CHECKSUM = 0x1a
+ IPV6_DEFAULT_MULTICAST_HOPS = 0x1
+ IPV6_DEFAULT_MULTICAST_LOOP = 0x1
+ IPV6_DEFHLIM = 0x40
+ IPV6_DONTFRAG = 0x3e
+ IPV6_DSTOPTS = 0x32
+ IPV6_FAITH = 0x1d
+ IPV6_FLOWINFO_MASK = 0xffffff0f
+ IPV6_FLOWLABEL_MASK = 0xffff0f00
+ IPV6_FLOW_ECN_MASK = 0x3000
+ IPV6_FRAGTTL = 0x3c
+ IPV6_FW_ADD = 0x1e
+ IPV6_FW_DEL = 0x1f
+ IPV6_FW_FLUSH = 0x20
+ IPV6_FW_GET = 0x22
+ IPV6_FW_ZERO = 0x21
+ IPV6_HLIMDEC = 0x1
+ IPV6_HOPLIMIT = 0x2f
+ IPV6_HOPOPTS = 0x31
+ IPV6_IPSEC_POLICY = 0x1c
+ IPV6_JOIN_GROUP = 0xc
+ IPV6_LEAVE_GROUP = 0xd
+ IPV6_MAXHLIM = 0xff
+ IPV6_MAXOPTHDR = 0x800
+ IPV6_MAXPACKET = 0xffff
+ IPV6_MAX_GROUP_SRC_FILTER = 0x200
+ IPV6_MAX_MEMBERSHIPS = 0xfff
+ IPV6_MAX_SOCK_SRC_FILTER = 0x80
+ IPV6_MIN_MEMBERSHIPS = 0x1f
+ IPV6_MMTU = 0x500
+ IPV6_MSFILTER = 0x4a
+ IPV6_MULTICAST_HOPS = 0xa
+ IPV6_MULTICAST_IF = 0x9
+ IPV6_MULTICAST_LOOP = 0xb
+ IPV6_NEXTHOP = 0x30
+ IPV6_PATHMTU = 0x2c
+ IPV6_PKTINFO = 0x2e
+ IPV6_PORTRANGE = 0xe
+ IPV6_PORTRANGE_DEFAULT = 0x0
+ IPV6_PORTRANGE_HIGH = 0x1
+ IPV6_PORTRANGE_LOW = 0x2
+ IPV6_PREFER_TEMPADDR = 0x3f
+ IPV6_RECVDSTOPTS = 0x28
+ IPV6_RECVHOPLIMIT = 0x25
+ IPV6_RECVHOPOPTS = 0x27
+ IPV6_RECVPATHMTU = 0x2b
+ IPV6_RECVPKTINFO = 0x3d
+ IPV6_RECVRTHDR = 0x26
+ IPV6_RECVTCLASS = 0x23
+ IPV6_RTHDR = 0x33
+ IPV6_RTHDRDSTOPTS = 0x39
+ IPV6_RTHDR_LOOSE = 0x0
+ IPV6_RTHDR_STRICT = 0x1
+ IPV6_RTHDR_TYPE_0 = 0x0
+ IPV6_SOCKOPT_RESERVED1 = 0x3
+ IPV6_TCLASS = 0x24
+ IPV6_UNICAST_HOPS = 0x4
+ IPV6_USE_MIN_MTU = 0x2a
+ IPV6_V6ONLY = 0x1b
+ IPV6_VERSION = 0x60
+ IPV6_VERSION_MASK = 0xf0
+ IP_ADD_MEMBERSHIP = 0xc
+ IP_ADD_SOURCE_MEMBERSHIP = 0x46
+ IP_BLOCK_SOURCE = 0x48
+ IP_BOUND_IF = 0x19
+ IP_DEFAULT_MULTICAST_LOOP = 0x1
+ IP_DEFAULT_MULTICAST_TTL = 0x1
+ IP_DF = 0x4000
+ IP_DONTFRAG = 0x1c
+ IP_DROP_MEMBERSHIP = 0xd
+ IP_DROP_SOURCE_MEMBERSHIP = 0x47
+ IP_DUMMYNET_CONFIGURE = 0x3c
+ IP_DUMMYNET_DEL = 0x3d
+ IP_DUMMYNET_FLUSH = 0x3e
+ IP_DUMMYNET_GET = 0x40
+ IP_FAITH = 0x16
+ IP_FW_ADD = 0x28
+ IP_FW_DEL = 0x29
+ IP_FW_FLUSH = 0x2a
+ IP_FW_GET = 0x2c
+ IP_FW_RESETLOG = 0x2d
+ IP_FW_ZERO = 0x2b
+ IP_HDRINCL = 0x2
+ IP_IPSEC_POLICY = 0x15
+ IP_MAXPACKET = 0xffff
+ IP_MAX_GROUP_SRC_FILTER = 0x200
+ IP_MAX_MEMBERSHIPS = 0xfff
+ IP_MAX_SOCK_MUTE_FILTER = 0x80
+ IP_MAX_SOCK_SRC_FILTER = 0x80
+ IP_MF = 0x2000
+ IP_MIN_MEMBERSHIPS = 0x1f
+ IP_MSFILTER = 0x4a
+ IP_MSS = 0x240
+ IP_MULTICAST_IF = 0x9
+ IP_MULTICAST_IFINDEX = 0x42
+ IP_MULTICAST_LOOP = 0xb
+ IP_MULTICAST_TTL = 0xa
+ IP_MULTICAST_VIF = 0xe
+ IP_NAT__XXX = 0x37
+ IP_OFFMASK = 0x1fff
+ IP_OLD_FW_ADD = 0x32
+ IP_OLD_FW_DEL = 0x33
+ IP_OLD_FW_FLUSH = 0x34
+ IP_OLD_FW_GET = 0x36
+ IP_OLD_FW_RESETLOG = 0x38
+ IP_OLD_FW_ZERO = 0x35
+ IP_OPTIONS = 0x1
+ IP_PKTINFO = 0x1a
+ IP_PORTRANGE = 0x13
+ IP_PORTRANGE_DEFAULT = 0x0
+ IP_PORTRANGE_HIGH = 0x1
+ IP_PORTRANGE_LOW = 0x2
+ IP_RECVDSTADDR = 0x7
+ IP_RECVIF = 0x14
+ IP_RECVOPTS = 0x5
+ IP_RECVPKTINFO = 0x1a
+ IP_RECVRETOPTS = 0x6
+ IP_RECVTOS = 0x1b
+ IP_RECVTTL = 0x18
+ IP_RETOPTS = 0x8
+ IP_RF = 0x8000
+ IP_RSVP_OFF = 0x10
+ IP_RSVP_ON = 0xf
+ IP_RSVP_VIF_OFF = 0x12
+ IP_RSVP_VIF_ON = 0x11
+ IP_STRIPHDR = 0x17
+ IP_TOS = 0x3
+ IP_TRAFFIC_MGT_BACKGROUND = 0x41
+ IP_TTL = 0x4
+ IP_UNBLOCK_SOURCE = 0x49
+ ISIG = 0x80
+ ISTRIP = 0x20
+ IUTF8 = 0x4000
+ IXANY = 0x800
+ IXOFF = 0x400
+ IXON = 0x200
+ KERN_HOSTNAME = 0xa
+ KERN_OSRELEASE = 0x2
+ KERN_OSTYPE = 0x1
+ KERN_VERSION = 0x4
+ LOCAL_PEERCRED = 0x1
+ LOCAL_PEEREPID = 0x3
+ LOCAL_PEEREUUID = 0x5
+ LOCAL_PEERPID = 0x2
+ LOCAL_PEERTOKEN = 0x6
+ LOCAL_PEERUUID = 0x4
+ LOCK_EX = 0x2
+ LOCK_NB = 0x4
+ LOCK_SH = 0x1
+ LOCK_UN = 0x8
+ MADV_CAN_REUSE = 0x9
+ MADV_DONTNEED = 0x4
+ MADV_FREE = 0x5
+ MADV_FREE_REUSABLE = 0x7
+ MADV_FREE_REUSE = 0x8
+ MADV_NORMAL = 0x0
+ MADV_PAGEOUT = 0xa
+ MADV_RANDOM = 0x1
+ MADV_SEQUENTIAL = 0x2
+ MADV_WILLNEED = 0x3
+ MADV_ZERO_WIRED_PAGES = 0x6
+ MAP_32BIT = 0x8000
+ MAP_ANON = 0x1000
+ MAP_ANONYMOUS = 0x1000
+ MAP_COPY = 0x2
+ MAP_FILE = 0x0
+ MAP_FIXED = 0x10
+ MAP_HASSEMAPHORE = 0x200
+ MAP_JIT = 0x800
+ MAP_NOCACHE = 0x400
+ MAP_NOEXTEND = 0x100
+ MAP_NORESERVE = 0x40
+ MAP_PRIVATE = 0x2
+ MAP_RENAME = 0x20
+ MAP_RESERVED0080 = 0x80
+ MAP_RESILIENT_CODESIGN = 0x2000
+ MAP_RESILIENT_MEDIA = 0x4000
+ MAP_SHARED = 0x1
+ MAP_TRANSLATED_ALLOW_EXECUTE = 0x20000
+ MAP_UNIX03 = 0x40000
+ MCAST_BLOCK_SOURCE = 0x54
+ MCAST_EXCLUDE = 0x2
+ MCAST_INCLUDE = 0x1
+ MCAST_JOIN_GROUP = 0x50
+ MCAST_JOIN_SOURCE_GROUP = 0x52
+ MCAST_LEAVE_GROUP = 0x51
+ MCAST_LEAVE_SOURCE_GROUP = 0x53
+ MCAST_UNBLOCK_SOURCE = 0x55
+ MCAST_UNDEFINED = 0x0
+ MCL_CURRENT = 0x1
+ MCL_FUTURE = 0x2
+ MNT_ASYNC = 0x40
+ MNT_AUTOMOUNTED = 0x400000
+ MNT_CMDFLAGS = 0xf0000
+ MNT_CPROTECT = 0x80
+ MNT_DEFWRITE = 0x2000000
+ MNT_DONTBROWSE = 0x100000
+ MNT_DOVOLFS = 0x8000
+ MNT_DWAIT = 0x4
+ MNT_EXPORTED = 0x100
+ MNT_EXT_ROOT_DATA_VOL = 0x1
+ MNT_FORCE = 0x80000
+ MNT_IGNORE_OWNERSHIP = 0x200000
+ MNT_JOURNALED = 0x800000
+ MNT_LOCAL = 0x1000
+ MNT_MULTILABEL = 0x4000000
+ MNT_NOATIME = 0x10000000
+ MNT_NOBLOCK = 0x20000
+ MNT_NODEV = 0x10
+ MNT_NOEXEC = 0x4
+ MNT_NOSUID = 0x8
+ MNT_NOUSERXATTR = 0x1000000
+ MNT_NOWAIT = 0x2
+ MNT_QUARANTINE = 0x400
+ MNT_QUOTA = 0x2000
+ MNT_RDONLY = 0x1
+ MNT_RELOAD = 0x40000
+ MNT_REMOVABLE = 0x200
+ MNT_ROOTFS = 0x4000
+ MNT_SNAPSHOT = 0x40000000
+ MNT_STRICTATIME = 0x80000000
+ MNT_SYNCHRONOUS = 0x2
+ MNT_UNION = 0x20
+ MNT_UNKNOWNPERMISSIONS = 0x200000
+ MNT_UPDATE = 0x10000
+ MNT_VISFLAGMASK = 0xd7f0f7ff
+ MNT_WAIT = 0x1
+ MSG_CTRUNC = 0x20
+ MSG_DONTROUTE = 0x4
+ MSG_DONTWAIT = 0x80
+ MSG_EOF = 0x100
+ MSG_EOR = 0x8
+ MSG_FLUSH = 0x400
+ MSG_HAVEMORE = 0x2000
+ MSG_HOLD = 0x800
+ MSG_NEEDSA = 0x10000
+ MSG_NOSIGNAL = 0x80000
+ MSG_OOB = 0x1
+ MSG_PEEK = 0x2
+ MSG_RCVMORE = 0x4000
+ MSG_SEND = 0x1000
+ MSG_TRUNC = 0x10
+ MSG_WAITALL = 0x40
+ MSG_WAITSTREAM = 0x200
+ MS_ASYNC = 0x1
+ MS_DEACTIVATE = 0x8
+ MS_INVALIDATE = 0x2
+ MS_KILLPAGES = 0x4
+ MS_SYNC = 0x10
+ NAME_MAX = 0xff
+ NET_RT_DUMP = 0x1
+ NET_RT_DUMP2 = 0x7
+ NET_RT_FLAGS = 0x2
+ NET_RT_FLAGS_PRIV = 0xa
+ NET_RT_IFLIST = 0x3
+ NET_RT_IFLIST2 = 0x6
+ NET_RT_MAXID = 0xb
+ NET_RT_STAT = 0x4
+ NET_RT_TRASH = 0x5
+ NFDBITS = 0x20
+ NL0 = 0x0
+ NL1 = 0x100
+ NL2 = 0x200
+ NL3 = 0x300
+ NLDLY = 0x300
+ NOFLSH = 0x80000000
+ NOKERNINFO = 0x2000000
+ NOTE_ABSOLUTE = 0x8
+ NOTE_ATTRIB = 0x8
+ NOTE_BACKGROUND = 0x40
+ NOTE_CHILD = 0x4
+ NOTE_CRITICAL = 0x20
+ NOTE_DELETE = 0x1
+ NOTE_EXEC = 0x20000000
+ NOTE_EXIT = 0x80000000
+ NOTE_EXITSTATUS = 0x4000000
+ NOTE_EXIT_CSERROR = 0x40000
+ NOTE_EXIT_DECRYPTFAIL = 0x10000
+ NOTE_EXIT_DETAIL = 0x2000000
+ NOTE_EXIT_DETAIL_MASK = 0x70000
+ NOTE_EXIT_MEMORY = 0x20000
+ NOTE_EXIT_REPARENTED = 0x80000
+ NOTE_EXTEND = 0x4
+ NOTE_FFAND = 0x40000000
+ NOTE_FFCOPY = 0xc0000000
+ NOTE_FFCTRLMASK = 0xc0000000
+ NOTE_FFLAGSMASK = 0xffffff
+ NOTE_FFNOP = 0x0
+ NOTE_FFOR = 0x80000000
+ NOTE_FORK = 0x40000000
+ NOTE_FUNLOCK = 0x100
+ NOTE_LEEWAY = 0x10
+ NOTE_LINK = 0x10
+ NOTE_LOWAT = 0x1
+ NOTE_MACHTIME = 0x100
+ NOTE_MACH_CONTINUOUS_TIME = 0x80
+ NOTE_NONE = 0x80
+ NOTE_NSECONDS = 0x4
+ NOTE_OOB = 0x2
+ NOTE_PCTRLMASK = -0x100000
+ NOTE_PDATAMASK = 0xfffff
+ NOTE_REAP = 0x10000000
+ NOTE_RENAME = 0x20
+ NOTE_REVOKE = 0x40
+ NOTE_SECONDS = 0x1
+ NOTE_SIGNAL = 0x8000000
+ NOTE_TRACK = 0x1
+ NOTE_TRACKERR = 0x2
+ NOTE_TRIGGER = 0x1000000
+ NOTE_USECONDS = 0x2
+ NOTE_VM_ERROR = 0x10000000
+ NOTE_VM_PRESSURE = 0x80000000
+ NOTE_VM_PRESSURE_SUDDEN_TERMINATE = 0x20000000
+ NOTE_VM_PRESSURE_TERMINATE = 0x40000000
+ NOTE_WRITE = 0x2
+ OCRNL = 0x10
+ OFDEL = 0x20000
+ OFILL = 0x80
+ ONLCR = 0x2
+ ONLRET = 0x40
+ ONOCR = 0x20
+ ONOEOT = 0x8
+ OPOST = 0x1
+ OXTABS = 0x4
+ O_ACCMODE = 0x3
+ O_ALERT = 0x20000000
+ O_APPEND = 0x8
+ O_ASYNC = 0x40
+ O_CLOEXEC = 0x1000000
+ O_CREAT = 0x200
+ O_DIRECTORY = 0x100000
+ O_DP_GETRAWENCRYPTED = 0x1
+ O_DP_GETRAWUNENCRYPTED = 0x2
+ O_DSYNC = 0x400000
+ O_EVTONLY = 0x8000
+ O_EXCL = 0x800
+ O_EXLOCK = 0x20
+ O_FSYNC = 0x80
+ O_NDELAY = 0x4
+ O_NOCTTY = 0x20000
+ O_NOFOLLOW = 0x100
+ O_NOFOLLOW_ANY = 0x20000000
+ O_NONBLOCK = 0x4
+ O_POPUP = 0x80000000
+ O_RDONLY = 0x0
+ O_RDWR = 0x2
+ O_SHLOCK = 0x10
+ O_SYMLINK = 0x200000
+ O_SYNC = 0x80
+ O_TRUNC = 0x400
+ O_WRONLY = 0x1
+ PARENB = 0x1000
+ PARMRK = 0x8
+ PARODD = 0x2000
+ PENDIN = 0x20000000
+ PRIO_PGRP = 0x1
+ PRIO_PROCESS = 0x0
+ PRIO_USER = 0x2
+ PROT_EXEC = 0x4
+ PROT_NONE = 0x0
+ PROT_READ = 0x1
+ PROT_WRITE = 0x2
+ PT_ATTACH = 0xa
+ PT_ATTACHEXC = 0xe
+ PT_CONTINUE = 0x7
+ PT_DENY_ATTACH = 0x1f
+ PT_DETACH = 0xb
+ PT_FIRSTMACH = 0x20
+ PT_FORCEQUOTA = 0x1e
+ PT_KILL = 0x8
+ PT_READ_D = 0x2
+ PT_READ_I = 0x1
+ PT_READ_U = 0x3
+ PT_SIGEXC = 0xc
+ PT_STEP = 0x9
+ PT_THUPDATE = 0xd
+ PT_TRACE_ME = 0x0
+ PT_WRITE_D = 0x5
+ PT_WRITE_I = 0x4
+ PT_WRITE_U = 0x6
+ RLIMIT_AS = 0x5
+ RLIMIT_CORE = 0x4
+ RLIMIT_CPU = 0x0
+ RLIMIT_CPU_USAGE_MONITOR = 0x2
+ RLIMIT_DATA = 0x2
+ RLIMIT_FSIZE = 0x1
+ RLIMIT_MEMLOCK = 0x6
+ RLIMIT_NOFILE = 0x8
+ RLIMIT_NPROC = 0x7
+ RLIMIT_RSS = 0x5
+ RLIMIT_STACK = 0x3
+ RLIM_INFINITY = 0x7fffffffffffffff
+ RTAX_AUTHOR = 0x6
+ RTAX_BRD = 0x7
+ RTAX_DST = 0x0
+ RTAX_GATEWAY = 0x1
+ RTAX_GENMASK = 0x3
+ RTAX_IFA = 0x5
+ RTAX_IFP = 0x4
+ RTAX_MAX = 0x8
+ RTAX_NETMASK = 0x2
+ RTA_AUTHOR = 0x40
+ RTA_BRD = 0x80
+ RTA_DST = 0x1
+ RTA_GATEWAY = 0x2
+ RTA_GENMASK = 0x8
+ RTA_IFA = 0x20
+ RTA_IFP = 0x10
+ RTA_NETMASK = 0x4
+ RTF_BLACKHOLE = 0x1000
+ RTF_BROADCAST = 0x400000
+ RTF_CLONING = 0x100
+ RTF_CONDEMNED = 0x2000000
+ RTF_DEAD = 0x20000000
+ RTF_DELCLONE = 0x80
+ RTF_DONE = 0x40
+ RTF_DYNAMIC = 0x10
+ RTF_GATEWAY = 0x2
+ RTF_GLOBAL = 0x40000000
+ RTF_HOST = 0x4
+ RTF_IFREF = 0x4000000
+ RTF_IFSCOPE = 0x1000000
+ RTF_LLDATA = 0x400
+ RTF_LLINFO = 0x400
+ RTF_LOCAL = 0x200000
+ RTF_MODIFIED = 0x20
+ RTF_MULTICAST = 0x800000
+ RTF_NOIFREF = 0x2000
+ RTF_PINNED = 0x100000
+ RTF_PRCLONING = 0x10000
+ RTF_PROTO1 = 0x8000
+ RTF_PROTO2 = 0x4000
+ RTF_PROTO3 = 0x40000
+ RTF_PROXY = 0x8000000
+ RTF_REJECT = 0x8
+ RTF_ROUTER = 0x10000000
+ RTF_STATIC = 0x800
+ RTF_UP = 0x1
+ RTF_WASCLONED = 0x20000
+ RTF_XRESOLVE = 0x200
+ RTM_ADD = 0x1
+ RTM_CHANGE = 0x3
+ RTM_DELADDR = 0xd
+ RTM_DELETE = 0x2
+ RTM_DELMADDR = 0x10
+ RTM_GET = 0x4
+ RTM_GET2 = 0x14
+ RTM_IFINFO = 0xe
+ RTM_IFINFO2 = 0x12
+ RTM_LOCK = 0x8
+ RTM_LOSING = 0x5
+ RTM_MISS = 0x7
+ RTM_NEWADDR = 0xc
+ RTM_NEWMADDR = 0xf
+ RTM_NEWMADDR2 = 0x13
+ RTM_OLDADD = 0x9
+ RTM_OLDDEL = 0xa
+ RTM_REDIRECT = 0x6
+ RTM_RESOLVE = 0xb
+ RTM_RTTUNIT = 0xf4240
+ RTM_VERSION = 0x5
+ RTV_EXPIRE = 0x4
+ RTV_HOPCOUNT = 0x2
+ RTV_MTU = 0x1
+ RTV_RPIPE = 0x8
+ RTV_RTT = 0x40
+ RTV_RTTVAR = 0x80
+ RTV_SPIPE = 0x10
+ RTV_SSTHRESH = 0x20
+ RUSAGE_CHILDREN = -0x1
+ RUSAGE_SELF = 0x0
+ SCM_CREDS = 0x3
+ SCM_RIGHTS = 0x1
+ SCM_TIMESTAMP = 0x2
+ SCM_TIMESTAMP_MONOTONIC = 0x4
+ SEEK_CUR = 0x1
+ SEEK_DATA = 0x4
+ SEEK_END = 0x2
+ SEEK_HOLE = 0x3
+ SEEK_SET = 0x0
+ SHUT_RD = 0x0
+ SHUT_RDWR = 0x2
+ SHUT_WR = 0x1
+ SIOCADDMULTI = 0x80206931
+ SIOCAIFADDR = 0x8040691a
+ SIOCARPIPLL = 0xc0206928
+ SIOCATMARK = 0x40047307
+ SIOCAUTOADDR = 0xc0206926
+ SIOCAUTONETMASK = 0x80206927
+ SIOCDELMULTI = 0x80206932
+ SIOCDIFADDR = 0x80206919
+ SIOCDIFPHYADDR = 0x80206941
+ SIOCGDRVSPEC = 0xc028697b
+ SIOCGETVLAN = 0xc020697f
+ SIOCGHIWAT = 0x40047301
+ SIOCGIF6LOWPAN = 0xc02069c5
+ SIOCGIFADDR = 0xc0206921
+ SIOCGIFALTMTU = 0xc0206948
+ SIOCGIFASYNCMAP = 0xc020697c
+ SIOCGIFBOND = 0xc0206947
+ SIOCGIFBRDADDR = 0xc0206923
+ SIOCGIFCAP = 0xc020695b
+ SIOCGIFCONF = 0xc00c6924
+ SIOCGIFDEVMTU = 0xc0206944
+ SIOCGIFDSTADDR = 0xc0206922
+ SIOCGIFFLAGS = 0xc0206911
+ SIOCGIFFUNCTIONALTYPE = 0xc02069ad
+ SIOCGIFGENERIC = 0xc020693a
+ SIOCGIFKPI = 0xc0206987
+ SIOCGIFMAC = 0xc0206982
+ SIOCGIFMEDIA = 0xc02c6938
+ SIOCGIFMETRIC = 0xc0206917
+ SIOCGIFMTU = 0xc0206933
+ SIOCGIFNETMASK = 0xc0206925
+ SIOCGIFPDSTADDR = 0xc0206940
+ SIOCGIFPHYS = 0xc0206935
+ SIOCGIFPSRCADDR = 0xc020693f
+ SIOCGIFSTATUS = 0xc331693d
+ SIOCGIFVLAN = 0xc020697f
+ SIOCGIFWAKEFLAGS = 0xc0206988
+ SIOCGIFXMEDIA = 0xc02c6948
+ SIOCGLOWAT = 0x40047303
+ SIOCGPGRP = 0x40047309
+ SIOCIFCREATE = 0xc0206978
+ SIOCIFCREATE2 = 0xc020697a
+ SIOCIFDESTROY = 0x80206979
+ SIOCIFGCLONERS = 0xc0106981
+ SIOCRSLVMULTI = 0xc010693b
+ SIOCSDRVSPEC = 0x8028697b
+ SIOCSETVLAN = 0x8020697e
+ SIOCSHIWAT = 0x80047300
+ SIOCSIF6LOWPAN = 0x802069c4
+ SIOCSIFADDR = 0x8020690c
+ SIOCSIFALTMTU = 0x80206945
+ SIOCSIFASYNCMAP = 0x8020697d
+ SIOCSIFBOND = 0x80206946
+ SIOCSIFBRDADDR = 0x80206913
+ SIOCSIFCAP = 0x8020695a
+ SIOCSIFDSTADDR = 0x8020690e
+ SIOCSIFFLAGS = 0x80206910
+ SIOCSIFGENERIC = 0x80206939
+ SIOCSIFKPI = 0x80206986
+ SIOCSIFLLADDR = 0x8020693c
+ SIOCSIFMAC = 0x80206983
+ SIOCSIFMEDIA = 0xc0206937
+ SIOCSIFMETRIC = 0x80206918
+ SIOCSIFMTU = 0x80206934
+ SIOCSIFNETMASK = 0x80206916
+ SIOCSIFPHYADDR = 0x8040693e
+ SIOCSIFPHYS = 0x80206936
+ SIOCSIFVLAN = 0x8020697e
+ SIOCSLOWAT = 0x80047302
+ SIOCSPGRP = 0x80047308
+ SOCK_DGRAM = 0x2
+ SOCK_MAXADDRLEN = 0xff
+ SOCK_RAW = 0x3
+ SOCK_RDM = 0x4
+ SOCK_SEQPACKET = 0x5
+ SOCK_STREAM = 0x1
+ SOL_LOCAL = 0x0
+ SOL_SOCKET = 0xffff
+ SOMAXCONN = 0x80
+ SO_ACCEPTCONN = 0x2
+ SO_BROADCAST = 0x20
+ SO_DEBUG = 0x1
+ SO_DONTROUTE = 0x10
+ SO_DONTTRUNC = 0x2000
+ SO_ERROR = 0x1007
+ SO_KEEPALIVE = 0x8
+ SO_LABEL = 0x1010
+ SO_LINGER = 0x80
+ SO_LINGER_SEC = 0x1080
+ SO_NETSVC_MARKING_LEVEL = 0x1119
+ SO_NET_SERVICE_TYPE = 0x1116
+ SO_NKE = 0x1021
+ SO_NOADDRERR = 0x1023
+ SO_NOSIGPIPE = 0x1022
+ SO_NOTIFYCONFLICT = 0x1026
+ SO_NP_EXTENSIONS = 0x1083
+ SO_NREAD = 0x1020
+ SO_NUMRCVPKT = 0x1112
+ SO_NWRITE = 0x1024
+ SO_OOBINLINE = 0x100
+ SO_PEERLABEL = 0x1011
+ SO_RANDOMPORT = 0x1082
+ SO_RCVBUF = 0x1002
+ SO_RCVLOWAT = 0x1004
+ SO_RCVTIMEO = 0x1006
+ SO_REUSEADDR = 0x4
+ SO_REUSEPORT = 0x200
+ SO_REUSESHAREUID = 0x1025
+ SO_SNDBUF = 0x1001
+ SO_SNDLOWAT = 0x1003
+ SO_SNDTIMEO = 0x1005
+ SO_TIMESTAMP = 0x400
+ SO_TIMESTAMP_MONOTONIC = 0x800
+ SO_TRACKER_ATTRIBUTE_FLAGS_APP_APPROVED = 0x1
+ SO_TRACKER_ATTRIBUTE_FLAGS_DOMAIN_SHORT = 0x4
+ SO_TRACKER_ATTRIBUTE_FLAGS_TRACKER = 0x2
+ SO_TRACKER_TRANSPARENCY_VERSION = 0x3
+ SO_TYPE = 0x1008
+ SO_UPCALLCLOSEWAIT = 0x1027
+ SO_USELOOPBACK = 0x40
+ SO_WANTMORE = 0x4000
+ SO_WANTOOBFLAG = 0x8000
+ S_IEXEC = 0x40
+ S_IFBLK = 0x6000
+ S_IFCHR = 0x2000
+ S_IFDIR = 0x4000
+ S_IFIFO = 0x1000
+ S_IFLNK = 0xa000
+ S_IFMT = 0xf000
+ S_IFREG = 0x8000
+ S_IFSOCK = 0xc000
+ S_IFWHT = 0xe000
+ S_IREAD = 0x100
+ S_IRGRP = 0x20
+ S_IROTH = 0x4
+ S_IRUSR = 0x100
+ S_IRWXG = 0x38
+ S_IRWXO = 0x7
+ S_IRWXU = 0x1c0
+ S_ISGID = 0x400
+ S_ISTXT = 0x200
+ S_ISUID = 0x800
+ S_ISVTX = 0x200
+ S_IWGRP = 0x10
+ S_IWOTH = 0x2
+ S_IWRITE = 0x80
+ S_IWUSR = 0x80
+ S_IXGRP = 0x8
+ S_IXOTH = 0x1
+ S_IXUSR = 0x40
+ TAB0 = 0x0
+ TAB1 = 0x400
+ TAB2 = 0x800
+ TAB3 = 0x4
+ TABDLY = 0xc04
+ TCIFLUSH = 0x1
+ TCIOFF = 0x3
+ TCIOFLUSH = 0x3
+ TCION = 0x4
+ TCOFLUSH = 0x2
+ TCOOFF = 0x1
+ TCOON = 0x2
+ TCPOPT_CC = 0xb
+ TCPOPT_CCECHO = 0xd
+ TCPOPT_CCNEW = 0xc
+ TCPOPT_EOL = 0x0
+ TCPOPT_FASTOPEN = 0x22
+ TCPOPT_MAXSEG = 0x2
+ TCPOPT_NOP = 0x1
+ TCPOPT_SACK = 0x5
+ TCPOPT_SACK_HDR = 0x1010500
+ TCPOPT_SACK_PERMITTED = 0x4
+ TCPOPT_SACK_PERMIT_HDR = 0x1010402
+ TCPOPT_SIGNATURE = 0x13
+ TCPOPT_TIMESTAMP = 0x8
+ TCPOPT_TSTAMP_HDR = 0x101080a
+ TCPOPT_WINDOW = 0x3
+ TCP_CONNECTIONTIMEOUT = 0x20
+ TCP_CONNECTION_INFO = 0x106
+ TCP_ENABLE_ECN = 0x104
+ TCP_FASTOPEN = 0x105
+ TCP_KEEPALIVE = 0x10
+ TCP_KEEPCNT = 0x102
+ TCP_KEEPINTVL = 0x101
+ TCP_MAXHLEN = 0x3c
+ TCP_MAXOLEN = 0x28
+ TCP_MAXSEG = 0x2
+ TCP_MAXWIN = 0xffff
+ TCP_MAX_SACK = 0x4
+ TCP_MAX_WINSHIFT = 0xe
+ TCP_MINMSS = 0xd8
+ TCP_MSS = 0x200
+ TCP_NODELAY = 0x1
+ TCP_NOOPT = 0x8
+ TCP_NOPUSH = 0x4
+ TCP_NOTSENT_LOWAT = 0x201
+ TCP_RXT_CONNDROPTIME = 0x80
+ TCP_RXT_FINDROP = 0x100
+ TCP_SENDMOREACKS = 0x103
+ TCSAFLUSH = 0x2
+ TIOCCBRK = 0x2000747a
+ TIOCCDTR = 0x20007478
+ TIOCCONS = 0x80047462
+ TIOCDCDTIMESTAMP = 0x40107458
+ TIOCDRAIN = 0x2000745e
+ TIOCDSIMICROCODE = 0x20007455
+ TIOCEXCL = 0x2000740d
+ TIOCEXT = 0x80047460
+ TIOCFLUSH = 0x80047410
+ TIOCGDRAINWAIT = 0x40047456
+ TIOCGETA = 0x40487413
+ TIOCGETD = 0x4004741a
+ TIOCGPGRP = 0x40047477
+ TIOCGWINSZ = 0x40087468
+ TIOCIXOFF = 0x20007480
+ TIOCIXON = 0x20007481
+ TIOCMBIC = 0x8004746b
+ TIOCMBIS = 0x8004746c
+ TIOCMGDTRWAIT = 0x4004745a
+ TIOCMGET = 0x4004746a
+ TIOCMODG = 0x40047403
+ TIOCMODS = 0x80047404
+ TIOCMSDTRWAIT = 0x8004745b
+ TIOCMSET = 0x8004746d
+ TIOCM_CAR = 0x40
+ TIOCM_CD = 0x40
+ TIOCM_CTS = 0x20
+ TIOCM_DSR = 0x100
+ TIOCM_DTR = 0x2
+ TIOCM_LE = 0x1
+ TIOCM_RI = 0x80
+ TIOCM_RNG = 0x80
+ TIOCM_RTS = 0x4
+ TIOCM_SR = 0x10
+ TIOCM_ST = 0x8
+ TIOCNOTTY = 0x20007471
+ TIOCNXCL = 0x2000740e
+ TIOCOUTQ = 0x40047473
+ TIOCPKT = 0x80047470
+ TIOCPKT_DATA = 0x0
+ TIOCPKT_DOSTOP = 0x20
+ TIOCPKT_FLUSHREAD = 0x1
+ TIOCPKT_FLUSHWRITE = 0x2
+ TIOCPKT_IOCTL = 0x40
+ TIOCPKT_NOSTOP = 0x10
+ TIOCPKT_START = 0x8
+ TIOCPKT_STOP = 0x4
+ TIOCPTYGNAME = 0x40807453
+ TIOCPTYGRANT = 0x20007454
+ TIOCPTYUNLK = 0x20007452
+ TIOCREMOTE = 0x80047469
+ TIOCSBRK = 0x2000747b
+ TIOCSCONS = 0x20007463
+ TIOCSCTTY = 0x20007461
+ TIOCSDRAINWAIT = 0x80047457
+ TIOCSDTR = 0x20007479
+ TIOCSETA = 0x80487414
+ TIOCSETAF = 0x80487416
+ TIOCSETAW = 0x80487415
+ TIOCSETD = 0x8004741b
+ TIOCSIG = 0x2000745f
+ TIOCSPGRP = 0x80047476
+ TIOCSTART = 0x2000746e
+ TIOCSTAT = 0x20007465
+ TIOCSTI = 0x80017472
+ TIOCSTOP = 0x2000746f
+ TIOCSWINSZ = 0x80087467
+ TIOCTIMESTAMP = 0x40107459
+ TIOCUCNTL = 0x80047466
+ TOSTOP = 0x400000
+ VDISCARD = 0xf
+ VDSUSP = 0xb
+ VEOF = 0x0
+ VEOL = 0x1
+ VEOL2 = 0x2
+ VERASE = 0x3
+ VINTR = 0x8
+ VKILL = 0x5
+ VLNEXT = 0xe
+ VMADDR_CID_ANY = 0xffffffff
+ VMADDR_CID_HOST = 0x2
+ VMADDR_CID_HYPERVISOR = 0x0
+ VMADDR_CID_RESERVED = 0x1
+ VMADDR_PORT_ANY = 0xffffffff
+ VMIN = 0x10
+ VM_LOADAVG = 0x2
+ VM_MACHFACTOR = 0x4
+ VM_MAXID = 0x6
+ VM_METER = 0x1
+ VM_SWAPUSAGE = 0x5
+ VQUIT = 0x9
+ VREPRINT = 0x6
+ VSTART = 0xc
+ VSTATUS = 0x12
+ VSTOP = 0xd
+ VSUSP = 0xa
+ VT0 = 0x0
+ VT1 = 0x10000
+ VTDLY = 0x10000
+ VTIME = 0x11
+ VWERASE = 0x4
+ WCONTINUED = 0x10
+ WCOREFLAG = 0x80
+ WEXITED = 0x4
+ WNOHANG = 0x1
+ WNOWAIT = 0x20
+ WORDSIZE = 0x40
+ WSTOPPED = 0x8
+ WUNTRACED = 0x2
+ XATTR_CREATE = 0x2
+ XATTR_NODEFAULT = 0x10
+ XATTR_NOFOLLOW = 0x1
+ XATTR_NOSECURITY = 0x8
+ XATTR_REPLACE = 0x4
+ XATTR_SHOWCOMPRESSION = 0x20
)
// Errors
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux.go b/vendor/golang.org/x/sys/unix/zerrors_linux.go
index b959fe195..bc7c9d075 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux.go
@@ -1,4 +1,4 @@
-// Code generated by mkmerge.go; DO NOT EDIT.
+// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
// +build linux
@@ -38,7 +38,8 @@ const (
AF_KEY = 0xf
AF_LLC = 0x1a
AF_LOCAL = 0x1
- AF_MAX = 0x2d
+ AF_MAX = 0x2e
+ AF_MCTP = 0x2d
AF_MPLS = 0x1c
AF_NETBEUI = 0xd
AF_NETLINK = 0x10
@@ -116,6 +117,7 @@ const (
ARPHRD_LAPB = 0x204
ARPHRD_LOCALTLK = 0x305
ARPHRD_LOOPBACK = 0x304
+ ARPHRD_MCTP = 0x122
ARPHRD_METRICOM = 0x17
ARPHRD_NETLINK = 0x338
ARPHRD_NETROM = 0x0
@@ -258,6 +260,17 @@ const (
BUS_USB = 0x3
BUS_VIRTUAL = 0x6
CAN_BCM = 0x2
+ CAN_CTRLMODE_3_SAMPLES = 0x4
+ CAN_CTRLMODE_BERR_REPORTING = 0x10
+ CAN_CTRLMODE_CC_LEN8_DLC = 0x100
+ CAN_CTRLMODE_FD = 0x20
+ CAN_CTRLMODE_FD_NON_ISO = 0x80
+ CAN_CTRLMODE_LISTENONLY = 0x2
+ CAN_CTRLMODE_LOOPBACK = 0x1
+ CAN_CTRLMODE_ONE_SHOT = 0x8
+ CAN_CTRLMODE_PRESUME_ACK = 0x40
+ CAN_CTRLMODE_TDC_AUTO = 0x200
+ CAN_CTRLMODE_TDC_MANUAL = 0x400
CAN_EFF_FLAG = 0x80000000
CAN_EFF_ID_BITS = 0x1d
CAN_EFF_MASK = 0x1fffffff
@@ -335,6 +348,7 @@ const (
CAN_RTR_FLAG = 0x40000000
CAN_SFF_ID_BITS = 0xb
CAN_SFF_MASK = 0x7ff
+ CAN_TERMINATION_DISABLED = 0x0
CAN_TP16 = 0x3
CAN_TP20 = 0x4
CAP_AUDIT_CONTROL = 0x1e
@@ -472,6 +486,7 @@ const (
DM_DEV_WAIT = 0xc138fd08
DM_DIR = "mapper"
DM_GET_TARGET_VERSION = 0xc138fd11
+ DM_IMA_MEASUREMENT_FLAG = 0x80000
DM_INACTIVE_PRESENT_FLAG = 0x40
DM_INTERNAL_SUSPEND_FLAG = 0x40000
DM_IOCTL = 0xfd
@@ -716,6 +731,7 @@ const (
ETH_P_LOOPBACK = 0x9000
ETH_P_MACSEC = 0x88e5
ETH_P_MAP = 0xf9
+ ETH_P_MCTP = 0xfa
ETH_P_MOBITEX = 0x15
ETH_P_MPLS_MC = 0x8848
ETH_P_MPLS_UC = 0x8847
@@ -738,6 +754,7 @@ const (
ETH_P_QINQ2 = 0x9200
ETH_P_QINQ3 = 0x9300
ETH_P_RARP = 0x8035
+ ETH_P_REALTEK = 0x8899
ETH_P_SCA = 0x6007
ETH_P_SLOW = 0x8809
ETH_P_SNAP = 0x5
@@ -751,6 +768,21 @@ const (
ETH_P_WCCP = 0x883e
ETH_P_X25 = 0x805
ETH_P_XDSA = 0xf8
+ EV_ABS = 0x3
+ EV_CNT = 0x20
+ EV_FF = 0x15
+ EV_FF_STATUS = 0x17
+ EV_KEY = 0x1
+ EV_LED = 0x11
+ EV_MAX = 0x1f
+ EV_MSC = 0x4
+ EV_PWR = 0x16
+ EV_REL = 0x2
+ EV_REP = 0x14
+ EV_SND = 0x12
+ EV_SW = 0x5
+ EV_SYN = 0x0
+ EV_VERSION = 0x10001
EXABYTE_ENABLE_NEST = 0xf0
EXT2_SUPER_MAGIC = 0xef53
EXT3_SUPER_MAGIC = 0xef53
@@ -789,11 +821,15 @@ const (
FAN_DELETE_SELF = 0x400
FAN_DENY = 0x2
FAN_ENABLE_AUDIT = 0x40
+ FAN_EPIDFD = -0x2
FAN_EVENT_INFO_TYPE_DFID = 0x3
FAN_EVENT_INFO_TYPE_DFID_NAME = 0x2
+ FAN_EVENT_INFO_TYPE_ERROR = 0x5
FAN_EVENT_INFO_TYPE_FID = 0x1
+ FAN_EVENT_INFO_TYPE_PIDFD = 0x4
FAN_EVENT_METADATA_LEN = 0x18
FAN_EVENT_ON_CHILD = 0x8000000
+ FAN_FS_ERROR = 0x8000
FAN_MARK_ADD = 0x1
FAN_MARK_DONT_FOLLOW = 0x4
FAN_MARK_FILESYSTEM = 0x100
@@ -811,6 +847,7 @@ const (
FAN_MOVE_SELF = 0x800
FAN_NOFD = -0x1
FAN_NONBLOCK = 0x2
+ FAN_NOPIDFD = -0x1
FAN_ONDIR = 0x40000000
FAN_OPEN = 0x20
FAN_OPEN_EXEC = 0x1000
@@ -821,6 +858,7 @@ const (
FAN_REPORT_DIR_FID = 0x400
FAN_REPORT_FID = 0x200
FAN_REPORT_NAME = 0x800
+ FAN_REPORT_PIDFD = 0x80
FAN_REPORT_TID = 0x100
FAN_UNLIMITED_MARKS = 0x20
FAN_UNLIMITED_QUEUE = 0x10
@@ -1242,9 +1280,14 @@ const (
IP_XFRM_POLICY = 0x11
ISOFS_SUPER_MAGIC = 0x9660
ISTRIP = 0x20
+ ITIMER_PROF = 0x2
+ ITIMER_REAL = 0x0
+ ITIMER_VIRTUAL = 0x1
IUTF8 = 0x4000
IXANY = 0x800
JFFS2_SUPER_MAGIC = 0x72b6
+ KCMPROTO_CONNECTED = 0x0
+ KCM_RECV_DISABLE = 0x1
KEXEC_ARCH_386 = 0x30000
KEXEC_ARCH_68K = 0x40000
KEXEC_ARCH_AARCH64 = 0xb70000
@@ -1397,6 +1440,8 @@ const (
MADV_NOHUGEPAGE = 0xf
MADV_NORMAL = 0x0
MADV_PAGEOUT = 0x15
+ MADV_POPULATE_READ = 0x16
+ MADV_POPULATE_WRITE = 0x17
MADV_RANDOM = 0x1
MADV_REMOVE = 0x9
MADV_SEQUENTIAL = 0x2
@@ -1452,6 +1497,18 @@ const (
MNT_FORCE = 0x1
MODULE_INIT_IGNORE_MODVERSIONS = 0x1
MODULE_INIT_IGNORE_VERMAGIC = 0x2
+ MOUNT_ATTR_IDMAP = 0x100000
+ MOUNT_ATTR_NOATIME = 0x10
+ MOUNT_ATTR_NODEV = 0x4
+ MOUNT_ATTR_NODIRATIME = 0x80
+ MOUNT_ATTR_NOEXEC = 0x8
+ MOUNT_ATTR_NOSUID = 0x2
+ MOUNT_ATTR_NOSYMFOLLOW = 0x200000
+ MOUNT_ATTR_RDONLY = 0x1
+ MOUNT_ATTR_RELATIME = 0x0
+ MOUNT_ATTR_SIZE_VER0 = 0x20
+ MOUNT_ATTR_STRICTATIME = 0x20
+ MOUNT_ATTR__ATIME = 0x70
MSDOS_SUPER_MAGIC = 0x4d44
MSG_BATCH = 0x40000
MSG_CMSG_CLOEXEC = 0x40000000
@@ -1791,6 +1848,8 @@ const (
PERF_MEM_BLK_DATA = 0x2
PERF_MEM_BLK_NA = 0x1
PERF_MEM_BLK_SHIFT = 0x28
+ PERF_MEM_HOPS_0 = 0x1
+ PERF_MEM_HOPS_SHIFT = 0x2b
PERF_MEM_LOCK_LOCKED = 0x2
PERF_MEM_LOCK_NA = 0x1
PERF_MEM_LOCK_SHIFT = 0x18
@@ -1950,6 +2009,9 @@ const (
PR_SCHED_CORE_CREATE = 0x1
PR_SCHED_CORE_GET = 0x0
PR_SCHED_CORE_MAX = 0x4
+ PR_SCHED_CORE_SCOPE_PROCESS_GROUP = 0x2
+ PR_SCHED_CORE_SCOPE_THREAD = 0x0
+ PR_SCHED_CORE_SCOPE_THREAD_GROUP = 0x1
PR_SCHED_CORE_SHARE_FROM = 0x3
PR_SCHED_CORE_SHARE_TO = 0x2
PR_SET_CHILD_SUBREAPER = 0x24
@@ -1995,6 +2057,7 @@ const (
PR_SPEC_ENABLE = 0x2
PR_SPEC_FORCE_DISABLE = 0x8
PR_SPEC_INDIRECT_BRANCH = 0x1
+ PR_SPEC_L1D_FLUSH = 0x2
PR_SPEC_NOT_AFFECTED = 0x0
PR_SPEC_PRCTL = 0x1
PR_SPEC_STORE_BYPASS = 0x0
@@ -2130,12 +2193,23 @@ const (
RTCF_NAT = 0x800000
RTCF_VALVE = 0x200000
RTC_AF = 0x20
+ RTC_BSM_DIRECT = 0x1
+ RTC_BSM_DISABLED = 0x0
+ RTC_BSM_LEVEL = 0x2
+ RTC_BSM_STANDBY = 0x3
RTC_FEATURE_ALARM = 0x0
+ RTC_FEATURE_ALARM_RES_2S = 0x3
RTC_FEATURE_ALARM_RES_MINUTE = 0x1
- RTC_FEATURE_CNT = 0x3
+ RTC_FEATURE_BACKUP_SWITCH_MODE = 0x6
+ RTC_FEATURE_CNT = 0x7
+ RTC_FEATURE_CORRECTION = 0x5
RTC_FEATURE_NEED_WEEK_DAY = 0x2
+ RTC_FEATURE_UPDATE_INTERRUPT = 0x4
RTC_IRQF = 0x80
RTC_MAX_FREQ = 0x2000
+ RTC_PARAM_BACKUP_SWITCH_MODE = 0x2
+ RTC_PARAM_CORRECTION = 0x1
+ RTC_PARAM_FEATURES = 0x0
RTC_PF = 0x40
RTC_UF = 0x10
RTF_ADDRCLASSMASK = 0xf8000000
@@ -2386,6 +2460,9 @@ const (
SIOCGSTAMPNS = 0x8907
SIOCGSTAMPNS_OLD = 0x8907
SIOCGSTAMP_OLD = 0x8906
+ SIOCKCMATTACH = 0x89e0
+ SIOCKCMCLONE = 0x89e2
+ SIOCKCMUNATTACH = 0x89e1
SIOCOUTQNSD = 0x894b
SIOCPROTOPRIVATE = 0x89e0
SIOCRTMSG = 0x890d
@@ -2430,12 +2507,15 @@ const (
SMART_WRITE_THRESHOLDS = 0xd7
SMB_SUPER_MAGIC = 0x517b
SOCKFS_MAGIC = 0x534f434b
+ SOCK_BUF_LOCK_MASK = 0x3
SOCK_DCCP = 0x6
SOCK_IOC_TYPE = 0x89
SOCK_PACKET = 0xa
SOCK_RAW = 0x3
+ SOCK_RCVBUF_LOCK = 0x2
SOCK_RDM = 0x4
SOCK_SEQPACKET = 0x5
+ SOCK_SNDBUF_LOCK = 0x1
SOL_AAL = 0x109
SOL_ALG = 0x117
SOL_ATM = 0x108
@@ -2492,6 +2572,8 @@ const (
SO_VM_SOCKETS_BUFFER_MIN_SIZE = 0x1
SO_VM_SOCKETS_BUFFER_SIZE = 0x0
SO_VM_SOCKETS_CONNECT_TIMEOUT = 0x6
+ SO_VM_SOCKETS_CONNECT_TIMEOUT_NEW = 0x8
+ SO_VM_SOCKETS_CONNECT_TIMEOUT_OLD = 0x6
SO_VM_SOCKETS_NONBLOCK_TXRX = 0x7
SO_VM_SOCKETS_PEER_HOST_VM_ID = 0x3
SO_VM_SOCKETS_TRUSTED = 0x5
@@ -2786,6 +2868,13 @@ const (
WDIOS_TEMPPANIC = 0x4
WDIOS_UNKNOWN = -0x1
WEXITED = 0x4
+ WGALLOWEDIP_A_MAX = 0x3
+ WGDEVICE_A_MAX = 0x8
+ WGPEER_A_MAX = 0xa
+ WG_CMD_MAX = 0x1
+ WG_GENL_NAME = "wireguard"
+ WG_GENL_VERSION = 0x1
+ WG_KEY_LEN = 0x20
WIN_ACKMEDIACHANGE = 0xdb
WIN_CHECKPOWERMODE1 = 0xe5
WIN_CHECKPOWERMODE2 = 0x98
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
index 697811a46..234fd4a5d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_386.go
@@ -5,7 +5,7 @@
// +build 386,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/_const.go
package unix
@@ -250,6 +250,8 @@ const (
RTC_EPOCH_SET = 0x4004700e
RTC_IRQP_READ = 0x8004700b
RTC_IRQP_SET = 0x4004700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x801c7011
@@ -293,6 +295,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -326,6 +329,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
index 7d8d93bfc..58619b758 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go
@@ -5,7 +5,7 @@
// +build amd64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/_const.go
package unix
@@ -251,6 +251,8 @@ const (
RTC_EPOCH_SET = 0x4008700e
RTC_IRQP_READ = 0x8008700b
RTC_IRQP_SET = 0x4008700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x80207011
@@ -294,6 +296,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -327,6 +330,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
index f707d5089..3a64ff59d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm.go
@@ -5,7 +5,7 @@
// +build arm,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -257,6 +257,8 @@ const (
RTC_EPOCH_SET = 0x4004700e
RTC_IRQP_READ = 0x8004700b
RTC_IRQP_SET = 0x4004700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x801c7011
@@ -300,6 +302,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -333,6 +336,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
index 3a67a9c85..abe0b9257 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go
@@ -5,7 +5,7 @@
// +build arm64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go
package unix
@@ -247,6 +247,8 @@ const (
RTC_EPOCH_SET = 0x4008700e
RTC_IRQP_READ = 0x8008700b
RTC_IRQP_SET = 0x4008700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x80207011
@@ -290,6 +292,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -323,6 +326,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
index a7ccef56c..14d7a8439 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips.go
@@ -5,7 +5,7 @@
// +build mips,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -250,6 +250,8 @@ const (
RTC_EPOCH_SET = 0x8004700e
RTC_IRQP_READ = 0x4004700b
RTC_IRQP_SET = 0x8004700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x401c7011
@@ -293,6 +295,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x20
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -326,6 +329,7 @@ const (
SO_RCVTIMEO = 0x1006
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x1006
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x4
SO_REUSEPORT = 0x200
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
index f7b7cec91..99e7c4ac0 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go
@@ -5,7 +5,7 @@
// +build mips64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -250,6 +250,8 @@ const (
RTC_EPOCH_SET = 0x8008700e
RTC_IRQP_READ = 0x4008700b
RTC_IRQP_SET = 0x8008700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x40207011
@@ -293,6 +295,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x20
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -326,6 +329,7 @@ const (
SO_RCVTIMEO = 0x1006
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x1006
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x4
SO_REUSEPORT = 0x200
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
index 4fcacf958..496364c33 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go
@@ -5,7 +5,7 @@
// +build mips64le,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -250,6 +250,8 @@ const (
RTC_EPOCH_SET = 0x8008700e
RTC_IRQP_READ = 0x4008700b
RTC_IRQP_SET = 0x8008700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x40207011
@@ -293,6 +295,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x20
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -326,6 +329,7 @@ const (
SO_RCVTIMEO = 0x1006
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x1006
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x4
SO_REUSEPORT = 0x200
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
index 6f6c223a2..3e4083085 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go
@@ -5,7 +5,7 @@
// +build mipsle,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -250,6 +250,8 @@ const (
RTC_EPOCH_SET = 0x8004700e
RTC_IRQP_READ = 0x4004700b
RTC_IRQP_SET = 0x8004700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x401c7011
@@ -293,6 +295,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x20
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -326,6 +329,7 @@ const (
SO_RCVTIMEO = 0x1006
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x1006
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x4
SO_REUSEPORT = 0x200
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
index 59e522bcf..1151a7dfa 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc.go
@@ -5,7 +5,7 @@
// +build ppc,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -305,6 +305,8 @@ const (
RTC_EPOCH_SET = 0x8004700e
RTC_IRQP_READ = 0x4004700b
RTC_IRQP_SET = 0x8004700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x401c7011
@@ -348,6 +350,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -381,6 +384,7 @@ const (
SO_RCVTIMEO = 0x12
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x12
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
index d4264a0f7..ed17f249e 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go
@@ -5,7 +5,7 @@
// +build ppc64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -309,6 +309,8 @@ const (
RTC_EPOCH_SET = 0x8008700e
RTC_IRQP_READ = 0x4008700b
RTC_IRQP_SET = 0x8008700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x40207011
@@ -352,6 +354,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -385,6 +388,7 @@ const (
SO_RCVTIMEO = 0x12
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x12
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
index 21cbec1dd..d84a37c1a 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go
@@ -5,7 +5,7 @@
// +build ppc64le,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -309,6 +309,8 @@ const (
RTC_EPOCH_SET = 0x8008700e
RTC_IRQP_READ = 0x4008700b
RTC_IRQP_SET = 0x8008700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x40207011
@@ -352,6 +354,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -385,6 +388,7 @@ const (
SO_RCVTIMEO = 0x12
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x12
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
index 9b05bf12f..5cafba83f 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_riscv64.go
@@ -5,7 +5,7 @@
// +build riscv64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -238,6 +238,8 @@ const (
RTC_EPOCH_SET = 0x4008700e
RTC_IRQP_READ = 0x8008700b
RTC_IRQP_SET = 0x4008700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x80207011
@@ -281,6 +283,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -314,6 +317,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
index bd82ace09..6d122da41 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go
@@ -5,7 +5,7 @@
// +build s390x,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/_const.go
package unix
@@ -313,6 +313,8 @@ const (
RTC_EPOCH_SET = 0x4008700e
RTC_IRQP_READ = 0x8008700b
RTC_IRQP_SET = 0x4008700c
+ RTC_PARAM_GET = 0x40187013
+ RTC_PARAM_SET = 0x40187014
RTC_PIE_OFF = 0x7006
RTC_PIE_ON = 0x7005
RTC_PLL_GET = 0x80207011
@@ -356,6 +358,7 @@ const (
SO_BPF_EXTENSIONS = 0x30
SO_BROADCAST = 0x6
SO_BSDCOMPAT = 0xe
+ SO_BUF_LOCK = 0x48
SO_BUSY_POLL = 0x2e
SO_BUSY_POLL_BUDGET = 0x46
SO_CNX_ADVICE = 0x35
@@ -389,6 +392,7 @@ const (
SO_RCVTIMEO = 0x14
SO_RCVTIMEO_NEW = 0x42
SO_RCVTIMEO_OLD = 0x14
+ SO_RESERVE_MEM = 0x49
SO_REUSEADDR = 0x2
SO_REUSEPORT = 0xf
SO_RXQ_OVFL = 0x28
diff --git a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
index 1f8bded56..6bd19e51d 100644
--- a/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go
@@ -5,7 +5,7 @@
// +build sparc64,linux
// Code generated by cmd/cgo -godefs; DO NOT EDIT.
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/_const.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/_const.go
package unix
@@ -304,6 +304,8 @@ const (
RTC_EPOCH_SET = 0x8008700e
RTC_IRQP_READ = 0x4008700b
RTC_IRQP_SET = 0x8008700c
+ RTC_PARAM_GET = 0x80187013
+ RTC_PARAM_SET = 0x80187014
RTC_PIE_OFF = 0x20007006
RTC_PIE_ON = 0x20007005
RTC_PLL_GET = 0x40207011
@@ -347,6 +349,7 @@ const (
SO_BPF_EXTENSIONS = 0x32
SO_BROADCAST = 0x20
SO_BSDCOMPAT = 0x400
+ SO_BUF_LOCK = 0x51
SO_BUSY_POLL = 0x30
SO_BUSY_POLL_BUDGET = 0x49
SO_CNX_ADVICE = 0x37
@@ -380,6 +383,7 @@ const (
SO_RCVTIMEO = 0x2000
SO_RCVTIMEO_NEW = 0x44
SO_RCVTIMEO_OLD = 0x2000
+ SO_RESERVE_MEM = 0x52
SO_REUSEADDR = 0x4
SO_REUSEPORT = 0x200
SO_RXQ_OVFL = 0x24
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
index 91a23cc72..85e0cc386 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc.go
@@ -17,6 +17,7 @@ int getdirent(int, uintptr_t, size_t);
int wait4(int, uintptr_t, int, uintptr_t);
int ioctl(int, int, uintptr_t);
int fcntl(uintptr_t, int, uintptr_t);
+int fsync_range(int, int, long long, long long);
int acct(uintptr_t);
int chdir(uintptr_t);
int chroot(uintptr_t);
@@ -29,7 +30,6 @@ int fchmod(int, unsigned int);
int fchmodat(int, uintptr_t, unsigned int, int);
int fchownat(int, uintptr_t, int, int, int);
int fdatasync(int);
-int fsync(int);
int getpgid(int);
int getpgrp();
int getpid();
@@ -255,6 +255,16 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fsyncRange(fd int, how int, start int64, length int64) (err error) {
+ r0, er := C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length))
+ if r0 == -1 && er != nil {
+ err = er
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Acct(path string) (err error) {
_p0 := uintptr(unsafe.Pointer(C.CString(path)))
r0, er := C.acct(C.uintptr_t(_p0))
@@ -379,16 +389,6 @@ func Fdatasync(fd int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Fsync(fd int) (err error) {
- r0, er := C.fsync(C.int(fd))
- if r0 == -1 && er != nil {
- err = er
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Getpgid(pid int) (pgid int, err error) {
r0, er := C.getpgid(C.int(pid))
pgid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
index 33c2609b8..f1d4a73b0 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64.go
@@ -135,6 +135,16 @@ func fcntl(fd int, cmd int, arg int) (val int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func fsyncRange(fd int, how int, start int64, length int64) (err error) {
+ _, e1 := callfsync_range(fd, how, start, length)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Acct(path string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -283,16 +293,6 @@ func Fdatasync(fd int) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func Fsync(fd int) (err error) {
- _, e1 := callfsync(fd)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func Getpgid(pid int) (pgid int, err error) {
r0, e1 := callgetpgid(pid)
pgid = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
index 8b737fa97..2caa5adf9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gc.go
@@ -18,6 +18,7 @@ import (
//go:cgo_import_dynamic libc_wait4 wait4 "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_ioctl ioctl "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_fcntl fcntl "libc.a/shr_64.o"
+//go:cgo_import_dynamic libc_fsync_range fsync_range "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_acct acct "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_chdir chdir "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_chroot chroot "libc.a/shr_64.o"
@@ -30,7 +31,6 @@ import (
//go:cgo_import_dynamic libc_fchmodat fchmodat "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_fchownat fchownat "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_fdatasync fdatasync "libc.a/shr_64.o"
-//go:cgo_import_dynamic libc_fsync fsync "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_getpgid getpgid "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_getpgrp getpgrp "libc.a/shr_64.o"
//go:cgo_import_dynamic libc_getpid getpid "libc.a/shr_64.o"
@@ -136,6 +136,7 @@ import (
//go:linkname libc_wait4 libc_wait4
//go:linkname libc_ioctl libc_ioctl
//go:linkname libc_fcntl libc_fcntl
+//go:linkname libc_fsync_range libc_fsync_range
//go:linkname libc_acct libc_acct
//go:linkname libc_chdir libc_chdir
//go:linkname libc_chroot libc_chroot
@@ -148,7 +149,6 @@ import (
//go:linkname libc_fchmodat libc_fchmodat
//go:linkname libc_fchownat libc_fchownat
//go:linkname libc_fdatasync libc_fdatasync
-//go:linkname libc_fsync libc_fsync
//go:linkname libc_getpgid libc_getpgid
//go:linkname libc_getpgrp libc_getpgrp
//go:linkname libc_getpid libc_getpid
@@ -257,6 +257,7 @@ var (
libc_wait4,
libc_ioctl,
libc_fcntl,
+ libc_fsync_range,
libc_acct,
libc_chdir,
libc_chroot,
@@ -269,7 +270,6 @@ var (
libc_fchmodat,
libc_fchownat,
libc_fdatasync,
- libc_fsync,
libc_getpgid,
libc_getpgrp,
libc_getpid,
@@ -430,6 +430,13 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) {
+ r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync_range)), 4, uintptr(fd), uintptr(how), uintptr(start), uintptr(length), 0, 0)
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_acct)), 1, _p0, 0, 0, 0, 0, 0)
return
@@ -514,13 +521,6 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func callfsync(fd int) (r1 uintptr, e1 Errno) {
- r1, _, e1 = syscall6(uintptr(unsafe.Pointer(&libc_fsync)), 1, uintptr(fd), 0, 0, 0, 0, 0)
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
r1, _, e1 = rawSyscall6(uintptr(unsafe.Pointer(&libc_getpgid)), 1, uintptr(pid), 0, 0, 0, 0, 0)
return
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
index 3c260917e..944a714b1 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_aix_ppc64_gccgo.go
@@ -16,6 +16,7 @@ int getdirent(int, uintptr_t, size_t);
int wait4(int, uintptr_t, int, uintptr_t);
int ioctl(int, int, uintptr_t);
int fcntl(uintptr_t, int, uintptr_t);
+int fsync_range(int, int, long long, long long);
int acct(uintptr_t);
int chdir(uintptr_t);
int chroot(uintptr_t);
@@ -28,7 +29,6 @@ int fchmod(int, unsigned int);
int fchmodat(int, uintptr_t, unsigned int, int);
int fchownat(int, uintptr_t, int, int, int);
int fdatasync(int);
-int fsync(int);
int getpgid(int);
int getpgrp();
int getpid();
@@ -199,6 +199,14 @@ func callfcntl(fd uintptr, cmd int, arg uintptr) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func callfsync_range(fd int, how int, start int64, length int64) (r1 uintptr, e1 Errno) {
+ r1 = uintptr(C.fsync_range(C.int(fd), C.int(how), C.longlong(start), C.longlong(length)))
+ e1 = syscall.GetErrno()
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func callacct(_p0 uintptr) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.acct(C.uintptr_t(_p0)))
e1 = syscall.GetErrno()
@@ -295,14 +303,6 @@ func callfdatasync(fd int) (r1 uintptr, e1 Errno) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func callfsync(fd int) (r1 uintptr, e1 Errno) {
- r1 = uintptr(C.fsync(C.int(fd)))
- e1 = syscall.GetErrno()
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func callgetpgid(pid int) (r1 uintptr, e1 Errno) {
r1 = uintptr(C.getpgid(C.int(pid)))
e1 = syscall.GetErrno()
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
index d4efe8d45..0ae0ed4cb 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go
@@ -734,6 +734,65 @@ var libc_sendfile_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag))
+ ret = uintptr(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf)))
+ result = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmctl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmdt(addr uintptr) (err error) {
+ _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmdt_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmget(key int, size int, flag int) (id int, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag))
+ id = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmget_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
index bc169c2ab..eac6ca806 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.s
@@ -264,6 +264,30 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB)
+TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmat(SB)
+
+GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB)
+
+TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmctl(SB)
+
+GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB)
+
+TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmdt(SB)
+
+GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB)
+
+TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmget(SB)
+
+GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB)
+
TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_access(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
index f2ee2bd33..cf71be3ed 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go
@@ -734,6 +734,65 @@ var libc_sendfile_trampoline_addr uintptr
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmat_trampoline_addr, uintptr(id), uintptr(addr), uintptr(flag))
+ ret = uintptr(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmat_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmat shmat "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmctl_trampoline_addr, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf)))
+ result = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmctl_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmctl shmctl "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmdt(addr uintptr) (err error) {
+ _, _, e1 := syscall_syscall(libc_shmdt_trampoline_addr, uintptr(addr), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmdt_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmdt shmdt "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmget(key int, size int, flag int) (id int, err error) {
+ r0, _, e1 := syscall_syscall(libc_shmget_trampoline_addr, uintptr(key), uintptr(size), uintptr(flag))
+ id = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+var libc_shmget_trampoline_addr uintptr
+
+//go:cgo_import_dynamic libc_shmget shmget "/usr/lib/libSystem.B.dylib"
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Access(path string, mode uint32) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
index 33e19776d..4ebcf2175 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
+++ b/vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.s
@@ -264,6 +264,30 @@ TEXT libc_sendfile_trampoline<>(SB),NOSPLIT,$0-0
GLOBL ·libc_sendfile_trampoline_addr(SB), RODATA, $8
DATA ·libc_sendfile_trampoline_addr(SB)/8, $libc_sendfile_trampoline<>(SB)
+TEXT libc_shmat_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmat(SB)
+
+GLOBL ·libc_shmat_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmat_trampoline_addr(SB)/8, $libc_shmat_trampoline<>(SB)
+
+TEXT libc_shmctl_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmctl(SB)
+
+GLOBL ·libc_shmctl_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmctl_trampoline_addr(SB)/8, $libc_shmctl_trampoline<>(SB)
+
+TEXT libc_shmdt_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmdt(SB)
+
+GLOBL ·libc_shmdt_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmdt_trampoline_addr(SB)/8, $libc_shmdt_trampoline<>(SB)
+
+TEXT libc_shmget_trampoline<>(SB),NOSPLIT,$0-0
+ JMP libc_shmget(SB)
+
+GLOBL ·libc_shmget_trampoline_addr(SB), RODATA, $8
+DATA ·libc_shmget_trampoline_addr(SB)/8, $libc_shmget_trampoline<>(SB)
+
TEXT libc_access_trampoline<>(SB),NOSPLIT,$0-0
JMP libc_access(SB)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux.go b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
index 701f7eb88..30fa4055e 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux.go
@@ -1,4 +1,4 @@
-// Code generated by mkmerge.go; DO NOT EDIT.
+// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
// +build linux
@@ -409,6 +409,21 @@ func mount(source string, target string, fstype string, flags uintptr, data *byt
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+func mountSetattr(dirfd int, pathname string, flags uint, attr *MountAttr, size uintptr) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(pathname)
+ if err != nil {
+ return
+ }
+ _, _, e1 := Syscall6(SYS_MOUNT_SETATTR, uintptr(dirfd), uintptr(unsafe.Pointer(_p0)), uintptr(flags), uintptr(unsafe.Pointer(attr)), uintptr(size), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
func Acct(path string) (err error) {
var _p0 *byte
_p0, err = BytePtrFromString(path)
@@ -1974,3 +1989,66 @@ func PidfdGetfd(pidfd int, targetfd int, flags int) (fd int, err error) {
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmat(id int, addr uintptr, flag int) (ret uintptr, err error) {
+ r0, _, e1 := Syscall(SYS_SHMAT, uintptr(id), uintptr(addr), uintptr(flag))
+ ret = uintptr(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmctl(id int, cmd int, buf *SysvShmDesc) (result int, err error) {
+ r0, _, e1 := Syscall(SYS_SHMCTL, uintptr(id), uintptr(cmd), uintptr(unsafe.Pointer(buf)))
+ result = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmdt(addr uintptr) (err error) {
+ _, _, e1 := Syscall(SYS_SHMDT, uintptr(addr), 0, 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func shmget(key int, size int, flag int) (id int, err error) {
+ r0, _, e1 := Syscall(SYS_SHMGET, uintptr(key), uintptr(size), uintptr(flag))
+ id = int(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func getitimer(which int, currValue *Itimerval) (err error) {
+ _, _, e1 := Syscall(SYS_GETITIMER, uintptr(which), uintptr(unsafe.Pointer(currValue)), 0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func setitimer(which int, newValue *Itimerval, oldValue *Itimerval) (err error) {
+ _, _, e1 := Syscall(SYS_SETITIMER, uintptr(which), uintptr(unsafe.Pointer(newValue)), uintptr(unsafe.Pointer(oldValue)))
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
index 7f3eccfcb..2fc6271f4 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_386.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go
+// go run mksyscall.go -l32 -tags linux,386 syscall_linux.go syscall_linux_386.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && 386
@@ -527,9 +527,9 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
index c1c9ac4dd..43d9f0128 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go
+// go run mksyscall.go -tags linux,amd64 syscall_linux.go syscall_linux_amd64.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && amd64
@@ -444,17 +444,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -679,9 +668,13 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(cmdline)
+ if err != nil {
+ return
+ }
+ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -690,13 +683,9 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
- var _p0 *byte
- _p0, err = BytePtrFromString(cmdline)
- if err != nil {
- return
- }
- _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
index d89b8be39..7df0cb179 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go
@@ -46,17 +46,6 @@ func Tee(rfd int, wfd int, len int, flags int) (n int64, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -639,17 +628,6 @@ func setrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func armSyncFileRange(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_ARM_SYNC_FILE_RANGE, uintptr(fd), uintptr(flags), uintptr(off), uintptr(off>>32), uintptr(n), uintptr(n>>32))
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
index e893f987f..076e8f1c5 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go
@@ -389,17 +389,6 @@ func Truncate(path string, length int64) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
index 9e609dd97..7b3c84746 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go
+// go run mksyscall.go -b32 -arm -tags linux,mips syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mips
@@ -344,17 +344,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -705,9 +694,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
index 46b1d82f2..0d3c45fbd 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go
+// go run mksyscall.go -tags linux,mips64 syscall_linux.go syscall_linux_mips64x.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mips64
@@ -399,17 +399,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -699,9 +688,9 @@ func stat(path string, st *stat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
index ab2f9db75..cb46b2aaa 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go
@@ -399,17 +399,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -696,14 +685,3 @@ func stat(path string, st *stat_t) (err error) {
}
return
}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
index 0d4a48bb1..21c9baa6a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go
+// go run mksyscall.go -l32 -arm -tags linux,mipsle syscall_linux.go syscall_linux_mipsx.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && mipsle
@@ -344,17 +344,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -705,9 +694,9 @@ func setrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
index 078f1cc6a..02b8f0887 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go
+// go run mksyscall.go -b32 -tags linux,ppc syscall_linux.go syscall_linux_ppc.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc
@@ -409,17 +409,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -685,17 +674,6 @@ func setrlimit(resource int, rlim *rlimit32) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off>>32), uintptr(off), uintptr(n>>32), uintptr(n))
if e1 != 0 {
@@ -718,3 +696,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
index 791efbb78..ac8cb09ba 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go
+// go run mksyscall.go -tags linux,ppc64 syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc64
@@ -475,17 +475,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -731,17 +720,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
if e1 != 0 {
@@ -764,3 +742,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
index dbc762169..bd08d887a 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go
+// go run mksyscall.go -tags linux,ppc64le syscall_linux.go syscall_linux_ppc64x.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && ppc64le
@@ -475,17 +475,6 @@ func Ustat(dev int, ubuf *Ustat_t) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -731,17 +720,6 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func syncFileRange2(fd int, flags int, off int64, n int64) (err error) {
_, _, e1 := Syscall6(SYS_SYNC_FILE_RANGE2, uintptr(fd), uintptr(flags), uintptr(off), uintptr(n), 0, 0)
if e1 != 0 {
@@ -764,3 +742,14 @@ func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, f
}
return
}
+
+// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
+
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
+ if e1 != 0 {
+ err = errnoErr(e1)
+ }
+ return
+}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
index 63b393b80..a834d2173 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_riscv64.go
@@ -369,17 +369,6 @@ func Truncate(path string, length int64) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
index 8f65b2ed4..9e462a96f 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go
+// go run mksyscall.go -tags linux,s390x syscall_linux.go syscall_linux_s390x.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && s390x
@@ -521,9 +521,13 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
+ var _p0 *byte
+ _p0, err = BytePtrFromString(cmdline)
+ if err != nil {
+ return
+ }
+ _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
if e1 != 0 {
err = errnoErr(e1)
}
@@ -532,13 +536,9 @@ func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func kexecFileLoad(kernelFd int, initrdFd int, cmdlineLen int, cmdline string, flags int) (err error) {
- var _p0 *byte
- _p0, err = BytePtrFromString(cmdline)
- if err != nil {
- return
- }
- _, _, e1 := Syscall6(SYS_KEXEC_FILE_LOAD, uintptr(kernelFd), uintptr(initrdFd), uintptr(cmdlineLen), uintptr(unsafe.Pointer(_p0)), uintptr(flags), 0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
index 227f0f888..96d340242 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go
@@ -1,4 +1,4 @@
-// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go
+// go run mksyscall.go -tags linux,sparc64 syscall_linux.go syscall_linux_sparc64.go syscall_linux_alarm.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build linux && sparc64
@@ -455,17 +455,6 @@ func Truncate(path string, length int64) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func accept(s int, rsa *RawSockaddrAny, addrlen *_Socklen) (fd int, err error) {
- r0, _, e1 := Syscall(SYS_ACCEPT, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)))
- fd = int(r0)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func accept4(s int, rsa *RawSockaddrAny, addrlen *_Socklen, flags int) (fd int, err error) {
r0, _, e1 := Syscall6(SYS_ACCEPT4, uintptr(s), uintptr(unsafe.Pointer(rsa)), uintptr(unsafe.Pointer(addrlen)), uintptr(flags), 0, 0)
fd = int(r0)
@@ -700,9 +689,9 @@ func utimes(path string, times *[2]Timeval) (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func poll(fds *PollFd, nfds int, timeout int) (n int, err error) {
- r0, _, e1 := Syscall(SYS_POLL, uintptr(unsafe.Pointer(fds)), uintptr(nfds), uintptr(timeout))
- n = int(r0)
+func Alarm(seconds uint) (remaining uint, err error) {
+ r0, _, e1 := Syscall(SYS_ALARM, uintptr(seconds), 0, 0)
+ remaining = uint(r0)
if e1 != 0 {
err = errnoErr(e1)
}
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
index 4726ab30a..51d0c0742 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go
@@ -351,18 +351,6 @@ func Munlockall() (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pipe() (fd1 int, fd2 int, err error) {
- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
- fd1 = int(r0)
- fd2 = int(r1)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func pipe2(p *[2]_C_int, flags int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
index fe71456db..df2efb6db 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go
@@ -351,18 +351,6 @@ func Munlockall() (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pipe() (fd1 int, fd2 int, err error) {
- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
- fd1 = int(r0)
- fd2 = int(r1)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func pipe2(p *[2]_C_int, flags int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
index 0b5b2f014..c8536c2c9 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go
@@ -351,18 +351,6 @@ func Munlockall() (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pipe() (fd1 int, fd2 int, err error) {
- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
- fd1 = int(r0)
- fd2 = int(r1)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func pipe2(p *[2]_C_int, flags int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
index bfca28648..8b981bfc2 100644
--- a/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm64.go
@@ -351,18 +351,6 @@ func Munlockall() (err error) {
// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-func pipe() (fd1 int, fd2 int, err error) {
- r0, r1, e1 := RawSyscall(SYS_PIPE, 0, 0, 0)
- fd1 = int(r0)
- fd2 = int(r1)
- if e1 != 0 {
- err = errnoErr(e1)
- }
- return
-}
-
-// THIS FILE IS GENERATED BY THE COMMAND AT THE TOP; DO NOT EDIT
-
func pipe2(p *[2]_C_int, flags int) (err error) {
_, _, e1 := RawSyscall(SYS_PIPE2, uintptr(unsafe.Pointer(p)), uintptr(flags), 0)
if e1 != 0 {
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
index aa7ce85d1..cac1f758b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_386.go
@@ -444,4 +444,6 @@ const (
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
SYS_MEMFD_SECRET = 447
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
index b83032638..f327e4a0b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go
@@ -366,4 +366,6 @@ const (
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
SYS_MEMFD_SECRET = 447
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
index d75f65a0a..fb06a08d4 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go
@@ -7,6 +7,7 @@
package unix
const (
+ SYS_SYSCALL_MASK = 0
SYS_RESTART_SYSCALL = 0
SYS_EXIT = 1
SYS_FORK = 2
@@ -407,4 +408,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
index 8b02f09e9..58285646e 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go
@@ -311,4 +311,6 @@ const (
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
SYS_MEMFD_SECRET = 447
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
index 026695abb..3b0418e68 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go
@@ -428,4 +428,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 4444
SYS_LANDLOCK_ADD_RULE = 4445
SYS_LANDLOCK_RESTRICT_SELF = 4446
+ SYS_PROCESS_MRELEASE = 4448
+ SYS_FUTEX_WAITV = 4449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
index 7320ba958..314ebf166 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go
@@ -358,4 +358,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 5444
SYS_LANDLOCK_ADD_RULE = 5445
SYS_LANDLOCK_RESTRICT_SELF = 5446
+ SYS_PROCESS_MRELEASE = 5448
+ SYS_FUTEX_WAITV = 5449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
index 45082dd67..b8fbb937a 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go
@@ -358,4 +358,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 5444
SYS_LANDLOCK_ADD_RULE = 5445
SYS_LANDLOCK_RESTRICT_SELF = 5446
+ SYS_PROCESS_MRELEASE = 5448
+ SYS_FUTEX_WAITV = 5449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
index 570a857a5..ee309b2ba 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go
@@ -428,4 +428,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 4444
SYS_LANDLOCK_ADD_RULE = 4445
SYS_LANDLOCK_RESTRICT_SELF = 4446
+ SYS_PROCESS_MRELEASE = 4448
+ SYS_FUTEX_WAITV = 4449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
index 638498d62..ac3748104 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc.go
@@ -435,4 +435,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
index 702beebfe..5aa472111 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go
@@ -407,4 +407,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
index bfc87ea44..0793ac1a6 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go
@@ -407,4 +407,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
index a390e147d..a520962e3 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_riscv64.go
@@ -309,4 +309,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
index 3e791e6cd..d1738586b 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go
@@ -372,4 +372,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
index 78802a5cf..dfd5660f9 100644
--- a/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go
@@ -386,4 +386,6 @@ const (
SYS_LANDLOCK_CREATE_RULESET = 444
SYS_LANDLOCK_ADD_RULE = 445
SYS_LANDLOCK_RESTRICT_SELF = 446
+ SYS_PROCESS_MRELEASE = 448
+ SYS_FUTEX_WAITV = 449
)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
index 4c8dc0ba2..885842c0e 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go
@@ -209,6 +209,92 @@ type RawSockaddrCtl struct {
Sc_reserved [5]uint32
}
+type RawSockaddrVM struct {
+ Len uint8
+ Family uint8
+ Reserved1 uint16
+ Port uint32
+ Cid uint32
+}
+
+type XVSockPCB struct {
+ Xv_len uint32
+ Xv_vsockpp uint64
+ Xvp_local_cid uint32
+ Xvp_local_port uint32
+ Xvp_remote_cid uint32
+ Xvp_remote_port uint32
+ Xvp_rxcnt uint32
+ Xvp_txcnt uint32
+ Xvp_peer_rxhiwat uint32
+ Xvp_peer_rxcnt uint32
+ Xvp_last_pid int32
+ Xvp_gencnt uint64
+ Xv_socket XSocket
+ _ [4]byte
+}
+
+type XSocket struct {
+ Xso_len uint32
+ Xso_so uint32
+ So_type int16
+ So_options int16
+ So_linger int16
+ So_state int16
+ So_pcb uint32
+ Xso_protocol int32
+ Xso_family int32
+ So_qlen int16
+ So_incqlen int16
+ So_qlimit int16
+ So_timeo int16
+ So_error uint16
+ So_pgid int32
+ So_oobmark uint32
+ So_rcv XSockbuf
+ So_snd XSockbuf
+ So_uid uint32
+}
+
+type XSocket64 struct {
+ Xso_len uint32
+ _ [8]byte
+ So_type int16
+ So_options int16
+ So_linger int16
+ So_state int16
+ _ [8]byte
+ Xso_protocol int32
+ Xso_family int32
+ So_qlen int16
+ So_incqlen int16
+ So_qlimit int16
+ So_timeo int16
+ So_error uint16
+ So_pgid int32
+ So_oobmark uint32
+ So_rcv XSockbuf
+ So_snd XSockbuf
+ So_uid uint32
+}
+
+type XSockbuf struct {
+ Cc uint32
+ Hiwat uint32
+ Mbcnt uint32
+ Mbmax uint32
+ Lowat int32
+ Flags int16
+ Timeo int16
+}
+
+type XVSockPgen struct {
+ Len uint32
+ Count uint64
+ Gen uint64
+ Sogen uint64
+}
+
type _Socklen uint32
type Xucred struct {
@@ -287,6 +373,11 @@ const (
SizeofSockaddrUnix = 0x6a
SizeofSockaddrDatalink = 0x14
SizeofSockaddrCtl = 0x20
+ SizeofSockaddrVM = 0xc
+ SizeofXvsockpcb = 0xa8
+ SizeofXSocket = 0x64
+ SizeofXSockbuf = 0x18
+ SizeofXVSockPgen = 0x20
SizeofXucred = 0x4c
SizeofLinger = 0x8
SizeofIovec = 0x10
@@ -550,13 +641,13 @@ type Eproc struct {
Tdev int32
Tpgid int32
Tsess uintptr
- Wmesg [8]int8
+ Wmesg [8]byte
Xsize int32
Xrssize int16
Xccount int16
Xswrss int16
Flag int32
- Login [12]int8
+ Login [12]byte
Spare [4]int32
_ [4]byte
}
@@ -597,7 +688,7 @@ type ExternProc struct {
P_priority uint8
P_usrpri uint8
P_nice int8
- P_comm [17]int8
+ P_comm [17]byte
P_pgrp uintptr
P_addr uintptr
P_xstat uint16
@@ -639,3 +730,39 @@ type Ucred struct {
Ngroups int16
Groups [16]uint32
}
+
+type SysvIpcPerm struct {
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint16
+ _ uint16
+ _ int32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Lpid int32
+ Cpid int32
+ Nattch uint16
+ _ [34]byte
+}
+
+const (
+ IPC_CREAT = 0x200
+ IPC_EXCL = 0x400
+ IPC_NOWAIT = 0x800
+ IPC_PRIVATE = 0x0
+)
+
+const (
+ IPC_RMID = 0x0
+ IPC_SET = 0x1
+ IPC_STAT = 0x2
+)
+
+const (
+ SHM_RDONLY = 0x1000
+ SHM_RND = 0x2000
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
index 96f0e6ae2..b23c02337 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go
@@ -209,6 +209,92 @@ type RawSockaddrCtl struct {
Sc_reserved [5]uint32
}
+type RawSockaddrVM struct {
+ Len uint8
+ Family uint8
+ Reserved1 uint16
+ Port uint32
+ Cid uint32
+}
+
+type XVSockPCB struct {
+ Xv_len uint32
+ Xv_vsockpp uint64
+ Xvp_local_cid uint32
+ Xvp_local_port uint32
+ Xvp_remote_cid uint32
+ Xvp_remote_port uint32
+ Xvp_rxcnt uint32
+ Xvp_txcnt uint32
+ Xvp_peer_rxhiwat uint32
+ Xvp_peer_rxcnt uint32
+ Xvp_last_pid int32
+ Xvp_gencnt uint64
+ Xv_socket XSocket
+ _ [4]byte
+}
+
+type XSocket struct {
+ Xso_len uint32
+ Xso_so uint32
+ So_type int16
+ So_options int16
+ So_linger int16
+ So_state int16
+ So_pcb uint32
+ Xso_protocol int32
+ Xso_family int32
+ So_qlen int16
+ So_incqlen int16
+ So_qlimit int16
+ So_timeo int16
+ So_error uint16
+ So_pgid int32
+ So_oobmark uint32
+ So_rcv XSockbuf
+ So_snd XSockbuf
+ So_uid uint32
+}
+
+type XSocket64 struct {
+ Xso_len uint32
+ _ [8]byte
+ So_type int16
+ So_options int16
+ So_linger int16
+ So_state int16
+ _ [8]byte
+ Xso_protocol int32
+ Xso_family int32
+ So_qlen int16
+ So_incqlen int16
+ So_qlimit int16
+ So_timeo int16
+ So_error uint16
+ So_pgid int32
+ So_oobmark uint32
+ So_rcv XSockbuf
+ So_snd XSockbuf
+ So_uid uint32
+}
+
+type XSockbuf struct {
+ Cc uint32
+ Hiwat uint32
+ Mbcnt uint32
+ Mbmax uint32
+ Lowat int32
+ Flags int16
+ Timeo int16
+}
+
+type XVSockPgen struct {
+ Len uint32
+ Count uint64
+ Gen uint64
+ Sogen uint64
+}
+
type _Socklen uint32
type Xucred struct {
@@ -287,6 +373,11 @@ const (
SizeofSockaddrUnix = 0x6a
SizeofSockaddrDatalink = 0x14
SizeofSockaddrCtl = 0x20
+ SizeofSockaddrVM = 0xc
+ SizeofXvsockpcb = 0xa8
+ SizeofXSocket = 0x64
+ SizeofXSockbuf = 0x18
+ SizeofXVSockPgen = 0x20
SizeofXucred = 0x4c
SizeofLinger = 0x8
SizeofIovec = 0x10
@@ -550,13 +641,13 @@ type Eproc struct {
Tdev int32
Tpgid int32
Tsess uintptr
- Wmesg [8]int8
+ Wmesg [8]byte
Xsize int32
Xrssize int16
Xccount int16
Xswrss int16
Flag int32
- Login [12]int8
+ Login [12]byte
Spare [4]int32
_ [4]byte
}
@@ -597,7 +688,7 @@ type ExternProc struct {
P_priority uint8
P_usrpri uint8
P_nice int8
- P_comm [17]int8
+ P_comm [17]byte
P_pgrp uintptr
P_addr uintptr
P_xstat uint16
@@ -639,3 +730,39 @@ type Ucred struct {
Ngroups int16
Groups [16]uint32
}
+
+type SysvIpcPerm struct {
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint16
+ _ uint16
+ _ int32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Lpid int32
+ Cpid int32
+ Nattch uint16
+ _ [34]byte
+}
+
+const (
+ IPC_CREAT = 0x200
+ IPC_EXCL = 0x400
+ IPC_NOWAIT = 0x800
+ IPC_PRIVATE = 0x0
+)
+
+const (
+ IPC_RMID = 0x0
+ IPC_SET = 0x1
+ IPC_STAT = 0x2
+)
+
+const (
+ SHM_RDONLY = 0x1000
+ SHM_RND = 0x2000
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux.go b/vendor/golang.org/x/sys/unix/ztypes_linux.go
index 06dcd787b..2c26466e0 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux.go
@@ -1,4 +1,4 @@
-// Code generated by mkmerge.go; DO NOT EDIT.
+// Code generated by mkmerge; DO NOT EDIT.
//go:build linux
// +build linux
@@ -24,6 +24,11 @@ type ItimerSpec struct {
Value Timespec
}
+type Itimerval struct {
+ Interval Timeval
+ Value Timeval
+}
+
const (
TIME_OK = 0x0
TIME_INS = 0x1
@@ -743,6 +748,8 @@ const (
AT_STATX_FORCE_SYNC = 0x2000
AT_STATX_DONT_SYNC = 0x4000
+ AT_RECURSIVE = 0x8000
+
AT_SYMLINK_FOLLOW = 0x400
AT_SYMLINK_NOFOLLOW = 0x100
@@ -865,6 +872,7 @@ const (
CTRL_CMD_NEWMCAST_GRP = 0x7
CTRL_CMD_DELMCAST_GRP = 0x8
CTRL_CMD_GETMCAST_GRP = 0x9
+ CTRL_CMD_GETPOLICY = 0xa
CTRL_ATTR_UNSPEC = 0x0
CTRL_ATTR_FAMILY_ID = 0x1
CTRL_ATTR_FAMILY_NAME = 0x2
@@ -873,12 +881,19 @@ const (
CTRL_ATTR_MAXATTR = 0x5
CTRL_ATTR_OPS = 0x6
CTRL_ATTR_MCAST_GROUPS = 0x7
+ CTRL_ATTR_POLICY = 0x8
+ CTRL_ATTR_OP_POLICY = 0x9
+ CTRL_ATTR_OP = 0xa
CTRL_ATTR_OP_UNSPEC = 0x0
CTRL_ATTR_OP_ID = 0x1
CTRL_ATTR_OP_FLAGS = 0x2
CTRL_ATTR_MCAST_GRP_UNSPEC = 0x0
CTRL_ATTR_MCAST_GRP_NAME = 0x1
CTRL_ATTR_MCAST_GRP_ID = 0x2
+ CTRL_ATTR_POLICY_UNSPEC = 0x0
+ CTRL_ATTR_POLICY_DO = 0x1
+ CTRL_ATTR_POLICY_DUMP = 0x2
+ CTRL_ATTR_POLICY_DUMP_MAX = 0x2
)
const (
@@ -1134,7 +1149,8 @@ const (
PERF_RECORD_BPF_EVENT = 0x12
PERF_RECORD_CGROUP = 0x13
PERF_RECORD_TEXT_POKE = 0x14
- PERF_RECORD_MAX = 0x15
+ PERF_RECORD_AUX_OUTPUT_HW_ID = 0x15
+ PERF_RECORD_MAX = 0x16
PERF_RECORD_KSYMBOL_TYPE_UNKNOWN = 0x0
PERF_RECORD_KSYMBOL_TYPE_BPF = 0x1
PERF_RECORD_KSYMBOL_TYPE_OOL = 0x2
@@ -1774,7 +1790,8 @@ const (
const (
NF_NETDEV_INGRESS = 0x0
- NF_NETDEV_NUMHOOKS = 0x1
+ NF_NETDEV_EGRESS = 0x1
+ NF_NETDEV_NUMHOOKS = 0x2
)
const (
@@ -3156,7 +3173,13 @@ const (
DEVLINK_ATTR_RELOAD_ACTION_INFO = 0xa2
DEVLINK_ATTR_RELOAD_ACTION_STATS = 0xa3
DEVLINK_ATTR_PORT_PCI_SF_NUMBER = 0xa4
- DEVLINK_ATTR_MAX = 0xa9
+ DEVLINK_ATTR_RATE_TYPE = 0xa5
+ DEVLINK_ATTR_RATE_TX_SHARE = 0xa6
+ DEVLINK_ATTR_RATE_TX_MAX = 0xa7
+ DEVLINK_ATTR_RATE_NODE_NAME = 0xa8
+ DEVLINK_ATTR_RATE_PARENT_NODE_NAME = 0xa9
+ DEVLINK_ATTR_REGION_MAX_SNAPSHOTS = 0xaa
+ DEVLINK_ATTR_MAX = 0xaa
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_NONE = 0x0
DEVLINK_DPIPE_FIELD_MAPPING_TYPE_IFINDEX = 0x1
DEVLINK_DPIPE_MATCH_TYPE_FIELD_EXACT = 0x0
@@ -3264,7 +3287,8 @@ const (
LWTUNNEL_ENCAP_BPF = 0x6
LWTUNNEL_ENCAP_SEG6_LOCAL = 0x7
LWTUNNEL_ENCAP_RPL = 0x8
- LWTUNNEL_ENCAP_MAX = 0x8
+ LWTUNNEL_ENCAP_IOAM6 = 0x9
+ LWTUNNEL_ENCAP_MAX = 0x9
MPLS_IPTUNNEL_UNSPEC = 0x0
MPLS_IPTUNNEL_DST = 0x1
@@ -3452,7 +3476,14 @@ const (
ETHTOOL_MSG_CABLE_TEST_ACT = 0x1a
ETHTOOL_MSG_CABLE_TEST_TDR_ACT = 0x1b
ETHTOOL_MSG_TUNNEL_INFO_GET = 0x1c
- ETHTOOL_MSG_USER_MAX = 0x21
+ ETHTOOL_MSG_FEC_GET = 0x1d
+ ETHTOOL_MSG_FEC_SET = 0x1e
+ ETHTOOL_MSG_MODULE_EEPROM_GET = 0x1f
+ ETHTOOL_MSG_STATS_GET = 0x20
+ ETHTOOL_MSG_PHC_VCLOCKS_GET = 0x21
+ ETHTOOL_MSG_MODULE_GET = 0x22
+ ETHTOOL_MSG_MODULE_SET = 0x23
+ ETHTOOL_MSG_USER_MAX = 0x23
ETHTOOL_MSG_KERNEL_NONE = 0x0
ETHTOOL_MSG_STRSET_GET_REPLY = 0x1
ETHTOOL_MSG_LINKINFO_GET_REPLY = 0x2
@@ -3483,7 +3514,14 @@ const (
ETHTOOL_MSG_CABLE_TEST_NTF = 0x1b
ETHTOOL_MSG_CABLE_TEST_TDR_NTF = 0x1c
ETHTOOL_MSG_TUNNEL_INFO_GET_REPLY = 0x1d
- ETHTOOL_MSG_KERNEL_MAX = 0x22
+ ETHTOOL_MSG_FEC_GET_REPLY = 0x1e
+ ETHTOOL_MSG_FEC_NTF = 0x1f
+ ETHTOOL_MSG_MODULE_EEPROM_GET_REPLY = 0x20
+ ETHTOOL_MSG_STATS_GET_REPLY = 0x21
+ ETHTOOL_MSG_PHC_VCLOCKS_GET_REPLY = 0x22
+ ETHTOOL_MSG_MODULE_GET_REPLY = 0x23
+ ETHTOOL_MSG_MODULE_NTF = 0x24
+ ETHTOOL_MSG_KERNEL_MAX = 0x24
ETHTOOL_A_HEADER_UNSPEC = 0x0
ETHTOOL_A_HEADER_DEV_INDEX = 0x1
ETHTOOL_A_HEADER_DEV_NAME = 0x2
@@ -3617,7 +3655,9 @@ const (
ETHTOOL_A_COALESCE_TX_USECS_HIGH = 0x15
ETHTOOL_A_COALESCE_TX_MAX_FRAMES_HIGH = 0x16
ETHTOOL_A_COALESCE_RATE_SAMPLE_INTERVAL = 0x17
- ETHTOOL_A_COALESCE_MAX = 0x17
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_TX = 0x18
+ ETHTOOL_A_COALESCE_USE_CQE_MODE_RX = 0x19
+ ETHTOOL_A_COALESCE_MAX = 0x19
ETHTOOL_A_PAUSE_UNSPEC = 0x0
ETHTOOL_A_PAUSE_HEADER = 0x1
ETHTOOL_A_PAUSE_AUTONEG = 0x2
@@ -3731,6 +3771,8 @@ const (
ETHTOOL_A_TUNNEL_INFO_MAX = 0x2
)
+const SPEED_UNKNOWN = -0x1
+
type EthtoolDrvinfo struct {
Cmd uint32
Driver [32]byte
@@ -3936,3 +3978,1557 @@ type LandlockPathBeneathAttr struct {
const (
LANDLOCK_RULE_PATH_BENEATH = 0x1
)
+
+const (
+ IPC_CREAT = 0x200
+ IPC_EXCL = 0x400
+ IPC_NOWAIT = 0x800
+ IPC_PRIVATE = 0x0
+
+ ipc_64 = 0x100
+)
+
+const (
+ IPC_RMID = 0x0
+ IPC_SET = 0x1
+ IPC_STAT = 0x2
+)
+
+const (
+ SHM_RDONLY = 0x1000
+ SHM_RND = 0x2000
+)
+
+type MountAttr struct {
+ Attr_set uint64
+ Attr_clr uint64
+ Propagation uint64
+ Userns_fd uint64
+}
+
+const (
+ WG_CMD_GET_DEVICE = 0x0
+ WG_CMD_SET_DEVICE = 0x1
+ WGDEVICE_F_REPLACE_PEERS = 0x1
+ WGDEVICE_A_UNSPEC = 0x0
+ WGDEVICE_A_IFINDEX = 0x1
+ WGDEVICE_A_IFNAME = 0x2
+ WGDEVICE_A_PRIVATE_KEY = 0x3
+ WGDEVICE_A_PUBLIC_KEY = 0x4
+ WGDEVICE_A_FLAGS = 0x5
+ WGDEVICE_A_LISTEN_PORT = 0x6
+ WGDEVICE_A_FWMARK = 0x7
+ WGDEVICE_A_PEERS = 0x8
+ WGPEER_F_REMOVE_ME = 0x1
+ WGPEER_F_REPLACE_ALLOWEDIPS = 0x2
+ WGPEER_F_UPDATE_ONLY = 0x4
+ WGPEER_A_UNSPEC = 0x0
+ WGPEER_A_PUBLIC_KEY = 0x1
+ WGPEER_A_PRESHARED_KEY = 0x2
+ WGPEER_A_FLAGS = 0x3
+ WGPEER_A_ENDPOINT = 0x4
+ WGPEER_A_PERSISTENT_KEEPALIVE_INTERVAL = 0x5
+ WGPEER_A_LAST_HANDSHAKE_TIME = 0x6
+ WGPEER_A_RX_BYTES = 0x7
+ WGPEER_A_TX_BYTES = 0x8
+ WGPEER_A_ALLOWEDIPS = 0x9
+ WGPEER_A_PROTOCOL_VERSION = 0xa
+ WGALLOWEDIP_A_UNSPEC = 0x0
+ WGALLOWEDIP_A_FAMILY = 0x1
+ WGALLOWEDIP_A_IPADDR = 0x2
+ WGALLOWEDIP_A_CIDR_MASK = 0x3
+)
+
+const (
+ NL_ATTR_TYPE_INVALID = 0x0
+ NL_ATTR_TYPE_FLAG = 0x1
+ NL_ATTR_TYPE_U8 = 0x2
+ NL_ATTR_TYPE_U16 = 0x3
+ NL_ATTR_TYPE_U32 = 0x4
+ NL_ATTR_TYPE_U64 = 0x5
+ NL_ATTR_TYPE_S8 = 0x6
+ NL_ATTR_TYPE_S16 = 0x7
+ NL_ATTR_TYPE_S32 = 0x8
+ NL_ATTR_TYPE_S64 = 0x9
+ NL_ATTR_TYPE_BINARY = 0xa
+ NL_ATTR_TYPE_STRING = 0xb
+ NL_ATTR_TYPE_NUL_STRING = 0xc
+ NL_ATTR_TYPE_NESTED = 0xd
+ NL_ATTR_TYPE_NESTED_ARRAY = 0xe
+ NL_ATTR_TYPE_BITFIELD32 = 0xf
+
+ NL_POLICY_TYPE_ATTR_UNSPEC = 0x0
+ NL_POLICY_TYPE_ATTR_TYPE = 0x1
+ NL_POLICY_TYPE_ATTR_MIN_VALUE_S = 0x2
+ NL_POLICY_TYPE_ATTR_MAX_VALUE_S = 0x3
+ NL_POLICY_TYPE_ATTR_MIN_VALUE_U = 0x4
+ NL_POLICY_TYPE_ATTR_MAX_VALUE_U = 0x5
+ NL_POLICY_TYPE_ATTR_MIN_LENGTH = 0x6
+ NL_POLICY_TYPE_ATTR_MAX_LENGTH = 0x7
+ NL_POLICY_TYPE_ATTR_POLICY_IDX = 0x8
+ NL_POLICY_TYPE_ATTR_POLICY_MAXTYPE = 0x9
+ NL_POLICY_TYPE_ATTR_BITFIELD32_MASK = 0xa
+ NL_POLICY_TYPE_ATTR_PAD = 0xb
+ NL_POLICY_TYPE_ATTR_MASK = 0xc
+ NL_POLICY_TYPE_ATTR_MAX = 0xc
+)
+
+type CANBitTiming struct {
+ Bitrate uint32
+ Sample_point uint32
+ Tq uint32
+ Prop_seg uint32
+ Phase_seg1 uint32
+ Phase_seg2 uint32
+ Sjw uint32
+ Brp uint32
+}
+
+type CANBitTimingConst struct {
+ Name [16]uint8
+ Tseg1_min uint32
+ Tseg1_max uint32
+ Tseg2_min uint32
+ Tseg2_max uint32
+ Sjw_max uint32
+ Brp_min uint32
+ Brp_max uint32
+ Brp_inc uint32
+}
+
+type CANClock struct {
+ Freq uint32
+}
+
+type CANBusErrorCounters struct {
+ Txerr uint16
+ Rxerr uint16
+}
+
+type CANCtrlMode struct {
+ Mask uint32
+ Flags uint32
+}
+
+type CANDeviceStats struct {
+ Bus_error uint32
+ Error_warning uint32
+ Error_passive uint32
+ Bus_off uint32
+ Arbitration_lost uint32
+ Restarts uint32
+}
+
+const (
+ CAN_STATE_ERROR_ACTIVE = 0x0
+ CAN_STATE_ERROR_WARNING = 0x1
+ CAN_STATE_ERROR_PASSIVE = 0x2
+ CAN_STATE_BUS_OFF = 0x3
+ CAN_STATE_STOPPED = 0x4
+ CAN_STATE_SLEEPING = 0x5
+ CAN_STATE_MAX = 0x6
+)
+
+const (
+ IFLA_CAN_UNSPEC = 0x0
+ IFLA_CAN_BITTIMING = 0x1
+ IFLA_CAN_BITTIMING_CONST = 0x2
+ IFLA_CAN_CLOCK = 0x3
+ IFLA_CAN_STATE = 0x4
+ IFLA_CAN_CTRLMODE = 0x5
+ IFLA_CAN_RESTART_MS = 0x6
+ IFLA_CAN_RESTART = 0x7
+ IFLA_CAN_BERR_COUNTER = 0x8
+ IFLA_CAN_DATA_BITTIMING = 0x9
+ IFLA_CAN_DATA_BITTIMING_CONST = 0xa
+ IFLA_CAN_TERMINATION = 0xb
+ IFLA_CAN_TERMINATION_CONST = 0xc
+ IFLA_CAN_BITRATE_CONST = 0xd
+ IFLA_CAN_DATA_BITRATE_CONST = 0xe
+ IFLA_CAN_BITRATE_MAX = 0xf
+)
+
+type KCMAttach struct {
+ Fd int32
+ Bpf_fd int32
+}
+
+type KCMUnattach struct {
+ Fd int32
+}
+
+type KCMClone struct {
+ Fd int32
+}
+
+const (
+ NL80211_AC_BE = 0x2
+ NL80211_AC_BK = 0x3
+ NL80211_ACL_POLICY_ACCEPT_UNLESS_LISTED = 0x0
+ NL80211_ACL_POLICY_DENY_UNLESS_LISTED = 0x1
+ NL80211_AC_VI = 0x1
+ NL80211_AC_VO = 0x0
+ NL80211_ATTR_4ADDR = 0x53
+ NL80211_ATTR_ACK = 0x5c
+ NL80211_ATTR_ACK_SIGNAL = 0x107
+ NL80211_ATTR_ACL_POLICY = 0xa5
+ NL80211_ATTR_ADMITTED_TIME = 0xd4
+ NL80211_ATTR_AIRTIME_WEIGHT = 0x112
+ NL80211_ATTR_AKM_SUITES = 0x4c
+ NL80211_ATTR_AP_ISOLATE = 0x60
+ NL80211_ATTR_AUTH_DATA = 0x9c
+ NL80211_ATTR_AUTH_TYPE = 0x35
+ NL80211_ATTR_BANDS = 0xef
+ NL80211_ATTR_BEACON_HEAD = 0xe
+ NL80211_ATTR_BEACON_INTERVAL = 0xc
+ NL80211_ATTR_BEACON_TAIL = 0xf
+ NL80211_ATTR_BG_SCAN_PERIOD = 0x98
+ NL80211_ATTR_BSS_BASIC_RATES = 0x24
+ NL80211_ATTR_BSS = 0x2f
+ NL80211_ATTR_BSS_CTS_PROT = 0x1c
+ NL80211_ATTR_BSS_HT_OPMODE = 0x6d
+ NL80211_ATTR_BSSID = 0xf5
+ NL80211_ATTR_BSS_SELECT = 0xe3
+ NL80211_ATTR_BSS_SHORT_PREAMBLE = 0x1d
+ NL80211_ATTR_BSS_SHORT_SLOT_TIME = 0x1e
+ NL80211_ATTR_CENTER_FREQ1 = 0xa0
+ NL80211_ATTR_CENTER_FREQ1_OFFSET = 0x123
+ NL80211_ATTR_CENTER_FREQ2 = 0xa1
+ NL80211_ATTR_CHANNEL_WIDTH = 0x9f
+ NL80211_ATTR_CH_SWITCH_BLOCK_TX = 0xb8
+ NL80211_ATTR_CH_SWITCH_COUNT = 0xb7
+ NL80211_ATTR_CIPHER_SUITE_GROUP = 0x4a
+ NL80211_ATTR_CIPHER_SUITES = 0x39
+ NL80211_ATTR_CIPHER_SUITES_PAIRWISE = 0x49
+ NL80211_ATTR_CNTDWN_OFFS_BEACON = 0xba
+ NL80211_ATTR_CNTDWN_OFFS_PRESP = 0xbb
+ NL80211_ATTR_COALESCE_RULE = 0xb6
+ NL80211_ATTR_COALESCE_RULE_CONDITION = 0x2
+ NL80211_ATTR_COALESCE_RULE_DELAY = 0x1
+ NL80211_ATTR_COALESCE_RULE_MAX = 0x3
+ NL80211_ATTR_COALESCE_RULE_PKT_PATTERN = 0x3
+ NL80211_ATTR_CONN_FAILED_REASON = 0x9b
+ NL80211_ATTR_CONTROL_PORT = 0x44
+ NL80211_ATTR_CONTROL_PORT_ETHERTYPE = 0x66
+ NL80211_ATTR_CONTROL_PORT_NO_ENCRYPT = 0x67
+ NL80211_ATTR_CONTROL_PORT_NO_PREAUTH = 0x11e
+ NL80211_ATTR_CONTROL_PORT_OVER_NL80211 = 0x108
+ NL80211_ATTR_COOKIE = 0x58
+ NL80211_ATTR_CQM_BEACON_LOSS_EVENT = 0x8
+ NL80211_ATTR_CQM = 0x5e
+ NL80211_ATTR_CQM_MAX = 0x9
+ NL80211_ATTR_CQM_PKT_LOSS_EVENT = 0x4
+ NL80211_ATTR_CQM_RSSI_HYST = 0x2
+ NL80211_ATTR_CQM_RSSI_LEVEL = 0x9
+ NL80211_ATTR_CQM_RSSI_THOLD = 0x1
+ NL80211_ATTR_CQM_RSSI_THRESHOLD_EVENT = 0x3
+ NL80211_ATTR_CQM_TXE_INTVL = 0x7
+ NL80211_ATTR_CQM_TXE_PKTS = 0x6
+ NL80211_ATTR_CQM_TXE_RATE = 0x5
+ NL80211_ATTR_CRIT_PROT_ID = 0xb3
+ NL80211_ATTR_CSA_C_OFF_BEACON = 0xba
+ NL80211_ATTR_CSA_C_OFF_PRESP = 0xbb
+ NL80211_ATTR_CSA_C_OFFSETS_TX = 0xcd
+ NL80211_ATTR_CSA_IES = 0xb9
+ NL80211_ATTR_DEVICE_AP_SME = 0x8d
+ NL80211_ATTR_DFS_CAC_TIME = 0x7
+ NL80211_ATTR_DFS_REGION = 0x92
+ NL80211_ATTR_DISABLE_HE = 0x12d
+ NL80211_ATTR_DISABLE_HT = 0x93
+ NL80211_ATTR_DISABLE_VHT = 0xaf
+ NL80211_ATTR_DISCONNECTED_BY_AP = 0x47
+ NL80211_ATTR_DONT_WAIT_FOR_ACK = 0x8e
+ NL80211_ATTR_DTIM_PERIOD = 0xd
+ NL80211_ATTR_DURATION = 0x57
+ NL80211_ATTR_EXT_CAPA = 0xa9
+ NL80211_ATTR_EXT_CAPA_MASK = 0xaa
+ NL80211_ATTR_EXTERNAL_AUTH_ACTION = 0x104
+ NL80211_ATTR_EXTERNAL_AUTH_SUPPORT = 0x105
+ NL80211_ATTR_EXT_FEATURES = 0xd9
+ NL80211_ATTR_FEATURE_FLAGS = 0x8f
+ NL80211_ATTR_FILS_CACHE_ID = 0xfd
+ NL80211_ATTR_FILS_DISCOVERY = 0x126
+ NL80211_ATTR_FILS_ERP_NEXT_SEQ_NUM = 0xfb
+ NL80211_ATTR_FILS_ERP_REALM = 0xfa
+ NL80211_ATTR_FILS_ERP_RRK = 0xfc
+ NL80211_ATTR_FILS_ERP_USERNAME = 0xf9
+ NL80211_ATTR_FILS_KEK = 0xf2
+ NL80211_ATTR_FILS_NONCES = 0xf3
+ NL80211_ATTR_FRAME = 0x33
+ NL80211_ATTR_FRAME_MATCH = 0x5b
+ NL80211_ATTR_FRAME_TYPE = 0x65
+ NL80211_ATTR_FREQ_AFTER = 0x3b
+ NL80211_ATTR_FREQ_BEFORE = 0x3a
+ NL80211_ATTR_FREQ_FIXED = 0x3c
+ NL80211_ATTR_FREQ_RANGE_END = 0x3
+ NL80211_ATTR_FREQ_RANGE_MAX_BW = 0x4
+ NL80211_ATTR_FREQ_RANGE_START = 0x2
+ NL80211_ATTR_FTM_RESPONDER = 0x10e
+ NL80211_ATTR_FTM_RESPONDER_STATS = 0x10f
+ NL80211_ATTR_GENERATION = 0x2e
+ NL80211_ATTR_HANDLE_DFS = 0xbf
+ NL80211_ATTR_HE_6GHZ_CAPABILITY = 0x125
+ NL80211_ATTR_HE_BSS_COLOR = 0x11b
+ NL80211_ATTR_HE_CAPABILITY = 0x10d
+ NL80211_ATTR_HE_OBSS_PD = 0x117
+ NL80211_ATTR_HIDDEN_SSID = 0x7e
+ NL80211_ATTR_HT_CAPABILITY = 0x1f
+ NL80211_ATTR_HT_CAPABILITY_MASK = 0x94
+ NL80211_ATTR_IE_ASSOC_RESP = 0x80
+ NL80211_ATTR_IE = 0x2a
+ NL80211_ATTR_IE_PROBE_RESP = 0x7f
+ NL80211_ATTR_IE_RIC = 0xb2
+ NL80211_ATTR_IFACE_SOCKET_OWNER = 0xcc
+ NL80211_ATTR_IFINDEX = 0x3
+ NL80211_ATTR_IFNAME = 0x4
+ NL80211_ATTR_IFTYPE_AKM_SUITES = 0x11c
+ NL80211_ATTR_IFTYPE = 0x5
+ NL80211_ATTR_IFTYPE_EXT_CAPA = 0xe6
+ NL80211_ATTR_INACTIVITY_TIMEOUT = 0x96
+ NL80211_ATTR_INTERFACE_COMBINATIONS = 0x78
+ NL80211_ATTR_KEY_CIPHER = 0x9
+ NL80211_ATTR_KEY = 0x50
+ NL80211_ATTR_KEY_DATA = 0x7
+ NL80211_ATTR_KEY_DEFAULT = 0xb
+ NL80211_ATTR_KEY_DEFAULT_MGMT = 0x28
+ NL80211_ATTR_KEY_DEFAULT_TYPES = 0x6e
+ NL80211_ATTR_KEY_IDX = 0x8
+ NL80211_ATTR_KEYS = 0x51
+ NL80211_ATTR_KEY_SEQ = 0xa
+ NL80211_ATTR_KEY_TYPE = 0x37
+ NL80211_ATTR_LOCAL_MESH_POWER_MODE = 0xa4
+ NL80211_ATTR_LOCAL_STATE_CHANGE = 0x5f
+ NL80211_ATTR_MAC_ACL_MAX = 0xa7
+ NL80211_ATTR_MAC_ADDRS = 0xa6
+ NL80211_ATTR_MAC = 0x6
+ NL80211_ATTR_MAC_HINT = 0xc8
+ NL80211_ATTR_MAC_MASK = 0xd7
+ NL80211_ATTR_MAX_AP_ASSOC_STA = 0xca
+ NL80211_ATTR_MAX = 0x133
+ NL80211_ATTR_MAX_CRIT_PROT_DURATION = 0xb4
+ NL80211_ATTR_MAX_CSA_COUNTERS = 0xce
+ NL80211_ATTR_MAX_MATCH_SETS = 0x85
+ NL80211_ATTR_MAX_NUM_PMKIDS = 0x56
+ NL80211_ATTR_MAX_NUM_SCAN_SSIDS = 0x2b
+ NL80211_ATTR_MAX_NUM_SCHED_SCAN_PLANS = 0xde
+ NL80211_ATTR_MAX_NUM_SCHED_SCAN_SSIDS = 0x7b
+ NL80211_ATTR_MAX_REMAIN_ON_CHANNEL_DURATION = 0x6f
+ NL80211_ATTR_MAX_SCAN_IE_LEN = 0x38
+ NL80211_ATTR_MAX_SCAN_PLAN_INTERVAL = 0xdf
+ NL80211_ATTR_MAX_SCAN_PLAN_ITERATIONS = 0xe0
+ NL80211_ATTR_MAX_SCHED_SCAN_IE_LEN = 0x7c
+ NL80211_ATTR_MCAST_RATE = 0x6b
+ NL80211_ATTR_MDID = 0xb1
+ NL80211_ATTR_MEASUREMENT_DURATION = 0xeb
+ NL80211_ATTR_MEASUREMENT_DURATION_MANDATORY = 0xec
+ NL80211_ATTR_MESH_CONFIG = 0x23
+ NL80211_ATTR_MESH_ID = 0x18
+ NL80211_ATTR_MESH_PEER_AID = 0xed
+ NL80211_ATTR_MESH_SETUP = 0x70
+ NL80211_ATTR_MGMT_SUBTYPE = 0x29
+ NL80211_ATTR_MNTR_FLAGS = 0x17
+ NL80211_ATTR_MPATH_INFO = 0x1b
+ NL80211_ATTR_MPATH_NEXT_HOP = 0x1a
+ NL80211_ATTR_MULTICAST_TO_UNICAST_ENABLED = 0xf4
+ NL80211_ATTR_MU_MIMO_FOLLOW_MAC_ADDR = 0xe8
+ NL80211_ATTR_MU_MIMO_GROUP_DATA = 0xe7
+ NL80211_ATTR_NAN_FUNC = 0xf0
+ NL80211_ATTR_NAN_MASTER_PREF = 0xee
+ NL80211_ATTR_NAN_MATCH = 0xf1
+ NL80211_ATTR_NETNS_FD = 0xdb
+ NL80211_ATTR_NOACK_MAP = 0x95
+ NL80211_ATTR_NSS = 0x106
+ NL80211_ATTR_OFFCHANNEL_TX_OK = 0x6c
+ NL80211_ATTR_OPER_CLASS = 0xd6
+ NL80211_ATTR_OPMODE_NOTIF = 0xc2
+ NL80211_ATTR_P2P_CTWINDOW = 0xa2
+ NL80211_ATTR_P2P_OPPPS = 0xa3
+ NL80211_ATTR_PAD = 0xe5
+ NL80211_ATTR_PBSS = 0xe2
+ NL80211_ATTR_PEER_AID = 0xb5
+ NL80211_ATTR_PEER_MEASUREMENTS = 0x111
+ NL80211_ATTR_PID = 0x52
+ NL80211_ATTR_PMK = 0xfe
+ NL80211_ATTR_PMKID = 0x55
+ NL80211_ATTR_PMK_LIFETIME = 0x11f
+ NL80211_ATTR_PMKR0_NAME = 0x102
+ NL80211_ATTR_PMK_REAUTH_THRESHOLD = 0x120
+ NL80211_ATTR_PMKSA_CANDIDATE = 0x86
+ NL80211_ATTR_PORT_AUTHORIZED = 0x103
+ NL80211_ATTR_POWER_RULE_MAX_ANT_GAIN = 0x5
+ NL80211_ATTR_POWER_RULE_MAX_EIRP = 0x6
+ NL80211_ATTR_PREV_BSSID = 0x4f
+ NL80211_ATTR_PRIVACY = 0x46
+ NL80211_ATTR_PROBE_RESP = 0x91
+ NL80211_ATTR_PROBE_RESP_OFFLOAD = 0x90
+ NL80211_ATTR_PROTOCOL_FEATURES = 0xad
+ NL80211_ATTR_PS_STATE = 0x5d
+ NL80211_ATTR_QOS_MAP = 0xc7
+ NL80211_ATTR_RADAR_EVENT = 0xa8
+ NL80211_ATTR_REASON_CODE = 0x36
+ NL80211_ATTR_RECEIVE_MULTICAST = 0x121
+ NL80211_ATTR_RECONNECT_REQUESTED = 0x12b
+ NL80211_ATTR_REG_ALPHA2 = 0x21
+ NL80211_ATTR_REG_INDOOR = 0xdd
+ NL80211_ATTR_REG_INITIATOR = 0x30
+ NL80211_ATTR_REG_RULE_FLAGS = 0x1
+ NL80211_ATTR_REG_RULES = 0x22
+ NL80211_ATTR_REG_TYPE = 0x31
+ NL80211_ATTR_REKEY_DATA = 0x7a
+ NL80211_ATTR_REQ_IE = 0x4d
+ NL80211_ATTR_RESP_IE = 0x4e
+ NL80211_ATTR_ROAM_SUPPORT = 0x83
+ NL80211_ATTR_RX_FRAME_TYPES = 0x64
+ NL80211_ATTR_RXMGMT_FLAGS = 0xbc
+ NL80211_ATTR_RX_SIGNAL_DBM = 0x97
+ NL80211_ATTR_S1G_CAPABILITY = 0x128
+ NL80211_ATTR_S1G_CAPABILITY_MASK = 0x129
+ NL80211_ATTR_SAE_DATA = 0x9c
+ NL80211_ATTR_SAE_PASSWORD = 0x115
+ NL80211_ATTR_SAE_PWE = 0x12a
+ NL80211_ATTR_SAR_SPEC = 0x12c
+ NL80211_ATTR_SCAN_FLAGS = 0x9e
+ NL80211_ATTR_SCAN_FREQ_KHZ = 0x124
+ NL80211_ATTR_SCAN_FREQUENCIES = 0x2c
+ NL80211_ATTR_SCAN_GENERATION = 0x2e
+ NL80211_ATTR_SCAN_SSIDS = 0x2d
+ NL80211_ATTR_SCAN_START_TIME_TSF_BSSID = 0xea
+ NL80211_ATTR_SCAN_START_TIME_TSF = 0xe9
+ NL80211_ATTR_SCAN_SUPP_RATES = 0x7d
+ NL80211_ATTR_SCHED_SCAN_DELAY = 0xdc
+ NL80211_ATTR_SCHED_SCAN_INTERVAL = 0x77
+ NL80211_ATTR_SCHED_SCAN_MATCH = 0x84
+ NL80211_ATTR_SCHED_SCAN_MATCH_SSID = 0x1
+ NL80211_ATTR_SCHED_SCAN_MAX_REQS = 0x100
+ NL80211_ATTR_SCHED_SCAN_MULTI = 0xff
+ NL80211_ATTR_SCHED_SCAN_PLANS = 0xe1
+ NL80211_ATTR_SCHED_SCAN_RELATIVE_RSSI = 0xf6
+ NL80211_ATTR_SCHED_SCAN_RSSI_ADJUST = 0xf7
+ NL80211_ATTR_SMPS_MODE = 0xd5
+ NL80211_ATTR_SOCKET_OWNER = 0xcc
+ NL80211_ATTR_SOFTWARE_IFTYPES = 0x79
+ NL80211_ATTR_SPLIT_WIPHY_DUMP = 0xae
+ NL80211_ATTR_SSID = 0x34
+ NL80211_ATTR_STA_AID = 0x10
+ NL80211_ATTR_STA_CAPABILITY = 0xab
+ NL80211_ATTR_STA_EXT_CAPABILITY = 0xac
+ NL80211_ATTR_STA_FLAGS2 = 0x43
+ NL80211_ATTR_STA_FLAGS = 0x11
+ NL80211_ATTR_STA_INFO = 0x15
+ NL80211_ATTR_STA_LISTEN_INTERVAL = 0x12
+ NL80211_ATTR_STA_PLINK_ACTION = 0x19
+ NL80211_ATTR_STA_PLINK_STATE = 0x74
+ NL80211_ATTR_STA_SUPPORTED_CHANNELS = 0xbd
+ NL80211_ATTR_STA_SUPPORTED_OPER_CLASSES = 0xbe
+ NL80211_ATTR_STA_SUPPORTED_RATES = 0x13
+ NL80211_ATTR_STA_SUPPORT_P2P_PS = 0xe4
+ NL80211_ATTR_STATUS_CODE = 0x48
+ NL80211_ATTR_STA_TX_POWER = 0x114
+ NL80211_ATTR_STA_TX_POWER_SETTING = 0x113
+ NL80211_ATTR_STA_VLAN = 0x14
+ NL80211_ATTR_STA_WME = 0x81
+ NL80211_ATTR_SUPPORT_10_MHZ = 0xc1
+ NL80211_ATTR_SUPPORT_5_MHZ = 0xc0
+ NL80211_ATTR_SUPPORT_AP_UAPSD = 0x82
+ NL80211_ATTR_SUPPORTED_COMMANDS = 0x32
+ NL80211_ATTR_SUPPORTED_IFTYPES = 0x20
+ NL80211_ATTR_SUPPORT_IBSS_RSN = 0x68
+ NL80211_ATTR_SUPPORT_MESH_AUTH = 0x73
+ NL80211_ATTR_SURVEY_INFO = 0x54
+ NL80211_ATTR_SURVEY_RADIO_STATS = 0xda
+ NL80211_ATTR_TDLS_ACTION = 0x88
+ NL80211_ATTR_TDLS_DIALOG_TOKEN = 0x89
+ NL80211_ATTR_TDLS_EXTERNAL_SETUP = 0x8c
+ NL80211_ATTR_TDLS_INITIATOR = 0xcf
+ NL80211_ATTR_TDLS_OPERATION = 0x8a
+ NL80211_ATTR_TDLS_PEER_CAPABILITY = 0xcb
+ NL80211_ATTR_TDLS_SUPPORT = 0x8b
+ NL80211_ATTR_TESTDATA = 0x45
+ NL80211_ATTR_TID_CONFIG = 0x11d
+ NL80211_ATTR_TIMED_OUT = 0x41
+ NL80211_ATTR_TIMEOUT = 0x110
+ NL80211_ATTR_TIMEOUT_REASON = 0xf8
+ NL80211_ATTR_TSID = 0xd2
+ NL80211_ATTR_TWT_RESPONDER = 0x116
+ NL80211_ATTR_TX_FRAME_TYPES = 0x63
+ NL80211_ATTR_TX_NO_CCK_RATE = 0x87
+ NL80211_ATTR_TXQ_LIMIT = 0x10a
+ NL80211_ATTR_TXQ_MEMORY_LIMIT = 0x10b
+ NL80211_ATTR_TXQ_QUANTUM = 0x10c
+ NL80211_ATTR_TXQ_STATS = 0x109
+ NL80211_ATTR_TX_RATES = 0x5a
+ NL80211_ATTR_UNSOL_BCAST_PROBE_RESP = 0x127
+ NL80211_ATTR_UNSPEC = 0x0
+ NL80211_ATTR_USE_MFP = 0x42
+ NL80211_ATTR_USER_PRIO = 0xd3
+ NL80211_ATTR_USER_REG_HINT_TYPE = 0x9a
+ NL80211_ATTR_USE_RRM = 0xd0
+ NL80211_ATTR_VENDOR_DATA = 0xc5
+ NL80211_ATTR_VENDOR_EVENTS = 0xc6
+ NL80211_ATTR_VENDOR_ID = 0xc3
+ NL80211_ATTR_VENDOR_SUBCMD = 0xc4
+ NL80211_ATTR_VHT_CAPABILITY = 0x9d
+ NL80211_ATTR_VHT_CAPABILITY_MASK = 0xb0
+ NL80211_ATTR_VLAN_ID = 0x11a
+ NL80211_ATTR_WANT_1X_4WAY_HS = 0x101
+ NL80211_ATTR_WDEV = 0x99
+ NL80211_ATTR_WIPHY_ANTENNA_AVAIL_RX = 0x72
+ NL80211_ATTR_WIPHY_ANTENNA_AVAIL_TX = 0x71
+ NL80211_ATTR_WIPHY_ANTENNA_RX = 0x6a
+ NL80211_ATTR_WIPHY_ANTENNA_TX = 0x69
+ NL80211_ATTR_WIPHY_BANDS = 0x16
+ NL80211_ATTR_WIPHY_CHANNEL_TYPE = 0x27
+ NL80211_ATTR_WIPHY = 0x1
+ NL80211_ATTR_WIPHY_COVERAGE_CLASS = 0x59
+ NL80211_ATTR_WIPHY_DYN_ACK = 0xd1
+ NL80211_ATTR_WIPHY_EDMG_BW_CONFIG = 0x119
+ NL80211_ATTR_WIPHY_EDMG_CHANNELS = 0x118
+ NL80211_ATTR_WIPHY_FRAG_THRESHOLD = 0x3f
+ NL80211_ATTR_WIPHY_FREQ = 0x26
+ NL80211_ATTR_WIPHY_FREQ_HINT = 0xc9
+ NL80211_ATTR_WIPHY_FREQ_OFFSET = 0x122
+ NL80211_ATTR_WIPHY_NAME = 0x2
+ NL80211_ATTR_WIPHY_RETRY_LONG = 0x3e
+ NL80211_ATTR_WIPHY_RETRY_SHORT = 0x3d
+ NL80211_ATTR_WIPHY_RTS_THRESHOLD = 0x40
+ NL80211_ATTR_WIPHY_SELF_MANAGED_REG = 0xd8
+ NL80211_ATTR_WIPHY_TX_POWER_LEVEL = 0x62
+ NL80211_ATTR_WIPHY_TX_POWER_SETTING = 0x61
+ NL80211_ATTR_WIPHY_TXQ_PARAMS = 0x25
+ NL80211_ATTR_WOWLAN_TRIGGERS = 0x75
+ NL80211_ATTR_WOWLAN_TRIGGERS_SUPPORTED = 0x76
+ NL80211_ATTR_WPA_VERSIONS = 0x4b
+ NL80211_AUTHTYPE_AUTOMATIC = 0x8
+ NL80211_AUTHTYPE_FILS_PK = 0x7
+ NL80211_AUTHTYPE_FILS_SK = 0x5
+ NL80211_AUTHTYPE_FILS_SK_PFS = 0x6
+ NL80211_AUTHTYPE_FT = 0x2
+ NL80211_AUTHTYPE_MAX = 0x7
+ NL80211_AUTHTYPE_NETWORK_EAP = 0x3
+ NL80211_AUTHTYPE_OPEN_SYSTEM = 0x0
+ NL80211_AUTHTYPE_SAE = 0x4
+ NL80211_AUTHTYPE_SHARED_KEY = 0x1
+ NL80211_BAND_2GHZ = 0x0
+ NL80211_BAND_5GHZ = 0x1
+ NL80211_BAND_60GHZ = 0x2
+ NL80211_BAND_6GHZ = 0x3
+ NL80211_BAND_ATTR_EDMG_BW_CONFIG = 0xb
+ NL80211_BAND_ATTR_EDMG_CHANNELS = 0xa
+ NL80211_BAND_ATTR_FREQS = 0x1
+ NL80211_BAND_ATTR_HT_AMPDU_DENSITY = 0x6
+ NL80211_BAND_ATTR_HT_AMPDU_FACTOR = 0x5
+ NL80211_BAND_ATTR_HT_CAPA = 0x4
+ NL80211_BAND_ATTR_HT_MCS_SET = 0x3
+ NL80211_BAND_ATTR_IFTYPE_DATA = 0x9
+ NL80211_BAND_ATTR_MAX = 0xb
+ NL80211_BAND_ATTR_RATES = 0x2
+ NL80211_BAND_ATTR_VHT_CAPA = 0x8
+ NL80211_BAND_ATTR_VHT_MCS_SET = 0x7
+ NL80211_BAND_IFTYPE_ATTR_HE_6GHZ_CAPA = 0x6
+ NL80211_BAND_IFTYPE_ATTR_HE_CAP_MAC = 0x2
+ NL80211_BAND_IFTYPE_ATTR_HE_CAP_MCS_SET = 0x4
+ NL80211_BAND_IFTYPE_ATTR_HE_CAP_PHY = 0x3
+ NL80211_BAND_IFTYPE_ATTR_HE_CAP_PPE = 0x5
+ NL80211_BAND_IFTYPE_ATTR_IFTYPES = 0x1
+ NL80211_BAND_IFTYPE_ATTR_MAX = 0x7
+ NL80211_BAND_S1GHZ = 0x4
+ NL80211_BITRATE_ATTR_2GHZ_SHORTPREAMBLE = 0x2
+ NL80211_BITRATE_ATTR_MAX = 0x2
+ NL80211_BITRATE_ATTR_RATE = 0x1
+ NL80211_BSS_BEACON_IES = 0xb
+ NL80211_BSS_BEACON_INTERVAL = 0x4
+ NL80211_BSS_BEACON_TSF = 0xd
+ NL80211_BSS_BSSID = 0x1
+ NL80211_BSS_CAPABILITY = 0x5
+ NL80211_BSS_CHAIN_SIGNAL = 0x13
+ NL80211_BSS_CHAN_WIDTH_10 = 0x1
+ NL80211_BSS_CHAN_WIDTH_1 = 0x3
+ NL80211_BSS_CHAN_WIDTH_20 = 0x0
+ NL80211_BSS_CHAN_WIDTH_2 = 0x4
+ NL80211_BSS_CHAN_WIDTH_5 = 0x2
+ NL80211_BSS_CHAN_WIDTH = 0xc
+ NL80211_BSS_FREQUENCY = 0x2
+ NL80211_BSS_FREQUENCY_OFFSET = 0x14
+ NL80211_BSS_INFORMATION_ELEMENTS = 0x6
+ NL80211_BSS_LAST_SEEN_BOOTTIME = 0xf
+ NL80211_BSS_MAX = 0x14
+ NL80211_BSS_PAD = 0x10
+ NL80211_BSS_PARENT_BSSID = 0x12
+ NL80211_BSS_PARENT_TSF = 0x11
+ NL80211_BSS_PRESP_DATA = 0xe
+ NL80211_BSS_SEEN_MS_AGO = 0xa
+ NL80211_BSS_SELECT_ATTR_BAND_PREF = 0x2
+ NL80211_BSS_SELECT_ATTR_MAX = 0x3
+ NL80211_BSS_SELECT_ATTR_RSSI_ADJUST = 0x3
+ NL80211_BSS_SELECT_ATTR_RSSI = 0x1
+ NL80211_BSS_SIGNAL_MBM = 0x7
+ NL80211_BSS_SIGNAL_UNSPEC = 0x8
+ NL80211_BSS_STATUS_ASSOCIATED = 0x1
+ NL80211_BSS_STATUS_AUTHENTICATED = 0x0
+ NL80211_BSS_STATUS = 0x9
+ NL80211_BSS_STATUS_IBSS_JOINED = 0x2
+ NL80211_BSS_TSF = 0x3
+ NL80211_CHAN_HT20 = 0x1
+ NL80211_CHAN_HT40MINUS = 0x2
+ NL80211_CHAN_HT40PLUS = 0x3
+ NL80211_CHAN_NO_HT = 0x0
+ NL80211_CHAN_WIDTH_10 = 0x7
+ NL80211_CHAN_WIDTH_160 = 0x5
+ NL80211_CHAN_WIDTH_16 = 0xc
+ NL80211_CHAN_WIDTH_1 = 0x8
+ NL80211_CHAN_WIDTH_20 = 0x1
+ NL80211_CHAN_WIDTH_20_NOHT = 0x0
+ NL80211_CHAN_WIDTH_2 = 0x9
+ NL80211_CHAN_WIDTH_40 = 0x2
+ NL80211_CHAN_WIDTH_4 = 0xa
+ NL80211_CHAN_WIDTH_5 = 0x6
+ NL80211_CHAN_WIDTH_80 = 0x3
+ NL80211_CHAN_WIDTH_80P80 = 0x4
+ NL80211_CHAN_WIDTH_8 = 0xb
+ NL80211_CMD_ABORT_SCAN = 0x72
+ NL80211_CMD_ACTION = 0x3b
+ NL80211_CMD_ACTION_TX_STATUS = 0x3c
+ NL80211_CMD_ADD_NAN_FUNCTION = 0x75
+ NL80211_CMD_ADD_TX_TS = 0x69
+ NL80211_CMD_ASSOCIATE = 0x26
+ NL80211_CMD_AUTHENTICATE = 0x25
+ NL80211_CMD_CANCEL_REMAIN_ON_CHANNEL = 0x38
+ NL80211_CMD_CHANGE_NAN_CONFIG = 0x77
+ NL80211_CMD_CHANNEL_SWITCH = 0x66
+ NL80211_CMD_CH_SWITCH_NOTIFY = 0x58
+ NL80211_CMD_CH_SWITCH_STARTED_NOTIFY = 0x6e
+ NL80211_CMD_CONNECT = 0x2e
+ NL80211_CMD_CONN_FAILED = 0x5b
+ NL80211_CMD_CONTROL_PORT_FRAME = 0x81
+ NL80211_CMD_CONTROL_PORT_FRAME_TX_STATUS = 0x8b
+ NL80211_CMD_CRIT_PROTOCOL_START = 0x62
+ NL80211_CMD_CRIT_PROTOCOL_STOP = 0x63
+ NL80211_CMD_DEAUTHENTICATE = 0x27
+ NL80211_CMD_DEL_BEACON = 0x10
+ NL80211_CMD_DEL_INTERFACE = 0x8
+ NL80211_CMD_DEL_KEY = 0xc
+ NL80211_CMD_DEL_MPATH = 0x18
+ NL80211_CMD_DEL_NAN_FUNCTION = 0x76
+ NL80211_CMD_DEL_PMK = 0x7c
+ NL80211_CMD_DEL_PMKSA = 0x35
+ NL80211_CMD_DEL_STATION = 0x14
+ NL80211_CMD_DEL_TX_TS = 0x6a
+ NL80211_CMD_DEL_WIPHY = 0x4
+ NL80211_CMD_DISASSOCIATE = 0x28
+ NL80211_CMD_DISCONNECT = 0x30
+ NL80211_CMD_EXTERNAL_AUTH = 0x7f
+ NL80211_CMD_FLUSH_PMKSA = 0x36
+ NL80211_CMD_FRAME = 0x3b
+ NL80211_CMD_FRAME_TX_STATUS = 0x3c
+ NL80211_CMD_FRAME_WAIT_CANCEL = 0x43
+ NL80211_CMD_FT_EVENT = 0x61
+ NL80211_CMD_GET_BEACON = 0xd
+ NL80211_CMD_GET_COALESCE = 0x64
+ NL80211_CMD_GET_FTM_RESPONDER_STATS = 0x82
+ NL80211_CMD_GET_INTERFACE = 0x5
+ NL80211_CMD_GET_KEY = 0x9
+ NL80211_CMD_GET_MESH_CONFIG = 0x1c
+ NL80211_CMD_GET_MESH_PARAMS = 0x1c
+ NL80211_CMD_GET_MPATH = 0x15
+ NL80211_CMD_GET_MPP = 0x6b
+ NL80211_CMD_GET_POWER_SAVE = 0x3e
+ NL80211_CMD_GET_PROTOCOL_FEATURES = 0x5f
+ NL80211_CMD_GET_REG = 0x1f
+ NL80211_CMD_GET_SCAN = 0x20
+ NL80211_CMD_GET_STATION = 0x11
+ NL80211_CMD_GET_SURVEY = 0x32
+ NL80211_CMD_GET_WIPHY = 0x1
+ NL80211_CMD_GET_WOWLAN = 0x49
+ NL80211_CMD_JOIN_IBSS = 0x2b
+ NL80211_CMD_JOIN_MESH = 0x44
+ NL80211_CMD_JOIN_OCB = 0x6c
+ NL80211_CMD_LEAVE_IBSS = 0x2c
+ NL80211_CMD_LEAVE_MESH = 0x45
+ NL80211_CMD_LEAVE_OCB = 0x6d
+ NL80211_CMD_MAX = 0x92
+ NL80211_CMD_MICHAEL_MIC_FAILURE = 0x29
+ NL80211_CMD_NAN_MATCH = 0x78
+ NL80211_CMD_NEW_BEACON = 0xf
+ NL80211_CMD_NEW_INTERFACE = 0x7
+ NL80211_CMD_NEW_KEY = 0xb
+ NL80211_CMD_NEW_MPATH = 0x17
+ NL80211_CMD_NEW_PEER_CANDIDATE = 0x48
+ NL80211_CMD_NEW_SCAN_RESULTS = 0x22
+ NL80211_CMD_NEW_STATION = 0x13
+ NL80211_CMD_NEW_SURVEY_RESULTS = 0x33
+ NL80211_CMD_NEW_WIPHY = 0x3
+ NL80211_CMD_NOTIFY_CQM = 0x40
+ NL80211_CMD_NOTIFY_RADAR = 0x86
+ NL80211_CMD_PEER_MEASUREMENT_COMPLETE = 0x85
+ NL80211_CMD_PEER_MEASUREMENT_RESULT = 0x84
+ NL80211_CMD_PEER_MEASUREMENT_START = 0x83
+ NL80211_CMD_PMKSA_CANDIDATE = 0x50
+ NL80211_CMD_PORT_AUTHORIZED = 0x7d
+ NL80211_CMD_PROBE_CLIENT = 0x54
+ NL80211_CMD_PROBE_MESH_LINK = 0x88
+ NL80211_CMD_RADAR_DETECT = 0x5e
+ NL80211_CMD_REG_BEACON_HINT = 0x2a
+ NL80211_CMD_REG_CHANGE = 0x24
+ NL80211_CMD_REGISTER_ACTION = 0x3a
+ NL80211_CMD_REGISTER_BEACONS = 0x55
+ NL80211_CMD_REGISTER_FRAME = 0x3a
+ NL80211_CMD_RELOAD_REGDB = 0x7e
+ NL80211_CMD_REMAIN_ON_CHANNEL = 0x37
+ NL80211_CMD_REQ_SET_REG = 0x1b
+ NL80211_CMD_ROAM = 0x2f
+ NL80211_CMD_SCAN_ABORTED = 0x23
+ NL80211_CMD_SCHED_SCAN_RESULTS = 0x4d
+ NL80211_CMD_SCHED_SCAN_STOPPED = 0x4e
+ NL80211_CMD_SET_BEACON = 0xe
+ NL80211_CMD_SET_BSS = 0x19
+ NL80211_CMD_SET_CHANNEL = 0x41
+ NL80211_CMD_SET_COALESCE = 0x65
+ NL80211_CMD_SET_CQM = 0x3f
+ NL80211_CMD_SET_INTERFACE = 0x6
+ NL80211_CMD_SET_KEY = 0xa
+ NL80211_CMD_SET_MAC_ACL = 0x5d
+ NL80211_CMD_SET_MCAST_RATE = 0x5c
+ NL80211_CMD_SET_MESH_CONFIG = 0x1d
+ NL80211_CMD_SET_MESH_PARAMS = 0x1d
+ NL80211_CMD_SET_MGMT_EXTRA_IE = 0x1e
+ NL80211_CMD_SET_MPATH = 0x16
+ NL80211_CMD_SET_MULTICAST_TO_UNICAST = 0x79
+ NL80211_CMD_SET_NOACK_MAP = 0x57
+ NL80211_CMD_SET_PMK = 0x7b
+ NL80211_CMD_SET_PMKSA = 0x34
+ NL80211_CMD_SET_POWER_SAVE = 0x3d
+ NL80211_CMD_SET_QOS_MAP = 0x68
+ NL80211_CMD_SET_REG = 0x1a
+ NL80211_CMD_SET_REKEY_OFFLOAD = 0x4f
+ NL80211_CMD_SET_SAR_SPECS = 0x8c
+ NL80211_CMD_SET_STATION = 0x12
+ NL80211_CMD_SET_TID_CONFIG = 0x89
+ NL80211_CMD_SET_TX_BITRATE_MASK = 0x39
+ NL80211_CMD_SET_WDS_PEER = 0x42
+ NL80211_CMD_SET_WIPHY = 0x2
+ NL80211_CMD_SET_WIPHY_NETNS = 0x31
+ NL80211_CMD_SET_WOWLAN = 0x4a
+ NL80211_CMD_STA_OPMODE_CHANGED = 0x80
+ NL80211_CMD_START_AP = 0xf
+ NL80211_CMD_START_NAN = 0x73
+ NL80211_CMD_START_P2P_DEVICE = 0x59
+ NL80211_CMD_START_SCHED_SCAN = 0x4b
+ NL80211_CMD_STOP_AP = 0x10
+ NL80211_CMD_STOP_NAN = 0x74
+ NL80211_CMD_STOP_P2P_DEVICE = 0x5a
+ NL80211_CMD_STOP_SCHED_SCAN = 0x4c
+ NL80211_CMD_TDLS_CANCEL_CHANNEL_SWITCH = 0x70
+ NL80211_CMD_TDLS_CHANNEL_SWITCH = 0x6f
+ NL80211_CMD_TDLS_MGMT = 0x52
+ NL80211_CMD_TDLS_OPER = 0x51
+ NL80211_CMD_TESTMODE = 0x2d
+ NL80211_CMD_TRIGGER_SCAN = 0x21
+ NL80211_CMD_UNEXPECTED_4ADDR_FRAME = 0x56
+ NL80211_CMD_UNEXPECTED_FRAME = 0x53
+ NL80211_CMD_UNPROT_BEACON = 0x8a
+ NL80211_CMD_UNPROT_DEAUTHENTICATE = 0x46
+ NL80211_CMD_UNPROT_DISASSOCIATE = 0x47
+ NL80211_CMD_UNSPEC = 0x0
+ NL80211_CMD_UPDATE_CONNECT_PARAMS = 0x7a
+ NL80211_CMD_UPDATE_FT_IES = 0x60
+ NL80211_CMD_UPDATE_OWE_INFO = 0x87
+ NL80211_CMD_VENDOR = 0x67
+ NL80211_CMD_WIPHY_REG_CHANGE = 0x71
+ NL80211_COALESCE_CONDITION_MATCH = 0x0
+ NL80211_COALESCE_CONDITION_NO_MATCH = 0x1
+ NL80211_CONN_FAIL_BLOCKED_CLIENT = 0x1
+ NL80211_CONN_FAIL_MAX_CLIENTS = 0x0
+ NL80211_CQM_RSSI_BEACON_LOSS_EVENT = 0x2
+ NL80211_CQM_RSSI_THRESHOLD_EVENT_HIGH = 0x1
+ NL80211_CQM_RSSI_THRESHOLD_EVENT_LOW = 0x0
+ NL80211_CQM_TXE_MAX_INTVL = 0x708
+ NL80211_CRIT_PROTO_APIPA = 0x3
+ NL80211_CRIT_PROTO_DHCP = 0x1
+ NL80211_CRIT_PROTO_EAPOL = 0x2
+ NL80211_CRIT_PROTO_MAX_DURATION = 0x1388
+ NL80211_CRIT_PROTO_UNSPEC = 0x0
+ NL80211_DFS_AVAILABLE = 0x2
+ NL80211_DFS_ETSI = 0x2
+ NL80211_DFS_FCC = 0x1
+ NL80211_DFS_JP = 0x3
+ NL80211_DFS_UNAVAILABLE = 0x1
+ NL80211_DFS_UNSET = 0x0
+ NL80211_DFS_USABLE = 0x0
+ NL80211_EDMG_BW_CONFIG_MAX = 0xf
+ NL80211_EDMG_BW_CONFIG_MIN = 0x4
+ NL80211_EDMG_CHANNELS_MAX = 0x3c
+ NL80211_EDMG_CHANNELS_MIN = 0x1
+ NL80211_EXTERNAL_AUTH_ABORT = 0x1
+ NL80211_EXTERNAL_AUTH_START = 0x0
+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_AP_PSK = 0x32
+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_1X = 0x10
+ NL80211_EXT_FEATURE_4WAY_HANDSHAKE_STA_PSK = 0xf
+ NL80211_EXT_FEATURE_ACCEPT_BCAST_PROBE_RESP = 0x12
+ NL80211_EXT_FEATURE_ACK_SIGNAL_SUPPORT = 0x1b
+ NL80211_EXT_FEATURE_AIRTIME_FAIRNESS = 0x21
+ NL80211_EXT_FEATURE_AP_PMKSA_CACHING = 0x22
+ NL80211_EXT_FEATURE_AQL = 0x28
+ NL80211_EXT_FEATURE_BEACON_PROTECTION_CLIENT = 0x2e
+ NL80211_EXT_FEATURE_BEACON_PROTECTION = 0x29
+ NL80211_EXT_FEATURE_BEACON_RATE_HE = 0x36
+ NL80211_EXT_FEATURE_BEACON_RATE_HT = 0x7
+ NL80211_EXT_FEATURE_BEACON_RATE_LEGACY = 0x6
+ NL80211_EXT_FEATURE_BEACON_RATE_VHT = 0x8
+ NL80211_EXT_FEATURE_BSS_PARENT_TSF = 0x4
+ NL80211_EXT_FEATURE_CAN_REPLACE_PTK0 = 0x1f
+ NL80211_EXT_FEATURE_CONTROL_PORT_NO_PREAUTH = 0x2a
+ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211 = 0x1a
+ NL80211_EXT_FEATURE_CONTROL_PORT_OVER_NL80211_TX_STATUS = 0x30
+ NL80211_EXT_FEATURE_CQM_RSSI_LIST = 0xd
+ NL80211_EXT_FEATURE_DATA_ACK_SIGNAL_SUPPORT = 0x1b
+ NL80211_EXT_FEATURE_DEL_IBSS_STA = 0x2c
+ NL80211_EXT_FEATURE_DFS_OFFLOAD = 0x19
+ NL80211_EXT_FEATURE_ENABLE_FTM_RESPONDER = 0x20
+ NL80211_EXT_FEATURE_EXT_KEY_ID = 0x24
+ NL80211_EXT_FEATURE_FILS_DISCOVERY = 0x34
+ NL80211_EXT_FEATURE_FILS_MAX_CHANNEL_TIME = 0x11
+ NL80211_EXT_FEATURE_FILS_SK_OFFLOAD = 0xe
+ NL80211_EXT_FEATURE_FILS_STA = 0x9
+ NL80211_EXT_FEATURE_HIGH_ACCURACY_SCAN = 0x18
+ NL80211_EXT_FEATURE_LOW_POWER_SCAN = 0x17
+ NL80211_EXT_FEATURE_LOW_SPAN_SCAN = 0x16
+ NL80211_EXT_FEATURE_MFP_OPTIONAL = 0x15
+ NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA = 0xa
+ NL80211_EXT_FEATURE_MGMT_TX_RANDOM_TA_CONNECTED = 0xb
+ NL80211_EXT_FEATURE_MULTICAST_REGISTRATIONS = 0x2d
+ NL80211_EXT_FEATURE_MU_MIMO_AIR_SNIFFER = 0x2
+ NL80211_EXT_FEATURE_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x14
+ NL80211_EXT_FEATURE_OCE_PROBE_REQ_HIGH_TX_RATE = 0x13
+ NL80211_EXT_FEATURE_OPERATING_CHANNEL_VALIDATION = 0x31
+ NL80211_EXT_FEATURE_PROTECTED_TWT = 0x2b
+ NL80211_EXT_FEATURE_PROT_RANGE_NEGO_AND_MEASURE = 0x39
+ NL80211_EXT_FEATURE_RRM = 0x1
+ NL80211_EXT_FEATURE_SAE_OFFLOAD_AP = 0x33
+ NL80211_EXT_FEATURE_SAE_OFFLOAD = 0x26
+ NL80211_EXT_FEATURE_SCAN_FREQ_KHZ = 0x2f
+ NL80211_EXT_FEATURE_SCAN_MIN_PREQ_CONTENT = 0x1e
+ NL80211_EXT_FEATURE_SCAN_RANDOM_SN = 0x1d
+ NL80211_EXT_FEATURE_SCAN_START_TIME = 0x3
+ NL80211_EXT_FEATURE_SCHED_SCAN_BAND_SPECIFIC_RSSI_THOLD = 0x23
+ NL80211_EXT_FEATURE_SCHED_SCAN_RELATIVE_RSSI = 0xc
+ NL80211_EXT_FEATURE_SECURE_LTF = 0x37
+ NL80211_EXT_FEATURE_SECURE_RTT = 0x38
+ NL80211_EXT_FEATURE_SET_SCAN_DWELL = 0x5
+ NL80211_EXT_FEATURE_STA_TX_PWR = 0x25
+ NL80211_EXT_FEATURE_TXQS = 0x1c
+ NL80211_EXT_FEATURE_UNSOL_BCAST_PROBE_RESP = 0x35
+ NL80211_EXT_FEATURE_VHT_IBSS = 0x0
+ NL80211_EXT_FEATURE_VLAN_OFFLOAD = 0x27
+ NL80211_FEATURE_ACKTO_ESTIMATION = 0x800000
+ NL80211_FEATURE_ACTIVE_MONITOR = 0x20000
+ NL80211_FEATURE_ADVERTISE_CHAN_LIMITS = 0x4000
+ NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 0x40000
+ NL80211_FEATURE_AP_SCAN = 0x100
+ NL80211_FEATURE_CELL_BASE_REG_HINTS = 0x8
+ NL80211_FEATURE_DS_PARAM_SET_IE_IN_PROBES = 0x80000
+ NL80211_FEATURE_DYNAMIC_SMPS = 0x2000000
+ NL80211_FEATURE_FULL_AP_CLIENT_STATE = 0x8000
+ NL80211_FEATURE_HT_IBSS = 0x2
+ NL80211_FEATURE_INACTIVITY_TIMER = 0x4
+ NL80211_FEATURE_LOW_PRIORITY_SCAN = 0x40
+ NL80211_FEATURE_MAC_ON_CREATE = 0x8000000
+ NL80211_FEATURE_ND_RANDOM_MAC_ADDR = 0x80000000
+ NL80211_FEATURE_NEED_OBSS_SCAN = 0x400
+ NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 0x10
+ NL80211_FEATURE_P2P_GO_CTWIN = 0x800
+ NL80211_FEATURE_P2P_GO_OPPPS = 0x1000
+ NL80211_FEATURE_QUIET = 0x200000
+ NL80211_FEATURE_SAE = 0x20
+ NL80211_FEATURE_SCAN_FLUSH = 0x80
+ NL80211_FEATURE_SCAN_RANDOM_MAC_ADDR = 0x20000000
+ NL80211_FEATURE_SCHED_SCAN_RANDOM_MAC_ADDR = 0x40000000
+ NL80211_FEATURE_SK_TX_STATUS = 0x1
+ NL80211_FEATURE_STATIC_SMPS = 0x1000000
+ NL80211_FEATURE_SUPPORTS_WMM_ADMISSION = 0x4000000
+ NL80211_FEATURE_TDLS_CHANNEL_SWITCH = 0x10000000
+ NL80211_FEATURE_TX_POWER_INSERTION = 0x400000
+ NL80211_FEATURE_USERSPACE_MPM = 0x10000
+ NL80211_FEATURE_VIF_TXPOWER = 0x200
+ NL80211_FEATURE_WFA_TPC_IE_IN_PROBES = 0x100000
+ NL80211_FILS_DISCOVERY_ATTR_INT_MAX = 0x2
+ NL80211_FILS_DISCOVERY_ATTR_INT_MIN = 0x1
+ NL80211_FILS_DISCOVERY_ATTR_MAX = 0x3
+ NL80211_FILS_DISCOVERY_ATTR_TMPL = 0x3
+ NL80211_FILS_DISCOVERY_TMPL_MIN_LEN = 0x2a
+ NL80211_FREQUENCY_ATTR_16MHZ = 0x19
+ NL80211_FREQUENCY_ATTR_1MHZ = 0x15
+ NL80211_FREQUENCY_ATTR_2MHZ = 0x16
+ NL80211_FREQUENCY_ATTR_4MHZ = 0x17
+ NL80211_FREQUENCY_ATTR_8MHZ = 0x18
+ NL80211_FREQUENCY_ATTR_DFS_CAC_TIME = 0xd
+ NL80211_FREQUENCY_ATTR_DFS_STATE = 0x7
+ NL80211_FREQUENCY_ATTR_DFS_TIME = 0x8
+ NL80211_FREQUENCY_ATTR_DISABLED = 0x2
+ NL80211_FREQUENCY_ATTR_FREQ = 0x1
+ NL80211_FREQUENCY_ATTR_GO_CONCURRENT = 0xf
+ NL80211_FREQUENCY_ATTR_INDOOR_ONLY = 0xe
+ NL80211_FREQUENCY_ATTR_IR_CONCURRENT = 0xf
+ NL80211_FREQUENCY_ATTR_MAX = 0x19
+ NL80211_FREQUENCY_ATTR_MAX_TX_POWER = 0x6
+ NL80211_FREQUENCY_ATTR_NO_10MHZ = 0x11
+ NL80211_FREQUENCY_ATTR_NO_160MHZ = 0xc
+ NL80211_FREQUENCY_ATTR_NO_20MHZ = 0x10
+ NL80211_FREQUENCY_ATTR_NO_80MHZ = 0xb
+ NL80211_FREQUENCY_ATTR_NO_HE = 0x13
+ NL80211_FREQUENCY_ATTR_NO_HT40_MINUS = 0x9
+ NL80211_FREQUENCY_ATTR_NO_HT40_PLUS = 0xa
+ NL80211_FREQUENCY_ATTR_NO_IBSS = 0x3
+ NL80211_FREQUENCY_ATTR_NO_IR = 0x3
+ NL80211_FREQUENCY_ATTR_OFFSET = 0x14
+ NL80211_FREQUENCY_ATTR_PASSIVE_SCAN = 0x3
+ NL80211_FREQUENCY_ATTR_RADAR = 0x5
+ NL80211_FREQUENCY_ATTR_WMM = 0x12
+ NL80211_FTM_RESP_ATTR_CIVICLOC = 0x3
+ NL80211_FTM_RESP_ATTR_ENABLED = 0x1
+ NL80211_FTM_RESP_ATTR_LCI = 0x2
+ NL80211_FTM_RESP_ATTR_MAX = 0x3
+ NL80211_FTM_STATS_ASAP_NUM = 0x4
+ NL80211_FTM_STATS_FAILED_NUM = 0x3
+ NL80211_FTM_STATS_MAX = 0xa
+ NL80211_FTM_STATS_NON_ASAP_NUM = 0x5
+ NL80211_FTM_STATS_OUT_OF_WINDOW_TRIGGERS_NUM = 0x9
+ NL80211_FTM_STATS_PAD = 0xa
+ NL80211_FTM_STATS_PARTIAL_NUM = 0x2
+ NL80211_FTM_STATS_RESCHEDULE_REQUESTS_NUM = 0x8
+ NL80211_FTM_STATS_SUCCESS_NUM = 0x1
+ NL80211_FTM_STATS_TOTAL_DURATION_MSEC = 0x6
+ NL80211_FTM_STATS_UNKNOWN_TRIGGERS_NUM = 0x7
+ NL80211_GENL_NAME = "nl80211"
+ NL80211_HE_BSS_COLOR_ATTR_COLOR = 0x1
+ NL80211_HE_BSS_COLOR_ATTR_DISABLED = 0x2
+ NL80211_HE_BSS_COLOR_ATTR_MAX = 0x3
+ NL80211_HE_BSS_COLOR_ATTR_PARTIAL = 0x3
+ NL80211_HE_MAX_CAPABILITY_LEN = 0x36
+ NL80211_HE_MIN_CAPABILITY_LEN = 0x10
+ NL80211_HE_NSS_MAX = 0x8
+ NL80211_HE_OBSS_PD_ATTR_BSS_COLOR_BITMAP = 0x4
+ NL80211_HE_OBSS_PD_ATTR_MAX = 0x6
+ NL80211_HE_OBSS_PD_ATTR_MAX_OFFSET = 0x2
+ NL80211_HE_OBSS_PD_ATTR_MIN_OFFSET = 0x1
+ NL80211_HE_OBSS_PD_ATTR_NON_SRG_MAX_OFFSET = 0x3
+ NL80211_HE_OBSS_PD_ATTR_PARTIAL_BSSID_BITMAP = 0x5
+ NL80211_HE_OBSS_PD_ATTR_SR_CTRL = 0x6
+ NL80211_HIDDEN_SSID_NOT_IN_USE = 0x0
+ NL80211_HIDDEN_SSID_ZERO_CONTENTS = 0x2
+ NL80211_HIDDEN_SSID_ZERO_LEN = 0x1
+ NL80211_HT_CAPABILITY_LEN = 0x1a
+ NL80211_IFACE_COMB_BI_MIN_GCD = 0x7
+ NL80211_IFACE_COMB_LIMITS = 0x1
+ NL80211_IFACE_COMB_MAXNUM = 0x2
+ NL80211_IFACE_COMB_NUM_CHANNELS = 0x4
+ NL80211_IFACE_COMB_RADAR_DETECT_REGIONS = 0x6
+ NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS = 0x5
+ NL80211_IFACE_COMB_STA_AP_BI_MATCH = 0x3
+ NL80211_IFACE_COMB_UNSPEC = 0x0
+ NL80211_IFACE_LIMIT_MAX = 0x1
+ NL80211_IFACE_LIMIT_TYPES = 0x2
+ NL80211_IFACE_LIMIT_UNSPEC = 0x0
+ NL80211_IFTYPE_ADHOC = 0x1
+ NL80211_IFTYPE_AKM_ATTR_IFTYPES = 0x1
+ NL80211_IFTYPE_AKM_ATTR_MAX = 0x2
+ NL80211_IFTYPE_AKM_ATTR_SUITES = 0x2
+ NL80211_IFTYPE_AP = 0x3
+ NL80211_IFTYPE_AP_VLAN = 0x4
+ NL80211_IFTYPE_MAX = 0xc
+ NL80211_IFTYPE_MESH_POINT = 0x7
+ NL80211_IFTYPE_MONITOR = 0x6
+ NL80211_IFTYPE_NAN = 0xc
+ NL80211_IFTYPE_OCB = 0xb
+ NL80211_IFTYPE_P2P_CLIENT = 0x8
+ NL80211_IFTYPE_P2P_DEVICE = 0xa
+ NL80211_IFTYPE_P2P_GO = 0x9
+ NL80211_IFTYPE_STATION = 0x2
+ NL80211_IFTYPE_UNSPECIFIED = 0x0
+ NL80211_IFTYPE_WDS = 0x5
+ NL80211_KCK_EXT_LEN = 0x18
+ NL80211_KCK_LEN = 0x10
+ NL80211_KEK_EXT_LEN = 0x20
+ NL80211_KEK_LEN = 0x10
+ NL80211_KEY_CIPHER = 0x3
+ NL80211_KEY_DATA = 0x1
+ NL80211_KEY_DEFAULT_BEACON = 0xa
+ NL80211_KEY_DEFAULT = 0x5
+ NL80211_KEY_DEFAULT_MGMT = 0x6
+ NL80211_KEY_DEFAULT_TYPE_MULTICAST = 0x2
+ NL80211_KEY_DEFAULT_TYPES = 0x8
+ NL80211_KEY_DEFAULT_TYPE_UNICAST = 0x1
+ NL80211_KEY_IDX = 0x2
+ NL80211_KEY_MAX = 0xa
+ NL80211_KEY_MODE = 0x9
+ NL80211_KEY_NO_TX = 0x1
+ NL80211_KEY_RX_TX = 0x0
+ NL80211_KEY_SEQ = 0x4
+ NL80211_KEY_SET_TX = 0x2
+ NL80211_KEY_TYPE = 0x7
+ NL80211_KEYTYPE_GROUP = 0x0
+ NL80211_KEYTYPE_PAIRWISE = 0x1
+ NL80211_KEYTYPE_PEERKEY = 0x2
+ NL80211_MAX_NR_AKM_SUITES = 0x2
+ NL80211_MAX_NR_CIPHER_SUITES = 0x5
+ NL80211_MAX_SUPP_HT_RATES = 0x4d
+ NL80211_MAX_SUPP_RATES = 0x20
+ NL80211_MAX_SUPP_REG_RULES = 0x80
+ NL80211_MESHCONF_ATTR_MAX = 0x1f
+ NL80211_MESHCONF_AUTO_OPEN_PLINKS = 0x7
+ NL80211_MESHCONF_AWAKE_WINDOW = 0x1b
+ NL80211_MESHCONF_CONFIRM_TIMEOUT = 0x2
+ NL80211_MESHCONF_CONNECTED_TO_AS = 0x1f
+ NL80211_MESHCONF_CONNECTED_TO_GATE = 0x1d
+ NL80211_MESHCONF_ELEMENT_TTL = 0xf
+ NL80211_MESHCONF_FORWARDING = 0x13
+ NL80211_MESHCONF_GATE_ANNOUNCEMENTS = 0x11
+ NL80211_MESHCONF_HOLDING_TIMEOUT = 0x3
+ NL80211_MESHCONF_HT_OPMODE = 0x16
+ NL80211_MESHCONF_HWMP_ACTIVE_PATH_TIMEOUT = 0xb
+ NL80211_MESHCONF_HWMP_CONFIRMATION_INTERVAL = 0x19
+ NL80211_MESHCONF_HWMP_MAX_PREQ_RETRIES = 0x8
+ NL80211_MESHCONF_HWMP_NET_DIAM_TRVS_TIME = 0xd
+ NL80211_MESHCONF_HWMP_PATH_TO_ROOT_TIMEOUT = 0x17
+ NL80211_MESHCONF_HWMP_PERR_MIN_INTERVAL = 0x12
+ NL80211_MESHCONF_HWMP_PREQ_MIN_INTERVAL = 0xc
+ NL80211_MESHCONF_HWMP_RANN_INTERVAL = 0x10
+ NL80211_MESHCONF_HWMP_ROOT_INTERVAL = 0x18
+ NL80211_MESHCONF_HWMP_ROOTMODE = 0xe
+ NL80211_MESHCONF_MAX_PEER_LINKS = 0x4
+ NL80211_MESHCONF_MAX_RETRIES = 0x5
+ NL80211_MESHCONF_MIN_DISCOVERY_TIMEOUT = 0xa
+ NL80211_MESHCONF_NOLEARN = 0x1e
+ NL80211_MESHCONF_PATH_REFRESH_TIME = 0x9
+ NL80211_MESHCONF_PLINK_TIMEOUT = 0x1c
+ NL80211_MESHCONF_POWER_MODE = 0x1a
+ NL80211_MESHCONF_RETRY_TIMEOUT = 0x1
+ NL80211_MESHCONF_RSSI_THRESHOLD = 0x14
+ NL80211_MESHCONF_SYNC_OFFSET_MAX_NEIGHBOR = 0x15
+ NL80211_MESHCONF_TTL = 0x6
+ NL80211_MESH_POWER_ACTIVE = 0x1
+ NL80211_MESH_POWER_DEEP_SLEEP = 0x3
+ NL80211_MESH_POWER_LIGHT_SLEEP = 0x2
+ NL80211_MESH_POWER_MAX = 0x3
+ NL80211_MESH_POWER_UNKNOWN = 0x0
+ NL80211_MESH_SETUP_ATTR_MAX = 0x8
+ NL80211_MESH_SETUP_AUTH_PROTOCOL = 0x8
+ NL80211_MESH_SETUP_ENABLE_VENDOR_METRIC = 0x2
+ NL80211_MESH_SETUP_ENABLE_VENDOR_PATH_SEL = 0x1
+ NL80211_MESH_SETUP_ENABLE_VENDOR_SYNC = 0x6
+ NL80211_MESH_SETUP_IE = 0x3
+ NL80211_MESH_SETUP_USERSPACE_AMPE = 0x5
+ NL80211_MESH_SETUP_USERSPACE_AUTH = 0x4
+ NL80211_MESH_SETUP_USERSPACE_MPM = 0x7
+ NL80211_MESH_SETUP_VENDOR_PATH_SEL_IE = 0x3
+ NL80211_MFP_NO = 0x0
+ NL80211_MFP_OPTIONAL = 0x2
+ NL80211_MFP_REQUIRED = 0x1
+ NL80211_MIN_REMAIN_ON_CHANNEL_TIME = 0xa
+ NL80211_MNTR_FLAG_ACTIVE = 0x6
+ NL80211_MNTR_FLAG_CONTROL = 0x3
+ NL80211_MNTR_FLAG_COOK_FRAMES = 0x5
+ NL80211_MNTR_FLAG_FCSFAIL = 0x1
+ NL80211_MNTR_FLAG_MAX = 0x6
+ NL80211_MNTR_FLAG_OTHER_BSS = 0x4
+ NL80211_MNTR_FLAG_PLCPFAIL = 0x2
+ NL80211_MPATH_FLAG_ACTIVE = 0x1
+ NL80211_MPATH_FLAG_FIXED = 0x8
+ NL80211_MPATH_FLAG_RESOLVED = 0x10
+ NL80211_MPATH_FLAG_RESOLVING = 0x2
+ NL80211_MPATH_FLAG_SN_VALID = 0x4
+ NL80211_MPATH_INFO_DISCOVERY_RETRIES = 0x7
+ NL80211_MPATH_INFO_DISCOVERY_TIMEOUT = 0x6
+ NL80211_MPATH_INFO_EXPTIME = 0x4
+ NL80211_MPATH_INFO_FLAGS = 0x5
+ NL80211_MPATH_INFO_FRAME_QLEN = 0x1
+ NL80211_MPATH_INFO_HOP_COUNT = 0x8
+ NL80211_MPATH_INFO_MAX = 0x9
+ NL80211_MPATH_INFO_METRIC = 0x3
+ NL80211_MPATH_INFO_PATH_CHANGE = 0x9
+ NL80211_MPATH_INFO_SN = 0x2
+ NL80211_MULTICAST_GROUP_CONFIG = "config"
+ NL80211_MULTICAST_GROUP_MLME = "mlme"
+ NL80211_MULTICAST_GROUP_NAN = "nan"
+ NL80211_MULTICAST_GROUP_REG = "regulatory"
+ NL80211_MULTICAST_GROUP_SCAN = "scan"
+ NL80211_MULTICAST_GROUP_TESTMODE = "testmode"
+ NL80211_MULTICAST_GROUP_VENDOR = "vendor"
+ NL80211_NAN_FUNC_ATTR_MAX = 0x10
+ NL80211_NAN_FUNC_CLOSE_RANGE = 0x9
+ NL80211_NAN_FUNC_FOLLOW_UP = 0x2
+ NL80211_NAN_FUNC_FOLLOW_UP_DEST = 0x8
+ NL80211_NAN_FUNC_FOLLOW_UP_ID = 0x6
+ NL80211_NAN_FUNC_FOLLOW_UP_REQ_ID = 0x7
+ NL80211_NAN_FUNC_INSTANCE_ID = 0xf
+ NL80211_NAN_FUNC_MAX_TYPE = 0x2
+ NL80211_NAN_FUNC_PUBLISH_BCAST = 0x4
+ NL80211_NAN_FUNC_PUBLISH = 0x0
+ NL80211_NAN_FUNC_PUBLISH_TYPE = 0x3
+ NL80211_NAN_FUNC_RX_MATCH_FILTER = 0xd
+ NL80211_NAN_FUNC_SERVICE_ID = 0x2
+ NL80211_NAN_FUNC_SERVICE_ID_LEN = 0x6
+ NL80211_NAN_FUNC_SERVICE_INFO = 0xb
+ NL80211_NAN_FUNC_SERVICE_SPEC_INFO_MAX_LEN = 0xff
+ NL80211_NAN_FUNC_SRF = 0xc
+ NL80211_NAN_FUNC_SRF_MAX_LEN = 0xff
+ NL80211_NAN_FUNC_SUBSCRIBE_ACTIVE = 0x5
+ NL80211_NAN_FUNC_SUBSCRIBE = 0x1
+ NL80211_NAN_FUNC_TERM_REASON = 0x10
+ NL80211_NAN_FUNC_TERM_REASON_ERROR = 0x2
+ NL80211_NAN_FUNC_TERM_REASON_TTL_EXPIRED = 0x1
+ NL80211_NAN_FUNC_TERM_REASON_USER_REQUEST = 0x0
+ NL80211_NAN_FUNC_TTL = 0xa
+ NL80211_NAN_FUNC_TX_MATCH_FILTER = 0xe
+ NL80211_NAN_FUNC_TYPE = 0x1
+ NL80211_NAN_MATCH_ATTR_MAX = 0x2
+ NL80211_NAN_MATCH_FUNC_LOCAL = 0x1
+ NL80211_NAN_MATCH_FUNC_PEER = 0x2
+ NL80211_NAN_SOLICITED_PUBLISH = 0x1
+ NL80211_NAN_SRF_ATTR_MAX = 0x4
+ NL80211_NAN_SRF_BF = 0x2
+ NL80211_NAN_SRF_BF_IDX = 0x3
+ NL80211_NAN_SRF_INCLUDE = 0x1
+ NL80211_NAN_SRF_MAC_ADDRS = 0x4
+ NL80211_NAN_UNSOLICITED_PUBLISH = 0x2
+ NL80211_NUM_ACS = 0x4
+ NL80211_P2P_PS_SUPPORTED = 0x1
+ NL80211_P2P_PS_UNSUPPORTED = 0x0
+ NL80211_PKTPAT_MASK = 0x1
+ NL80211_PKTPAT_OFFSET = 0x3
+ NL80211_PKTPAT_PATTERN = 0x2
+ NL80211_PLINK_ACTION_BLOCK = 0x2
+ NL80211_PLINK_ACTION_NO_ACTION = 0x0
+ NL80211_PLINK_ACTION_OPEN = 0x1
+ NL80211_PLINK_BLOCKED = 0x6
+ NL80211_PLINK_CNF_RCVD = 0x3
+ NL80211_PLINK_ESTAB = 0x4
+ NL80211_PLINK_HOLDING = 0x5
+ NL80211_PLINK_LISTEN = 0x0
+ NL80211_PLINK_OPN_RCVD = 0x2
+ NL80211_PLINK_OPN_SNT = 0x1
+ NL80211_PMKSA_CANDIDATE_BSSID = 0x2
+ NL80211_PMKSA_CANDIDATE_INDEX = 0x1
+ NL80211_PMKSA_CANDIDATE_PREAUTH = 0x3
+ NL80211_PMSR_ATTR_MAX = 0x5
+ NL80211_PMSR_ATTR_MAX_PEERS = 0x1
+ NL80211_PMSR_ATTR_PEERS = 0x5
+ NL80211_PMSR_ATTR_RANDOMIZE_MAC_ADDR = 0x3
+ NL80211_PMSR_ATTR_REPORT_AP_TSF = 0x2
+ NL80211_PMSR_ATTR_TYPE_CAPA = 0x4
+ NL80211_PMSR_FTM_CAPA_ATTR_ASAP = 0x1
+ NL80211_PMSR_FTM_CAPA_ATTR_BANDWIDTHS = 0x6
+ NL80211_PMSR_FTM_CAPA_ATTR_MAX_BURSTS_EXPONENT = 0x7
+ NL80211_PMSR_FTM_CAPA_ATTR_MAX = 0xa
+ NL80211_PMSR_FTM_CAPA_ATTR_MAX_FTMS_PER_BURST = 0x8
+ NL80211_PMSR_FTM_CAPA_ATTR_NON_ASAP = 0x2
+ NL80211_PMSR_FTM_CAPA_ATTR_NON_TRIGGER_BASED = 0xa
+ NL80211_PMSR_FTM_CAPA_ATTR_PREAMBLES = 0x5
+ NL80211_PMSR_FTM_CAPA_ATTR_REQ_CIVICLOC = 0x4
+ NL80211_PMSR_FTM_CAPA_ATTR_REQ_LCI = 0x3
+ NL80211_PMSR_FTM_CAPA_ATTR_TRIGGER_BASED = 0x9
+ NL80211_PMSR_FTM_FAILURE_BAD_CHANGED_PARAMS = 0x7
+ NL80211_PMSR_FTM_FAILURE_INVALID_TIMESTAMP = 0x5
+ NL80211_PMSR_FTM_FAILURE_NO_RESPONSE = 0x1
+ NL80211_PMSR_FTM_FAILURE_PEER_BUSY = 0x6
+ NL80211_PMSR_FTM_FAILURE_PEER_NOT_CAPABLE = 0x4
+ NL80211_PMSR_FTM_FAILURE_REJECTED = 0x2
+ NL80211_PMSR_FTM_FAILURE_UNSPECIFIED = 0x0
+ NL80211_PMSR_FTM_FAILURE_WRONG_CHANNEL = 0x3
+ NL80211_PMSR_FTM_REQ_ATTR_ASAP = 0x1
+ NL80211_PMSR_FTM_REQ_ATTR_BURST_DURATION = 0x5
+ NL80211_PMSR_FTM_REQ_ATTR_BURST_PERIOD = 0x4
+ NL80211_PMSR_FTM_REQ_ATTR_FTMS_PER_BURST = 0x6
+ NL80211_PMSR_FTM_REQ_ATTR_LMR_FEEDBACK = 0xc
+ NL80211_PMSR_FTM_REQ_ATTR_MAX = 0xd
+ NL80211_PMSR_FTM_REQ_ATTR_NON_TRIGGER_BASED = 0xb
+ NL80211_PMSR_FTM_REQ_ATTR_NUM_BURSTS_EXP = 0x3
+ NL80211_PMSR_FTM_REQ_ATTR_NUM_FTMR_RETRIES = 0x7
+ NL80211_PMSR_FTM_REQ_ATTR_PREAMBLE = 0x2
+ NL80211_PMSR_FTM_REQ_ATTR_REQUEST_CIVICLOC = 0x9
+ NL80211_PMSR_FTM_REQ_ATTR_REQUEST_LCI = 0x8
+ NL80211_PMSR_FTM_REQ_ATTR_TRIGGER_BASED = 0xa
+ NL80211_PMSR_FTM_RESP_ATTR_BURST_DURATION = 0x7
+ NL80211_PMSR_FTM_RESP_ATTR_BURST_INDEX = 0x2
+ NL80211_PMSR_FTM_RESP_ATTR_BUSY_RETRY_TIME = 0x5
+ NL80211_PMSR_FTM_RESP_ATTR_CIVICLOC = 0x14
+ NL80211_PMSR_FTM_RESP_ATTR_DIST_AVG = 0x10
+ NL80211_PMSR_FTM_RESP_ATTR_DIST_SPREAD = 0x12
+ NL80211_PMSR_FTM_RESP_ATTR_DIST_VARIANCE = 0x11
+ NL80211_PMSR_FTM_RESP_ATTR_FAIL_REASON = 0x1
+ NL80211_PMSR_FTM_RESP_ATTR_FTMS_PER_BURST = 0x8
+ NL80211_PMSR_FTM_RESP_ATTR_LCI = 0x13
+ NL80211_PMSR_FTM_RESP_ATTR_MAX = 0x15
+ NL80211_PMSR_FTM_RESP_ATTR_NUM_BURSTS_EXP = 0x6
+ NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_ATTEMPTS = 0x3
+ NL80211_PMSR_FTM_RESP_ATTR_NUM_FTMR_SUCCESSES = 0x4
+ NL80211_PMSR_FTM_RESP_ATTR_PAD = 0x15
+ NL80211_PMSR_FTM_RESP_ATTR_RSSI_AVG = 0x9
+ NL80211_PMSR_FTM_RESP_ATTR_RSSI_SPREAD = 0xa
+ NL80211_PMSR_FTM_RESP_ATTR_RTT_AVG = 0xd
+ NL80211_PMSR_FTM_RESP_ATTR_RTT_SPREAD = 0xf
+ NL80211_PMSR_FTM_RESP_ATTR_RTT_VARIANCE = 0xe
+ NL80211_PMSR_FTM_RESP_ATTR_RX_RATE = 0xc
+ NL80211_PMSR_FTM_RESP_ATTR_TX_RATE = 0xb
+ NL80211_PMSR_PEER_ATTR_ADDR = 0x1
+ NL80211_PMSR_PEER_ATTR_CHAN = 0x2
+ NL80211_PMSR_PEER_ATTR_MAX = 0x4
+ NL80211_PMSR_PEER_ATTR_REQ = 0x3
+ NL80211_PMSR_PEER_ATTR_RESP = 0x4
+ NL80211_PMSR_REQ_ATTR_DATA = 0x1
+ NL80211_PMSR_REQ_ATTR_GET_AP_TSF = 0x2
+ NL80211_PMSR_REQ_ATTR_MAX = 0x2
+ NL80211_PMSR_RESP_ATTR_AP_TSF = 0x4
+ NL80211_PMSR_RESP_ATTR_DATA = 0x1
+ NL80211_PMSR_RESP_ATTR_FINAL = 0x5
+ NL80211_PMSR_RESP_ATTR_HOST_TIME = 0x3
+ NL80211_PMSR_RESP_ATTR_MAX = 0x6
+ NL80211_PMSR_RESP_ATTR_PAD = 0x6
+ NL80211_PMSR_RESP_ATTR_STATUS = 0x2
+ NL80211_PMSR_STATUS_FAILURE = 0x3
+ NL80211_PMSR_STATUS_REFUSED = 0x1
+ NL80211_PMSR_STATUS_SUCCESS = 0x0
+ NL80211_PMSR_STATUS_TIMEOUT = 0x2
+ NL80211_PMSR_TYPE_FTM = 0x1
+ NL80211_PMSR_TYPE_INVALID = 0x0
+ NL80211_PMSR_TYPE_MAX = 0x1
+ NL80211_PREAMBLE_DMG = 0x3
+ NL80211_PREAMBLE_HE = 0x4
+ NL80211_PREAMBLE_HT = 0x1
+ NL80211_PREAMBLE_LEGACY = 0x0
+ NL80211_PREAMBLE_VHT = 0x2
+ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_80211U = 0x8
+ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P = 0x4
+ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS2 = 0x2
+ NL80211_PROBE_RESP_OFFLOAD_SUPPORT_WPS = 0x1
+ NL80211_PROTOCOL_FEATURE_SPLIT_WIPHY_DUMP = 0x1
+ NL80211_PS_DISABLED = 0x0
+ NL80211_PS_ENABLED = 0x1
+ NL80211_RADAR_CAC_ABORTED = 0x2
+ NL80211_RADAR_CAC_FINISHED = 0x1
+ NL80211_RADAR_CAC_STARTED = 0x5
+ NL80211_RADAR_DETECTED = 0x0
+ NL80211_RADAR_NOP_FINISHED = 0x3
+ NL80211_RADAR_PRE_CAC_EXPIRED = 0x4
+ NL80211_RATE_INFO_10_MHZ_WIDTH = 0xb
+ NL80211_RATE_INFO_160_MHZ_WIDTH = 0xa
+ NL80211_RATE_INFO_40_MHZ_WIDTH = 0x3
+ NL80211_RATE_INFO_5_MHZ_WIDTH = 0xc
+ NL80211_RATE_INFO_80_MHZ_WIDTH = 0x8
+ NL80211_RATE_INFO_80P80_MHZ_WIDTH = 0x9
+ NL80211_RATE_INFO_BITRATE32 = 0x5
+ NL80211_RATE_INFO_BITRATE = 0x1
+ NL80211_RATE_INFO_HE_1XLTF = 0x0
+ NL80211_RATE_INFO_HE_2XLTF = 0x1
+ NL80211_RATE_INFO_HE_4XLTF = 0x2
+ NL80211_RATE_INFO_HE_DCM = 0x10
+ NL80211_RATE_INFO_HE_GI_0_8 = 0x0
+ NL80211_RATE_INFO_HE_GI_1_6 = 0x1
+ NL80211_RATE_INFO_HE_GI_3_2 = 0x2
+ NL80211_RATE_INFO_HE_GI = 0xf
+ NL80211_RATE_INFO_HE_MCS = 0xd
+ NL80211_RATE_INFO_HE_NSS = 0xe
+ NL80211_RATE_INFO_HE_RU_ALLOC_106 = 0x2
+ NL80211_RATE_INFO_HE_RU_ALLOC_242 = 0x3
+ NL80211_RATE_INFO_HE_RU_ALLOC_26 = 0x0
+ NL80211_RATE_INFO_HE_RU_ALLOC_2x996 = 0x6
+ NL80211_RATE_INFO_HE_RU_ALLOC_484 = 0x4
+ NL80211_RATE_INFO_HE_RU_ALLOC_52 = 0x1
+ NL80211_RATE_INFO_HE_RU_ALLOC_996 = 0x5
+ NL80211_RATE_INFO_HE_RU_ALLOC = 0x11
+ NL80211_RATE_INFO_MAX = 0x11
+ NL80211_RATE_INFO_MCS = 0x2
+ NL80211_RATE_INFO_SHORT_GI = 0x4
+ NL80211_RATE_INFO_VHT_MCS = 0x6
+ NL80211_RATE_INFO_VHT_NSS = 0x7
+ NL80211_REGDOM_SET_BY_CORE = 0x0
+ NL80211_REGDOM_SET_BY_COUNTRY_IE = 0x3
+ NL80211_REGDOM_SET_BY_DRIVER = 0x2
+ NL80211_REGDOM_SET_BY_USER = 0x1
+ NL80211_REGDOM_TYPE_COUNTRY = 0x0
+ NL80211_REGDOM_TYPE_CUSTOM_WORLD = 0x2
+ NL80211_REGDOM_TYPE_INTERSECTION = 0x3
+ NL80211_REGDOM_TYPE_WORLD = 0x1
+ NL80211_REG_RULE_ATTR_MAX = 0x7
+ NL80211_REKEY_DATA_AKM = 0x4
+ NL80211_REKEY_DATA_KCK = 0x2
+ NL80211_REKEY_DATA_KEK = 0x1
+ NL80211_REKEY_DATA_REPLAY_CTR = 0x3
+ NL80211_REPLAY_CTR_LEN = 0x8
+ NL80211_RRF_AUTO_BW = 0x800
+ NL80211_RRF_DFS = 0x10
+ NL80211_RRF_GO_CONCURRENT = 0x1000
+ NL80211_RRF_IR_CONCURRENT = 0x1000
+ NL80211_RRF_NO_160MHZ = 0x10000
+ NL80211_RRF_NO_80MHZ = 0x8000
+ NL80211_RRF_NO_CCK = 0x2
+ NL80211_RRF_NO_HE = 0x20000
+ NL80211_RRF_NO_HT40 = 0x6000
+ NL80211_RRF_NO_HT40MINUS = 0x2000
+ NL80211_RRF_NO_HT40PLUS = 0x4000
+ NL80211_RRF_NO_IBSS = 0x80
+ NL80211_RRF_NO_INDOOR = 0x4
+ NL80211_RRF_NO_IR_ALL = 0x180
+ NL80211_RRF_NO_IR = 0x80
+ NL80211_RRF_NO_OFDM = 0x1
+ NL80211_RRF_NO_OUTDOOR = 0x8
+ NL80211_RRF_PASSIVE_SCAN = 0x80
+ NL80211_RRF_PTMP_ONLY = 0x40
+ NL80211_RRF_PTP_ONLY = 0x20
+ NL80211_RXMGMT_FLAG_ANSWERED = 0x1
+ NL80211_RXMGMT_FLAG_EXTERNAL_AUTH = 0x2
+ NL80211_SAE_PWE_BOTH = 0x3
+ NL80211_SAE_PWE_HASH_TO_ELEMENT = 0x2
+ NL80211_SAE_PWE_HUNT_AND_PECK = 0x1
+ NL80211_SAE_PWE_UNSPECIFIED = 0x0
+ NL80211_SAR_ATTR_MAX = 0x2
+ NL80211_SAR_ATTR_SPECS = 0x2
+ NL80211_SAR_ATTR_SPECS_END_FREQ = 0x4
+ NL80211_SAR_ATTR_SPECS_MAX = 0x4
+ NL80211_SAR_ATTR_SPECS_POWER = 0x1
+ NL80211_SAR_ATTR_SPECS_RANGE_INDEX = 0x2
+ NL80211_SAR_ATTR_SPECS_START_FREQ = 0x3
+ NL80211_SAR_ATTR_TYPE = 0x1
+ NL80211_SAR_TYPE_POWER = 0x0
+ NL80211_SCAN_FLAG_ACCEPT_BCAST_PROBE_RESP = 0x20
+ NL80211_SCAN_FLAG_AP = 0x4
+ NL80211_SCAN_FLAG_COLOCATED_6GHZ = 0x4000
+ NL80211_SCAN_FLAG_FILS_MAX_CHANNEL_TIME = 0x10
+ NL80211_SCAN_FLAG_FLUSH = 0x2
+ NL80211_SCAN_FLAG_FREQ_KHZ = 0x2000
+ NL80211_SCAN_FLAG_HIGH_ACCURACY = 0x400
+ NL80211_SCAN_FLAG_LOW_POWER = 0x200
+ NL80211_SCAN_FLAG_LOW_PRIORITY = 0x1
+ NL80211_SCAN_FLAG_LOW_SPAN = 0x100
+ NL80211_SCAN_FLAG_MIN_PREQ_CONTENT = 0x1000
+ NL80211_SCAN_FLAG_OCE_PROBE_REQ_DEFERRAL_SUPPRESSION = 0x80
+ NL80211_SCAN_FLAG_OCE_PROBE_REQ_HIGH_TX_RATE = 0x40
+ NL80211_SCAN_FLAG_RANDOM_ADDR = 0x8
+ NL80211_SCAN_FLAG_RANDOM_SN = 0x800
+ NL80211_SCAN_RSSI_THOLD_OFF = -0x12c
+ NL80211_SCHED_SCAN_MATCH_ATTR_BSSID = 0x5
+ NL80211_SCHED_SCAN_MATCH_ATTR_MAX = 0x6
+ NL80211_SCHED_SCAN_MATCH_ATTR_RELATIVE_RSSI = 0x3
+ NL80211_SCHED_SCAN_MATCH_ATTR_RSSI_ADJUST = 0x4
+ NL80211_SCHED_SCAN_MATCH_ATTR_RSSI = 0x2
+ NL80211_SCHED_SCAN_MATCH_ATTR_SSID = 0x1
+ NL80211_SCHED_SCAN_MATCH_PER_BAND_RSSI = 0x6
+ NL80211_SCHED_SCAN_PLAN_INTERVAL = 0x1
+ NL80211_SCHED_SCAN_PLAN_ITERATIONS = 0x2
+ NL80211_SCHED_SCAN_PLAN_MAX = 0x2
+ NL80211_SMPS_DYNAMIC = 0x2
+ NL80211_SMPS_MAX = 0x2
+ NL80211_SMPS_OFF = 0x0
+ NL80211_SMPS_STATIC = 0x1
+ NL80211_STA_BSS_PARAM_BEACON_INTERVAL = 0x5
+ NL80211_STA_BSS_PARAM_CTS_PROT = 0x1
+ NL80211_STA_BSS_PARAM_DTIM_PERIOD = 0x4
+ NL80211_STA_BSS_PARAM_MAX = 0x5
+ NL80211_STA_BSS_PARAM_SHORT_PREAMBLE = 0x2
+ NL80211_STA_BSS_PARAM_SHORT_SLOT_TIME = 0x3
+ NL80211_STA_FLAG_ASSOCIATED = 0x7
+ NL80211_STA_FLAG_AUTHENTICATED = 0x5
+ NL80211_STA_FLAG_AUTHORIZED = 0x1
+ NL80211_STA_FLAG_MAX = 0x7
+ NL80211_STA_FLAG_MAX_OLD_API = 0x6
+ NL80211_STA_FLAG_MFP = 0x4
+ NL80211_STA_FLAG_SHORT_PREAMBLE = 0x2
+ NL80211_STA_FLAG_TDLS_PEER = 0x6
+ NL80211_STA_FLAG_WME = 0x3
+ NL80211_STA_INFO_ACK_SIGNAL_AVG = 0x23
+ NL80211_STA_INFO_ACK_SIGNAL = 0x22
+ NL80211_STA_INFO_AIRTIME_LINK_METRIC = 0x29
+ NL80211_STA_INFO_AIRTIME_WEIGHT = 0x28
+ NL80211_STA_INFO_ASSOC_AT_BOOTTIME = 0x2a
+ NL80211_STA_INFO_BEACON_LOSS = 0x12
+ NL80211_STA_INFO_BEACON_RX = 0x1d
+ NL80211_STA_INFO_BEACON_SIGNAL_AVG = 0x1e
+ NL80211_STA_INFO_BSS_PARAM = 0xf
+ NL80211_STA_INFO_CHAIN_SIGNAL_AVG = 0x1a
+ NL80211_STA_INFO_CHAIN_SIGNAL = 0x19
+ NL80211_STA_INFO_CONNECTED_TIME = 0x10
+ NL80211_STA_INFO_CONNECTED_TO_AS = 0x2b
+ NL80211_STA_INFO_CONNECTED_TO_GATE = 0x26
+ NL80211_STA_INFO_DATA_ACK_SIGNAL_AVG = 0x23
+ NL80211_STA_INFO_EXPECTED_THROUGHPUT = 0x1b
+ NL80211_STA_INFO_FCS_ERROR_COUNT = 0x25
+ NL80211_STA_INFO_INACTIVE_TIME = 0x1
+ NL80211_STA_INFO_LLID = 0x4
+ NL80211_STA_INFO_LOCAL_PM = 0x14
+ NL80211_STA_INFO_MAX = 0x2b
+ NL80211_STA_INFO_NONPEER_PM = 0x16
+ NL80211_STA_INFO_PAD = 0x21
+ NL80211_STA_INFO_PEER_PM = 0x15
+ NL80211_STA_INFO_PLID = 0x5
+ NL80211_STA_INFO_PLINK_STATE = 0x6
+ NL80211_STA_INFO_RX_BITRATE = 0xe
+ NL80211_STA_INFO_RX_BYTES64 = 0x17
+ NL80211_STA_INFO_RX_BYTES = 0x2
+ NL80211_STA_INFO_RX_DROP_MISC = 0x1c
+ NL80211_STA_INFO_RX_DURATION = 0x20
+ NL80211_STA_INFO_RX_MPDUS = 0x24
+ NL80211_STA_INFO_RX_PACKETS = 0x9
+ NL80211_STA_INFO_SIGNAL_AVG = 0xd
+ NL80211_STA_INFO_SIGNAL = 0x7
+ NL80211_STA_INFO_STA_FLAGS = 0x11
+ NL80211_STA_INFO_TID_STATS = 0x1f
+ NL80211_STA_INFO_T_OFFSET = 0x13
+ NL80211_STA_INFO_TX_BITRATE = 0x8
+ NL80211_STA_INFO_TX_BYTES64 = 0x18
+ NL80211_STA_INFO_TX_BYTES = 0x3
+ NL80211_STA_INFO_TX_DURATION = 0x27
+ NL80211_STA_INFO_TX_FAILED = 0xc
+ NL80211_STA_INFO_TX_PACKETS = 0xa
+ NL80211_STA_INFO_TX_RETRIES = 0xb
+ NL80211_STA_WME_MAX = 0x2
+ NL80211_STA_WME_MAX_SP = 0x2
+ NL80211_STA_WME_UAPSD_QUEUES = 0x1
+ NL80211_SURVEY_INFO_CHANNEL_TIME_BUSY = 0x5
+ NL80211_SURVEY_INFO_CHANNEL_TIME = 0x4
+ NL80211_SURVEY_INFO_CHANNEL_TIME_EXT_BUSY = 0x6
+ NL80211_SURVEY_INFO_CHANNEL_TIME_RX = 0x7
+ NL80211_SURVEY_INFO_CHANNEL_TIME_TX = 0x8
+ NL80211_SURVEY_INFO_FREQUENCY = 0x1
+ NL80211_SURVEY_INFO_FREQUENCY_OFFSET = 0xc
+ NL80211_SURVEY_INFO_IN_USE = 0x3
+ NL80211_SURVEY_INFO_MAX = 0xc
+ NL80211_SURVEY_INFO_NOISE = 0x2
+ NL80211_SURVEY_INFO_PAD = 0xa
+ NL80211_SURVEY_INFO_TIME_BSS_RX = 0xb
+ NL80211_SURVEY_INFO_TIME_BUSY = 0x5
+ NL80211_SURVEY_INFO_TIME = 0x4
+ NL80211_SURVEY_INFO_TIME_EXT_BUSY = 0x6
+ NL80211_SURVEY_INFO_TIME_RX = 0x7
+ NL80211_SURVEY_INFO_TIME_SCAN = 0x9
+ NL80211_SURVEY_INFO_TIME_TX = 0x8
+ NL80211_TDLS_DISABLE_LINK = 0x4
+ NL80211_TDLS_DISCOVERY_REQ = 0x0
+ NL80211_TDLS_ENABLE_LINK = 0x3
+ NL80211_TDLS_PEER_HE = 0x8
+ NL80211_TDLS_PEER_HT = 0x1
+ NL80211_TDLS_PEER_VHT = 0x2
+ NL80211_TDLS_PEER_WMM = 0x4
+ NL80211_TDLS_SETUP = 0x1
+ NL80211_TDLS_TEARDOWN = 0x2
+ NL80211_TID_CONFIG_ATTR_AMPDU_CTRL = 0x9
+ NL80211_TID_CONFIG_ATTR_AMSDU_CTRL = 0xb
+ NL80211_TID_CONFIG_ATTR_MAX = 0xd
+ NL80211_TID_CONFIG_ATTR_NOACK = 0x6
+ NL80211_TID_CONFIG_ATTR_OVERRIDE = 0x4
+ NL80211_TID_CONFIG_ATTR_PAD = 0x1
+ NL80211_TID_CONFIG_ATTR_PEER_SUPP = 0x3
+ NL80211_TID_CONFIG_ATTR_RETRY_LONG = 0x8
+ NL80211_TID_CONFIG_ATTR_RETRY_SHORT = 0x7
+ NL80211_TID_CONFIG_ATTR_RTSCTS_CTRL = 0xa
+ NL80211_TID_CONFIG_ATTR_TIDS = 0x5
+ NL80211_TID_CONFIG_ATTR_TX_RATE = 0xd
+ NL80211_TID_CONFIG_ATTR_TX_RATE_TYPE = 0xc
+ NL80211_TID_CONFIG_ATTR_VIF_SUPP = 0x2
+ NL80211_TID_CONFIG_DISABLE = 0x1
+ NL80211_TID_CONFIG_ENABLE = 0x0
+ NL80211_TID_STATS_MAX = 0x6
+ NL80211_TID_STATS_PAD = 0x5
+ NL80211_TID_STATS_RX_MSDU = 0x1
+ NL80211_TID_STATS_TX_MSDU = 0x2
+ NL80211_TID_STATS_TX_MSDU_FAILED = 0x4
+ NL80211_TID_STATS_TX_MSDU_RETRIES = 0x3
+ NL80211_TID_STATS_TXQ_STATS = 0x6
+ NL80211_TIMEOUT_ASSOC = 0x3
+ NL80211_TIMEOUT_AUTH = 0x2
+ NL80211_TIMEOUT_SCAN = 0x1
+ NL80211_TIMEOUT_UNSPECIFIED = 0x0
+ NL80211_TKIP_DATA_OFFSET_ENCR_KEY = 0x0
+ NL80211_TKIP_DATA_OFFSET_RX_MIC_KEY = 0x18
+ NL80211_TKIP_DATA_OFFSET_TX_MIC_KEY = 0x10
+ NL80211_TX_POWER_AUTOMATIC = 0x0
+ NL80211_TX_POWER_FIXED = 0x2
+ NL80211_TX_POWER_LIMITED = 0x1
+ NL80211_TXQ_ATTR_AC = 0x1
+ NL80211_TXQ_ATTR_AIFS = 0x5
+ NL80211_TXQ_ATTR_CWMAX = 0x4
+ NL80211_TXQ_ATTR_CWMIN = 0x3
+ NL80211_TXQ_ATTR_MAX = 0x5
+ NL80211_TXQ_ATTR_QUEUE = 0x1
+ NL80211_TXQ_ATTR_TXOP = 0x2
+ NL80211_TXQ_Q_BE = 0x2
+ NL80211_TXQ_Q_BK = 0x3
+ NL80211_TXQ_Q_VI = 0x1
+ NL80211_TXQ_Q_VO = 0x0
+ NL80211_TXQ_STATS_BACKLOG_BYTES = 0x1
+ NL80211_TXQ_STATS_BACKLOG_PACKETS = 0x2
+ NL80211_TXQ_STATS_COLLISIONS = 0x8
+ NL80211_TXQ_STATS_DROPS = 0x4
+ NL80211_TXQ_STATS_ECN_MARKS = 0x5
+ NL80211_TXQ_STATS_FLOWS = 0x3
+ NL80211_TXQ_STATS_MAX = 0xb
+ NL80211_TXQ_STATS_MAX_FLOWS = 0xb
+ NL80211_TXQ_STATS_OVERLIMIT = 0x6
+ NL80211_TXQ_STATS_OVERMEMORY = 0x7
+ NL80211_TXQ_STATS_TX_BYTES = 0x9
+ NL80211_TXQ_STATS_TX_PACKETS = 0xa
+ NL80211_TX_RATE_AUTOMATIC = 0x0
+ NL80211_TXRATE_DEFAULT_GI = 0x0
+ NL80211_TX_RATE_FIXED = 0x2
+ NL80211_TXRATE_FORCE_LGI = 0x2
+ NL80211_TXRATE_FORCE_SGI = 0x1
+ NL80211_TXRATE_GI = 0x4
+ NL80211_TXRATE_HE = 0x5
+ NL80211_TXRATE_HE_GI = 0x6
+ NL80211_TXRATE_HE_LTF = 0x7
+ NL80211_TXRATE_HT = 0x2
+ NL80211_TXRATE_LEGACY = 0x1
+ NL80211_TX_RATE_LIMITED = 0x1
+ NL80211_TXRATE_MAX = 0x7
+ NL80211_TXRATE_MCS = 0x2
+ NL80211_TXRATE_VHT = 0x3
+ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_INT = 0x1
+ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_MAX = 0x2
+ NL80211_UNSOL_BCAST_PROBE_RESP_ATTR_TMPL = 0x2
+ NL80211_USER_REG_HINT_CELL_BASE = 0x1
+ NL80211_USER_REG_HINT_INDOOR = 0x2
+ NL80211_USER_REG_HINT_USER = 0x0
+ NL80211_VENDOR_ID_IS_LINUX = 0x80000000
+ NL80211_VHT_CAPABILITY_LEN = 0xc
+ NL80211_VHT_NSS_MAX = 0x8
+ NL80211_WIPHY_NAME_MAXLEN = 0x40
+ NL80211_WMMR_AIFSN = 0x3
+ NL80211_WMMR_CW_MAX = 0x2
+ NL80211_WMMR_CW_MIN = 0x1
+ NL80211_WMMR_MAX = 0x4
+ NL80211_WMMR_TXOP = 0x4
+ NL80211_WOWLAN_PKTPAT_MASK = 0x1
+ NL80211_WOWLAN_PKTPAT_OFFSET = 0x3
+ NL80211_WOWLAN_PKTPAT_PATTERN = 0x2
+ NL80211_WOWLAN_TCP_DATA_INTERVAL = 0x9
+ NL80211_WOWLAN_TCP_DATA_PAYLOAD = 0x6
+ NL80211_WOWLAN_TCP_DATA_PAYLOAD_SEQ = 0x7
+ NL80211_WOWLAN_TCP_DATA_PAYLOAD_TOKEN = 0x8
+ NL80211_WOWLAN_TCP_DST_IPV4 = 0x2
+ NL80211_WOWLAN_TCP_DST_MAC = 0x3
+ NL80211_WOWLAN_TCP_DST_PORT = 0x5
+ NL80211_WOWLAN_TCP_SRC_IPV4 = 0x1
+ NL80211_WOWLAN_TCP_SRC_PORT = 0x4
+ NL80211_WOWLAN_TCP_WAKE_MASK = 0xb
+ NL80211_WOWLAN_TCP_WAKE_PAYLOAD = 0xa
+ NL80211_WOWLAN_TRIG_4WAY_HANDSHAKE = 0x8
+ NL80211_WOWLAN_TRIG_ANY = 0x1
+ NL80211_WOWLAN_TRIG_DISCONNECT = 0x2
+ NL80211_WOWLAN_TRIG_EAP_IDENT_REQUEST = 0x7
+ NL80211_WOWLAN_TRIG_GTK_REKEY_FAILURE = 0x6
+ NL80211_WOWLAN_TRIG_GTK_REKEY_SUPPORTED = 0x5
+ NL80211_WOWLAN_TRIG_MAGIC_PKT = 0x3
+ NL80211_WOWLAN_TRIG_NET_DETECT = 0x12
+ NL80211_WOWLAN_TRIG_NET_DETECT_RESULTS = 0x13
+ NL80211_WOWLAN_TRIG_PKT_PATTERN = 0x4
+ NL80211_WOWLAN_TRIG_RFKILL_RELEASE = 0x9
+ NL80211_WOWLAN_TRIG_TCP_CONNECTION = 0xe
+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211 = 0xa
+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_80211_LEN = 0xb
+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023 = 0xc
+ NL80211_WOWLAN_TRIG_WAKEUP_PKT_8023_LEN = 0xd
+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_CONNLOST = 0x10
+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_MATCH = 0xf
+ NL80211_WOWLAN_TRIG_WAKEUP_TCP_NOMORETOKENS = 0x11
+ NL80211_WPA_VERSION_1 = 0x1
+ NL80211_WPA_VERSION_2 = 0x2
+ NL80211_WPA_VERSION_3 = 0x4
+)
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
index 3219adeda..bea254945 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_386.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m32 /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build 386 && linux
@@ -639,3 +639,32 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint16
+ _ [2]uint8
+ Seq uint16
+ _ uint16
+ _ uint32
+ _ uint32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint32
+ Atime uint32
+ Atime_high uint32
+ Dtime uint32
+ Dtime_high uint32
+ Ctime uint32
+ Ctime_high uint32
+ Cpid int32
+ Lpid int32
+ Nattch uint32
+ _ uint32
+ _ uint32
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
index 16acd3bcb..b8c8f2894 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -m64 /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build amd64 && linux
@@ -657,3 +657,29 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
index c4982a229..4db443016 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm && linux
@@ -634,3 +634,32 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint16
+ _ [2]uint8
+ Seq uint16
+ _ uint16
+ _ uint32
+ _ uint32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint32
+ Atime uint32
+ Atime_high uint32
+ Dtime uint32
+ Dtime_high uint32
+ Ctime uint32
+ Ctime_high uint32
+ Cpid int32
+ Lpid int32
+ Nattch uint32
+ _ uint32
+ _ uint32
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
index 98bb8a41a..3ebcad8a8 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build arm64 && linux
@@ -636,3 +636,29 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
index d5bfc3565..3eb33e48a 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips && linux
@@ -640,3 +640,31 @@ const (
const (
PIDFD_NONBLOCK = 0x80
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint32
+ _ uint32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint32
+ Atime uint32
+ Dtime uint32
+ Ctime uint32
+ Cpid int32
+ Lpid int32
+ Nattch uint32
+ Atime_high uint16
+ Dtime_high uint16
+ Ctime_high uint16
+ _ uint16
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
index b52c568dc..79a944672 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64 && linux
@@ -639,3 +639,29 @@ const (
const (
PIDFD_NONBLOCK = 0x80
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
index a340b84b9..8f4b107ca 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mips64le && linux
@@ -639,3 +639,29 @@ const (
const (
PIDFD_NONBLOCK = 0x80
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
index b43d8e2ce..e4eb21798 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build mipsle && linux
@@ -640,3 +640,31 @@ const (
const (
PIDFD_NONBLOCK = 0x80
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint32
+ _ uint32
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint32
+ Atime uint32
+ Dtime uint32
+ Ctime uint32
+ Cpid int32
+ Lpid int32
+ Nattch uint32
+ Atime_high uint16
+ Dtime_high uint16
+ Ctime_high uint16
+ _ uint16
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
index efd7313a7..d5b21f0f7 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc && linux
@@ -646,3 +646,33 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ Seq uint32
+ _ uint32
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Atime_high uint32
+ Atime uint32
+ Dtime_high uint32
+ Dtime uint32
+ Ctime_high uint32
+ Ctime uint32
+ _ uint32
+ Segsz uint32
+ Cpid int32
+ Lpid int32
+ Nattch uint32
+ _ uint32
+ _ uint32
+ _ [4]byte
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
index 22cedda57..5188d142b 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64 && linux
@@ -646,3 +646,28 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ Seq uint32
+ _ uint32
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Segsz uint64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
index 452a76df1..de4dd4c73 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build ppc64le && linux
@@ -646,3 +646,28 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ Seq uint32
+ _ uint32
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Segsz uint64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
index 96c667df4..dccbf9b06 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_riscv64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build riscv64 && linux
@@ -664,3 +664,29 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ [0]uint8
+ Seq uint16
+ _ uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
index af04ee174..c426c3576 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include -fsigned-char /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build s390x && linux
@@ -210,8 +210,8 @@ type PtraceFpregs struct {
}
type PtracePer struct {
- _ [0]uint64
- _ [32]byte
+ Control_regs [3]uint64
+ _ [8]byte
Starting_addr uint64
Ending_addr uint64
Perc_atmid uint16
@@ -660,3 +660,28 @@ const (
const (
PIDFD_NONBLOCK = 0x800
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ uint16
+ Seq uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Segsz uint64
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
index 6f385cf6a..765edc13f 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go
@@ -1,4 +1,4 @@
-// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/linux/types.go | go run mkpost.go
+// cgo -godefs -- -Wall -Werror -static -I/tmp/include /build/unix/linux/types.go | go run mkpost.go
// Code generated by the command above; see README.md. DO NOT EDIT.
//go:build sparc64 && linux
@@ -641,3 +641,28 @@ const (
const (
PIDFD_NONBLOCK = 0x4000
)
+
+type SysvIpcPerm struct {
+ Key int32
+ Uid uint32
+ Gid uint32
+ Cuid uint32
+ Cgid uint32
+ Mode uint32
+ _ uint16
+ Seq uint16
+ _ uint64
+ _ uint64
+}
+type SysvShmDesc struct {
+ Perm SysvIpcPerm
+ Atime int64
+ Dtime int64
+ Ctime int64
+ Segsz uint64
+ Cpid int32
+ Lpid int32
+ Nattch uint64
+ _ uint64
+ _ uint64
+}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
index 2a8b1e6f7..baf5fe650 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go
@@ -564,12 +564,11 @@ type Uvmexp struct {
Kmapent int32
}
-const SizeofClockinfo = 0x14
+const SizeofClockinfo = 0x10
type Clockinfo struct {
- Hz int32
- Tick int32
- Tickadj int32
- Stathz int32
- Profhz int32
+ Hz int32
+ Tick int32
+ Stathz int32
+ Profhz int32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
index b1759cf70..e21ae8ecf 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go
@@ -564,12 +564,11 @@ type Uvmexp struct {
Kmapent int32
}
-const SizeofClockinfo = 0x14
+const SizeofClockinfo = 0x10
type Clockinfo struct {
- Hz int32
- Tick int32
- Tickadj int32
- Stathz int32
- Profhz int32
+ Hz int32
+ Tick int32
+ Stathz int32
+ Profhz int32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
index e807de206..f190651cd 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go
@@ -565,12 +565,11 @@ type Uvmexp struct {
Kmapent int32
}
-const SizeofClockinfo = 0x14
+const SizeofClockinfo = 0x10
type Clockinfo struct {
- Hz int32
- Tick int32
- Tickadj int32
- Stathz int32
- Profhz int32
+ Hz int32
+ Tick int32
+ Stathz int32
+ Profhz int32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
index ff3aecaee..84747c582 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_arm64.go
@@ -558,12 +558,11 @@ type Uvmexp struct {
Kmapent int32
}
-const SizeofClockinfo = 0x14
+const SizeofClockinfo = 0x10
type Clockinfo struct {
- Hz int32
- Tick int32
- Tickadj int32
- Stathz int32
- Profhz int32
+ Hz int32
+ Tick int32
+ Stathz int32
+ Profhz int32
}
diff --git a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
index 9ecda6917..ac5c8b637 100644
--- a/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
+++ b/vendor/golang.org/x/sys/unix/ztypes_openbsd_mips64.go
@@ -558,12 +558,11 @@ type Uvmexp struct {
Kmapent int32
}
-const SizeofClockinfo = 0x14
+const SizeofClockinfo = 0x10
type Clockinfo struct {
- Hz int32
- Tick int32
- Tickadj int32
- Stathz int32
- Profhz int32
+ Hz int32
+ Tick int32
+ Stathz int32
+ Profhz int32
}
diff --git a/vendor/golang.org/x/xerrors/LICENSE b/vendor/golang.org/x/xerrors/LICENSE
new file mode 100644
index 000000000..e4a47e17f
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/LICENSE
@@ -0,0 +1,27 @@
+Copyright (c) 2019 The Go Authors. All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+ * Redistributions of source code must retain the above copyright
+notice, this list of conditions and the following disclaimer.
+ * Redistributions in binary form must reproduce the above
+copyright notice, this list of conditions and the following disclaimer
+in the documentation and/or other materials provided with the
+distribution.
+ * Neither the name of Google Inc. nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/vendor/golang.org/x/xerrors/PATENTS b/vendor/golang.org/x/xerrors/PATENTS
new file mode 100644
index 000000000..733099041
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/PATENTS
@@ -0,0 +1,22 @@
+Additional IP Rights Grant (Patents)
+
+"This implementation" means the copyrightable works distributed by
+Google as part of the Go project.
+
+Google hereby grants to You a perpetual, worldwide, non-exclusive,
+no-charge, royalty-free, irrevocable (except as stated in this section)
+patent license to make, have made, use, offer to sell, sell, import,
+transfer and otherwise run, modify and propagate the contents of this
+implementation of Go, where such license applies only to those patent
+claims, both currently owned or controlled by Google and acquired in
+the future, licensable by Google that are necessarily infringed by this
+implementation of Go. This grant does not include claims that would be
+infringed only as a consequence of further modification of this
+implementation. If you or your agent or exclusive licensee institute or
+order or agree to the institution of patent litigation against any
+entity (including a cross-claim or counterclaim in a lawsuit) alleging
+that this implementation of Go or any code incorporated within this
+implementation of Go constitutes direct or contributory patent
+infringement, or inducement of patent infringement, then any patent
+rights granted to you under this License for this implementation of Go
+shall terminate as of the date such litigation is filed.
diff --git a/vendor/golang.org/x/xerrors/README b/vendor/golang.org/x/xerrors/README
new file mode 100644
index 000000000..aac7867a5
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/README
@@ -0,0 +1,2 @@
+This repository holds the transition packages for the new Go 1.13 error values.
+See golang.org/design/29934-error-values.
diff --git a/vendor/golang.org/x/xerrors/adaptor.go b/vendor/golang.org/x/xerrors/adaptor.go
new file mode 100644
index 000000000..4317f2483
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/adaptor.go
@@ -0,0 +1,193 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+import (
+ "bytes"
+ "fmt"
+ "io"
+ "reflect"
+ "strconv"
+)
+
+// FormatError calls the FormatError method of f with an errors.Printer
+// configured according to s and verb, and writes the result to s.
+func FormatError(f Formatter, s fmt.State, verb rune) {
+ // Assuming this function is only called from the Format method, and given
+ // that FormatError takes precedence over Format, it cannot be called from
+ // any package that supports errors.Formatter. It is therefore safe to
+ // disregard that State may be a specific printer implementation and use one
+ // of our choice instead.
+
+ // limitations: does not support printing error as Go struct.
+
+ var (
+ sep = " " // separator before next error
+ p = &state{State: s}
+ direct = true
+ )
+
+ var err error = f
+
+ switch verb {
+ // Note that this switch must match the preference order
+ // for ordinary string printing (%#v before %+v, and so on).
+
+ case 'v':
+ if s.Flag('#') {
+ if stringer, ok := err.(fmt.GoStringer); ok {
+ io.WriteString(&p.buf, stringer.GoString())
+ goto exit
+ }
+ // proceed as if it were %v
+ } else if s.Flag('+') {
+ p.printDetail = true
+ sep = "\n - "
+ }
+ case 's':
+ case 'q', 'x', 'X':
+ // Use an intermediate buffer in the rare cases that precision,
+ // truncation, or one of the alternative verbs (q, x, and X) are
+ // specified.
+ direct = false
+
+ default:
+ p.buf.WriteString("%!")
+ p.buf.WriteRune(verb)
+ p.buf.WriteByte('(')
+ switch {
+ case err != nil:
+ p.buf.WriteString(reflect.TypeOf(f).String())
+ default:
+ p.buf.WriteString("")
+ }
+ p.buf.WriteByte(')')
+ io.Copy(s, &p.buf)
+ return
+ }
+
+loop:
+ for {
+ switch v := err.(type) {
+ case Formatter:
+ err = v.FormatError((*printer)(p))
+ case fmt.Formatter:
+ v.Format(p, 'v')
+ break loop
+ default:
+ io.WriteString(&p.buf, v.Error())
+ break loop
+ }
+ if err == nil {
+ break
+ }
+ if p.needColon || !p.printDetail {
+ p.buf.WriteByte(':')
+ p.needColon = false
+ }
+ p.buf.WriteString(sep)
+ p.inDetail = false
+ p.needNewline = false
+ }
+
+exit:
+ width, okW := s.Width()
+ prec, okP := s.Precision()
+
+ if !direct || (okW && width > 0) || okP {
+ // Construct format string from State s.
+ format := []byte{'%'}
+ if s.Flag('-') {
+ format = append(format, '-')
+ }
+ if s.Flag('+') {
+ format = append(format, '+')
+ }
+ if s.Flag(' ') {
+ format = append(format, ' ')
+ }
+ if okW {
+ format = strconv.AppendInt(format, int64(width), 10)
+ }
+ if okP {
+ format = append(format, '.')
+ format = strconv.AppendInt(format, int64(prec), 10)
+ }
+ format = append(format, string(verb)...)
+ fmt.Fprintf(s, string(format), p.buf.String())
+ } else {
+ io.Copy(s, &p.buf)
+ }
+}
+
+var detailSep = []byte("\n ")
+
+// state tracks error printing state. It implements fmt.State.
+type state struct {
+ fmt.State
+ buf bytes.Buffer
+
+ printDetail bool
+ inDetail bool
+ needColon bool
+ needNewline bool
+}
+
+func (s *state) Write(b []byte) (n int, err error) {
+ if s.printDetail {
+ if len(b) == 0 {
+ return 0, nil
+ }
+ if s.inDetail && s.needColon {
+ s.needNewline = true
+ if b[0] == '\n' {
+ b = b[1:]
+ }
+ }
+ k := 0
+ for i, c := range b {
+ if s.needNewline {
+ if s.inDetail && s.needColon {
+ s.buf.WriteByte(':')
+ s.needColon = false
+ }
+ s.buf.Write(detailSep)
+ s.needNewline = false
+ }
+ if c == '\n' {
+ s.buf.Write(b[k:i])
+ k = i + 1
+ s.needNewline = true
+ }
+ }
+ s.buf.Write(b[k:])
+ if !s.inDetail {
+ s.needColon = true
+ }
+ } else if !s.inDetail {
+ s.buf.Write(b)
+ }
+ return len(b), nil
+}
+
+// printer wraps a state to implement an xerrors.Printer.
+type printer state
+
+func (s *printer) Print(args ...interface{}) {
+ if !s.inDetail || s.printDetail {
+ fmt.Fprint((*state)(s), args...)
+ }
+}
+
+func (s *printer) Printf(format string, args ...interface{}) {
+ if !s.inDetail || s.printDetail {
+ fmt.Fprintf((*state)(s), format, args...)
+ }
+}
+
+func (s *printer) Detail() bool {
+ s.inDetail = true
+ return s.printDetail
+}
diff --git a/vendor/golang.org/x/xerrors/codereview.cfg b/vendor/golang.org/x/xerrors/codereview.cfg
new file mode 100644
index 000000000..3f8b14b64
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/codereview.cfg
@@ -0,0 +1 @@
+issuerepo: golang/go
diff --git a/vendor/golang.org/x/xerrors/doc.go b/vendor/golang.org/x/xerrors/doc.go
new file mode 100644
index 000000000..eef99d9d5
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/doc.go
@@ -0,0 +1,22 @@
+// Copyright 2019 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package xerrors implements functions to manipulate errors.
+//
+// This package is based on the Go 2 proposal for error values:
+// https://golang.org/design/29934-error-values
+//
+// These functions were incorporated into the standard library's errors package
+// in Go 1.13:
+// - Is
+// - As
+// - Unwrap
+//
+// Also, Errorf's %w verb was incorporated into fmt.Errorf.
+//
+// Use this package to get equivalent behavior in all supported Go versions.
+//
+// No other features of this package were included in Go 1.13, and at present
+// there are no plans to include any of them.
+package xerrors // import "golang.org/x/xerrors"
diff --git a/vendor/golang.org/x/xerrors/errors.go b/vendor/golang.org/x/xerrors/errors.go
new file mode 100644
index 000000000..e88d3772d
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/errors.go
@@ -0,0 +1,33 @@
+// Copyright 2011 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+import "fmt"
+
+// errorString is a trivial implementation of error.
+type errorString struct {
+ s string
+ frame Frame
+}
+
+// New returns an error that formats as the given text.
+//
+// The returned error contains a Frame set to the caller's location and
+// implements Formatter to show this information when printed with details.
+func New(text string) error {
+ return &errorString{text, Caller(1)}
+}
+
+func (e *errorString) Error() string {
+ return e.s
+}
+
+func (e *errorString) Format(s fmt.State, v rune) { FormatError(e, s, v) }
+
+func (e *errorString) FormatError(p Printer) (next error) {
+ p.Print(e.s)
+ e.frame.Format(p)
+ return nil
+}
diff --git a/vendor/golang.org/x/xerrors/fmt.go b/vendor/golang.org/x/xerrors/fmt.go
new file mode 100644
index 000000000..829862ddf
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/fmt.go
@@ -0,0 +1,187 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+import (
+ "fmt"
+ "strings"
+ "unicode"
+ "unicode/utf8"
+
+ "golang.org/x/xerrors/internal"
+)
+
+const percentBangString = "%!"
+
+// Errorf formats according to a format specifier and returns the string as a
+// value that satisfies error.
+//
+// The returned error includes the file and line number of the caller when
+// formatted with additional detail enabled. If the last argument is an error
+// the returned error's Format method will return it if the format string ends
+// with ": %s", ": %v", or ": %w". If the last argument is an error and the
+// format string ends with ": %w", the returned error implements an Unwrap
+// method returning it.
+//
+// If the format specifier includes a %w verb with an error operand in a
+// position other than at the end, the returned error will still implement an
+// Unwrap method returning the operand, but the error's Format method will not
+// return the wrapped error.
+//
+// It is invalid to include more than one %w verb or to supply it with an
+// operand that does not implement the error interface. The %w verb is otherwise
+// a synonym for %v.
+func Errorf(format string, a ...interface{}) error {
+ format = formatPlusW(format)
+ // Support a ": %[wsv]" suffix, which works well with xerrors.Formatter.
+ wrap := strings.HasSuffix(format, ": %w")
+ idx, format2, ok := parsePercentW(format)
+ percentWElsewhere := !wrap && idx >= 0
+ if !percentWElsewhere && (wrap || strings.HasSuffix(format, ": %s") || strings.HasSuffix(format, ": %v")) {
+ err := errorAt(a, len(a)-1)
+ if err == nil {
+ return &noWrapError{fmt.Sprintf(format, a...), nil, Caller(1)}
+ }
+ // TODO: this is not entirely correct. The error value could be
+ // printed elsewhere in format if it mixes numbered with unnumbered
+ // substitutions. With relatively small changes to doPrintf we can
+ // have it optionally ignore extra arguments and pass the argument
+ // list in its entirety.
+ msg := fmt.Sprintf(format[:len(format)-len(": %s")], a[:len(a)-1]...)
+ frame := Frame{}
+ if internal.EnableTrace {
+ frame = Caller(1)
+ }
+ if wrap {
+ return &wrapError{msg, err, frame}
+ }
+ return &noWrapError{msg, err, frame}
+ }
+ // Support %w anywhere.
+ // TODO: don't repeat the wrapped error's message when %w occurs in the middle.
+ msg := fmt.Sprintf(format2, a...)
+ if idx < 0 {
+ return &noWrapError{msg, nil, Caller(1)}
+ }
+ err := errorAt(a, idx)
+ if !ok || err == nil {
+ // Too many %ws or argument of %w is not an error. Approximate the Go
+ // 1.13 fmt.Errorf message.
+ return &noWrapError{fmt.Sprintf("%sw(%s)", percentBangString, msg), nil, Caller(1)}
+ }
+ frame := Frame{}
+ if internal.EnableTrace {
+ frame = Caller(1)
+ }
+ return &wrapError{msg, err, frame}
+}
+
+func errorAt(args []interface{}, i int) error {
+ if i < 0 || i >= len(args) {
+ return nil
+ }
+ err, ok := args[i].(error)
+ if !ok {
+ return nil
+ }
+ return err
+}
+
+// formatPlusW is used to avoid the vet check that will barf at %w.
+func formatPlusW(s string) string {
+ return s
+}
+
+// Return the index of the only %w in format, or -1 if none.
+// Also return a rewritten format string with %w replaced by %v, and
+// false if there is more than one %w.
+// TODO: handle "%[N]w".
+func parsePercentW(format string) (idx int, newFormat string, ok bool) {
+ // Loosely copied from golang.org/x/tools/go/analysis/passes/printf/printf.go.
+ idx = -1
+ ok = true
+ n := 0
+ sz := 0
+ var isW bool
+ for i := 0; i < len(format); i += sz {
+ if format[i] != '%' {
+ sz = 1
+ continue
+ }
+ // "%%" is not a format directive.
+ if i+1 < len(format) && format[i+1] == '%' {
+ sz = 2
+ continue
+ }
+ sz, isW = parsePrintfVerb(format[i:])
+ if isW {
+ if idx >= 0 {
+ ok = false
+ } else {
+ idx = n
+ }
+ // "Replace" the last character, the 'w', with a 'v'.
+ p := i + sz - 1
+ format = format[:p] + "v" + format[p+1:]
+ }
+ n++
+ }
+ return idx, format, ok
+}
+
+// Parse the printf verb starting with a % at s[0].
+// Return how many bytes it occupies and whether the verb is 'w'.
+func parsePrintfVerb(s string) (int, bool) {
+ // Assume only that the directive is a sequence of non-letters followed by a single letter.
+ sz := 0
+ var r rune
+ for i := 1; i < len(s); i += sz {
+ r, sz = utf8.DecodeRuneInString(s[i:])
+ if unicode.IsLetter(r) {
+ return i + sz, r == 'w'
+ }
+ }
+ return len(s), false
+}
+
+type noWrapError struct {
+ msg string
+ err error
+ frame Frame
+}
+
+func (e *noWrapError) Error() string {
+ return fmt.Sprint(e)
+}
+
+func (e *noWrapError) Format(s fmt.State, v rune) { FormatError(e, s, v) }
+
+func (e *noWrapError) FormatError(p Printer) (next error) {
+ p.Print(e.msg)
+ e.frame.Format(p)
+ return e.err
+}
+
+type wrapError struct {
+ msg string
+ err error
+ frame Frame
+}
+
+func (e *wrapError) Error() string {
+ return fmt.Sprint(e)
+}
+
+func (e *wrapError) Format(s fmt.State, v rune) { FormatError(e, s, v) }
+
+func (e *wrapError) FormatError(p Printer) (next error) {
+ p.Print(e.msg)
+ e.frame.Format(p)
+ return e.err
+}
+
+func (e *wrapError) Unwrap() error {
+ return e.err
+}
diff --git a/vendor/golang.org/x/xerrors/format.go b/vendor/golang.org/x/xerrors/format.go
new file mode 100644
index 000000000..1bc9c26b9
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/format.go
@@ -0,0 +1,34 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+// A Formatter formats error messages.
+type Formatter interface {
+ error
+
+ // FormatError prints the receiver's first error and returns the next error in
+ // the error chain, if any.
+ FormatError(p Printer) (next error)
+}
+
+// A Printer formats error messages.
+//
+// The most common implementation of Printer is the one provided by package fmt
+// during Printf (as of Go 1.13). Localization packages such as golang.org/x/text/message
+// typically provide their own implementations.
+type Printer interface {
+ // Print appends args to the message output.
+ Print(args ...interface{})
+
+ // Printf writes a formatted string.
+ Printf(format string, args ...interface{})
+
+ // Detail reports whether error detail is requested.
+ // After the first call to Detail, all text written to the Printer
+ // is formatted as additional detail, or ignored when
+ // detail has not been requested.
+ // If Detail returns false, the caller can avoid printing the detail at all.
+ Detail() bool
+}
diff --git a/vendor/golang.org/x/xerrors/frame.go b/vendor/golang.org/x/xerrors/frame.go
new file mode 100644
index 000000000..0de628ec5
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/frame.go
@@ -0,0 +1,56 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+import (
+ "runtime"
+)
+
+// A Frame contains part of a call stack.
+type Frame struct {
+ // Make room for three PCs: the one we were asked for, what it called,
+ // and possibly a PC for skipPleaseUseCallersFrames. See:
+ // https://go.googlesource.com/go/+/032678e0fb/src/runtime/extern.go#169
+ frames [3]uintptr
+}
+
+// Caller returns a Frame that describes a frame on the caller's stack.
+// The argument skip is the number of frames to skip over.
+// Caller(0) returns the frame for the caller of Caller.
+func Caller(skip int) Frame {
+ var s Frame
+ runtime.Callers(skip+1, s.frames[:])
+ return s
+}
+
+// location reports the file, line, and function of a frame.
+//
+// The returned function may be "" even if file and line are not.
+func (f Frame) location() (function, file string, line int) {
+ frames := runtime.CallersFrames(f.frames[:])
+ if _, ok := frames.Next(); !ok {
+ return "", "", 0
+ }
+ fr, ok := frames.Next()
+ if !ok {
+ return "", "", 0
+ }
+ return fr.Function, fr.File, fr.Line
+}
+
+// Format prints the stack as error detail.
+// It should be called from an error's Format implementation
+// after printing any other error detail.
+func (f Frame) Format(p Printer) {
+ if p.Detail() {
+ function, file, line := f.location()
+ if function != "" {
+ p.Printf("%s\n ", function)
+ }
+ if file != "" {
+ p.Printf("%s:%d\n", file, line)
+ }
+ }
+}
diff --git a/vendor/golang.org/x/xerrors/go.mod b/vendor/golang.org/x/xerrors/go.mod
new file mode 100644
index 000000000..870d4f612
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/go.mod
@@ -0,0 +1,3 @@
+module golang.org/x/xerrors
+
+go 1.11
diff --git a/vendor/golang.org/x/xerrors/internal/internal.go b/vendor/golang.org/x/xerrors/internal/internal.go
new file mode 100644
index 000000000..89f4eca5d
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/internal/internal.go
@@ -0,0 +1,8 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package internal
+
+// EnableTrace indicates whether stack information should be recorded in errors.
+var EnableTrace = true
diff --git a/vendor/golang.org/x/xerrors/wrap.go b/vendor/golang.org/x/xerrors/wrap.go
new file mode 100644
index 000000000..9a3b51037
--- /dev/null
+++ b/vendor/golang.org/x/xerrors/wrap.go
@@ -0,0 +1,106 @@
+// Copyright 2018 The Go Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package xerrors
+
+import (
+ "reflect"
+)
+
+// A Wrapper provides context around another error.
+type Wrapper interface {
+ // Unwrap returns the next error in the error chain.
+ // If there is no next error, Unwrap returns nil.
+ Unwrap() error
+}
+
+// Opaque returns an error with the same error formatting as err
+// but that does not match err and cannot be unwrapped.
+func Opaque(err error) error {
+ return noWrapper{err}
+}
+
+type noWrapper struct {
+ error
+}
+
+func (e noWrapper) FormatError(p Printer) (next error) {
+ if f, ok := e.error.(Formatter); ok {
+ return f.FormatError(p)
+ }
+ p.Print(e.error)
+ return nil
+}
+
+// Unwrap returns the result of calling the Unwrap method on err, if err implements
+// Unwrap. Otherwise, Unwrap returns nil.
+func Unwrap(err error) error {
+ u, ok := err.(Wrapper)
+ if !ok {
+ return nil
+ }
+ return u.Unwrap()
+}
+
+// Is reports whether any error in err's chain matches target.
+//
+// An error is considered to match a target if it is equal to that target or if
+// it implements a method Is(error) bool such that Is(target) returns true.
+func Is(err, target error) bool {
+ if target == nil {
+ return err == target
+ }
+
+ isComparable := reflect.TypeOf(target).Comparable()
+ for {
+ if isComparable && err == target {
+ return true
+ }
+ if x, ok := err.(interface{ Is(error) bool }); ok && x.Is(target) {
+ return true
+ }
+ // TODO: consider supporing target.Is(err). This would allow
+ // user-definable predicates, but also may allow for coping with sloppy
+ // APIs, thereby making it easier to get away with them.
+ if err = Unwrap(err); err == nil {
+ return false
+ }
+ }
+}
+
+// As finds the first error in err's chain that matches the type to which target
+// points, and if so, sets the target to its value and returns true. An error
+// matches a type if it is assignable to the target type, or if it has a method
+// As(interface{}) bool such that As(target) returns true. As will panic if target
+// is not a non-nil pointer to a type which implements error or is of interface type.
+//
+// The As method should set the target to its value and return true if err
+// matches the type to which target points.
+func As(err error, target interface{}) bool {
+ if target == nil {
+ panic("errors: target cannot be nil")
+ }
+ val := reflect.ValueOf(target)
+ typ := val.Type()
+ if typ.Kind() != reflect.Ptr || val.IsNil() {
+ panic("errors: target must be a non-nil pointer")
+ }
+ if e := typ.Elem(); e.Kind() != reflect.Interface && !e.Implements(errorType) {
+ panic("errors: *target must be interface or implement error")
+ }
+ targetType := typ.Elem()
+ for err != nil {
+ if reflect.TypeOf(err).AssignableTo(targetType) {
+ val.Elem().Set(reflect.ValueOf(err))
+ return true
+ }
+ if x, ok := err.(interface{ As(interface{}) bool }); ok && x.As(target) {
+ return true
+ }
+ err = Unwrap(err)
+ }
+ return false
+}
+
+var errorType = reflect.TypeOf((*error)(nil)).Elem()
diff --git a/vendor/google.golang.org/api/googleapi/googleapi.go b/vendor/google.golang.org/api/googleapi/googleapi.go
index 1a79e6d53..2d3e00edc 100644
--- a/vendor/google.golang.org/api/googleapi/googleapi.go
+++ b/vendor/google.golang.org/api/googleapi/googleapi.go
@@ -15,6 +15,7 @@ import (
"net/http"
"net/url"
"strings"
+ "time"
"google.golang.org/api/internal/third_party/uritemplates"
)
@@ -140,6 +141,7 @@ func CheckResponse(res *http.Response) error {
jerr.Error.Code = res.StatusCode
}
jerr.Error.Body = string(slurp)
+ jerr.Error.Header = res.Header
return jerr.Error
}
}
@@ -245,12 +247,30 @@ func ChunkSize(size int) MediaOption {
return chunkSizeOption(size)
}
+type chunkRetryDeadlineOption time.Duration
+
+func (cd chunkRetryDeadlineOption) setOptions(o *MediaOptions) {
+ o.ChunkRetryDeadline = time.Duration(cd)
+}
+
+// ChunkRetryDeadline returns a MediaOption which sets a per-chunk retry
+// deadline. If a single chunk has been attempting to upload for longer than
+// this time and the request fails, it will no longer be retried, and the error
+// will be returned to the caller.
+// This is only applicable for files which are large enough to require
+// a multi-chunk resumable upload.
+// The default value is 32s.
+// To set a deadline on the entire upload, use context timeout or cancellation.
+func ChunkRetryDeadline(deadline time.Duration) MediaOption {
+ return chunkRetryDeadlineOption(deadline)
+}
+
// MediaOptions stores options for customizing media upload. It is not used by developers directly.
type MediaOptions struct {
ContentType string
ForceEmptyContentType bool
-
- ChunkSize int
+ ChunkSize int
+ ChunkRetryDeadline time.Duration
}
// ProcessMediaOptions stores options from opts in a MediaOptions.
diff --git a/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-api.json b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-api.json
new file mode 100644
index 000000000..0c82b86a1
--- /dev/null
+++ b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-api.json
@@ -0,0 +1,372 @@
+{
+ "auth": {
+ "oauth2": {
+ "scopes": {
+ "https://www.googleapis.com/auth/cloud-platform": {
+ "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
+ }
+ }
+ }
+ },
+ "basePath": "",
+ "baseUrl": "https://iamcredentials.googleapis.com/",
+ "batchPath": "batch",
+ "canonicalName": "IAM Credentials",
+ "description": "Creates short-lived credentials for impersonating IAM service accounts. To enable this API, you must enable the IAM API (iam.googleapis.com). ",
+ "discoveryVersion": "v1",
+ "documentationLink": "https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials",
+ "fullyEncodeReservedExpansion": true,
+ "icons": {
+ "x16": "http://www.google.com/images/icons/product/search-16.gif",
+ "x32": "http://www.google.com/images/icons/product/search-32.gif"
+ },
+ "id": "iamcredentials:v1",
+ "kind": "discovery#restDescription",
+ "mtlsRootUrl": "https://iamcredentials.mtls.googleapis.com/",
+ "name": "iamcredentials",
+ "ownerDomain": "google.com",
+ "ownerName": "Google",
+ "parameters": {
+ "$.xgafv": {
+ "description": "V1 error format.",
+ "enum": [
+ "1",
+ "2"
+ ],
+ "enumDescriptions": [
+ "v1 error format",
+ "v2 error format"
+ ],
+ "location": "query",
+ "type": "string"
+ },
+ "access_token": {
+ "description": "OAuth access token.",
+ "location": "query",
+ "type": "string"
+ },
+ "alt": {
+ "default": "json",
+ "description": "Data format for response.",
+ "enum": [
+ "json",
+ "media",
+ "proto"
+ ],
+ "enumDescriptions": [
+ "Responses with Content-Type of application/json",
+ "Media download with context-dependent Content-Type",
+ "Responses with Content-Type of application/x-protobuf"
+ ],
+ "location": "query",
+ "type": "string"
+ },
+ "callback": {
+ "description": "JSONP",
+ "location": "query",
+ "type": "string"
+ },
+ "fields": {
+ "description": "Selector specifying which fields to include in a partial response.",
+ "location": "query",
+ "type": "string"
+ },
+ "key": {
+ "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
+ "location": "query",
+ "type": "string"
+ },
+ "oauth_token": {
+ "description": "OAuth 2.0 token for the current user.",
+ "location": "query",
+ "type": "string"
+ },
+ "prettyPrint": {
+ "default": "true",
+ "description": "Returns response with indentations and line breaks.",
+ "location": "query",
+ "type": "boolean"
+ },
+ "quotaUser": {
+ "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.",
+ "location": "query",
+ "type": "string"
+ },
+ "uploadType": {
+ "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").",
+ "location": "query",
+ "type": "string"
+ },
+ "upload_protocol": {
+ "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").",
+ "location": "query",
+ "type": "string"
+ }
+ },
+ "protocol": "rest",
+ "resources": {
+ "projects": {
+ "resources": {
+ "serviceAccounts": {
+ "methods": {
+ "generateAccessToken": {
+ "description": "Generates an OAuth 2.0 access token for a service account.",
+ "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken",
+ "httpMethod": "POST",
+ "id": "iamcredentials.projects.serviceAccounts.generateAccessToken",
+ "parameterOrder": [
+ "name"
+ ],
+ "parameters": {
+ "name": {
+ "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "location": "path",
+ "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "v1/{+name}:generateAccessToken",
+ "request": {
+ "$ref": "GenerateAccessTokenRequest"
+ },
+ "response": {
+ "$ref": "GenerateAccessTokenResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform"
+ ]
+ },
+ "generateIdToken": {
+ "description": "Generates an OpenID Connect ID token for a service account.",
+ "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken",
+ "httpMethod": "POST",
+ "id": "iamcredentials.projects.serviceAccounts.generateIdToken",
+ "parameterOrder": [
+ "name"
+ ],
+ "parameters": {
+ "name": {
+ "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "location": "path",
+ "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "v1/{+name}:generateIdToken",
+ "request": {
+ "$ref": "GenerateIdTokenRequest"
+ },
+ "response": {
+ "$ref": "GenerateIdTokenResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform"
+ ]
+ },
+ "signBlob": {
+ "description": "Signs a blob using a service account's system-managed private key.",
+ "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
+ "httpMethod": "POST",
+ "id": "iamcredentials.projects.serviceAccounts.signBlob",
+ "parameterOrder": [
+ "name"
+ ],
+ "parameters": {
+ "name": {
+ "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "location": "path",
+ "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "v1/{+name}:signBlob",
+ "request": {
+ "$ref": "SignBlobRequest"
+ },
+ "response": {
+ "$ref": "SignBlobResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform"
+ ]
+ },
+ "signJwt": {
+ "description": "Signs a JWT using a service account's system-managed private key.",
+ "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
+ "httpMethod": "POST",
+ "id": "iamcredentials.projects.serviceAccounts.signJwt",
+ "parameterOrder": [
+ "name"
+ ],
+ "parameters": {
+ "name": {
+ "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "location": "path",
+ "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "path": "v1/{+name}:signJwt",
+ "request": {
+ "$ref": "SignJwtRequest"
+ },
+ "response": {
+ "$ref": "SignJwtResponse"
+ },
+ "scopes": [
+ "https://www.googleapis.com/auth/cloud-platform"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "revision": "20211203",
+ "rootUrl": "https://iamcredentials.googleapis.com/",
+ "schemas": {
+ "GenerateAccessTokenRequest": {
+ "id": "GenerateAccessTokenRequest",
+ "properties": {
+ "delegates": {
+ "description": "The sequence of service accounts in a delegation chain. This field is required for [delegated requests](https://cloud.google.com/iam/help/credentials/delegated-request). For [direct requests](https://cloud.google.com/iam/help/credentials/direct-request), which are more common, do not specify this field. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "lifetime": {
+ "description": "The desired lifetime duration of the access token in seconds. By default, the maximum allowed value is 1 hour. To set a lifetime of up to 12 hours, you can add the service account as an allowed value in an Organization Policy that enforces the `constraints/iam.allowServiceAccountCredentialLifetimeExtension` constraint. See detailed instructions at https://cloud.google.com/iam/help/credentials/lifetime If a value is not specified, the token's lifetime will be set to a default value of 1 hour.",
+ "format": "google-duration",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Required. Code to identify the scopes to be included in the OAuth 2.0 access token. See https://developers.google.com/identity/protocols/googlescopes for more information. At least one value required.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
+ "GenerateAccessTokenResponse": {
+ "id": "GenerateAccessTokenResponse",
+ "properties": {
+ "accessToken": {
+ "description": "The OAuth 2.0 access token.",
+ "type": "string"
+ },
+ "expireTime": {
+ "description": "Token expiration time. The expiration time is always set.",
+ "format": "google-datetime",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "GenerateIdTokenRequest": {
+ "id": "GenerateIdTokenRequest",
+ "properties": {
+ "audience": {
+ "description": "Required. The audience for the token, such as the API or account that this token grants access to.",
+ "type": "string"
+ },
+ "delegates": {
+ "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "includeEmail": {
+ "description": "Include the service account email in the token. If set to `true`, the token will contain `email` and `email_verified` claims.",
+ "type": "boolean"
+ }
+ },
+ "type": "object"
+ },
+ "GenerateIdTokenResponse": {
+ "id": "GenerateIdTokenResponse",
+ "properties": {
+ "token": {
+ "description": "The OpenId Connect ID token.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SignBlobRequest": {
+ "id": "SignBlobRequest",
+ "properties": {
+ "delegates": {
+ "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payload": {
+ "description": "Required. The bytes to sign.",
+ "format": "byte",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SignBlobResponse": {
+ "id": "SignBlobResponse",
+ "properties": {
+ "keyId": {
+ "description": "The ID of the key used to sign the blob. The key used for signing will remain valid for at least 12 hours after the blob is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
+ "type": "string"
+ },
+ "signedBlob": {
+ "description": "The signature for the blob. Does not include the original blob. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the blob. As a result, the receiver can no longer verify the signature.",
+ "format": "byte",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SignJwtRequest": {
+ "id": "SignJwtRequest",
+ "properties": {
+ "delegates": {
+ "description": "The sequence of service accounts in a delegation chain. Each service account must be granted the `roles/iam.serviceAccountTokenCreator` role on its next service account in the chain. The last service account in the chain must be granted the `roles/iam.serviceAccountTokenCreator` role on the service account that is specified in the `name` field of the request. The delegates must have the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ },
+ "payload": {
+ "description": "Required. The JWT payload to sign. Must be a serialized JSON object that contains a JWT Claims Set. For example: `{\"sub\": \"user@example.com\", \"iat\": 313435}` If the JWT Claims Set contains an expiration time (`exp`) claim, it must be an integer timestamp that is not in the past and no more than 12 hours in the future.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
+ "SignJwtResponse": {
+ "id": "SignJwtResponse",
+ "properties": {
+ "keyId": {
+ "description": "The ID of the key used to sign the JWT. The key used for signing will remain valid for at least 12 hours after the JWT is signed. To verify the signature, you can retrieve the public key in several formats from the following endpoints: - RSA public key wrapped in an X.509 v3 certificate: `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT_EMAIL}` - Raw key in JSON format: `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_EMAIL}` - JSON Web Key (JWK): `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_EMAIL}`",
+ "type": "string"
+ },
+ "signedJwt": {
+ "description": "The signed JWT. Contains the automatically generated header; the client-supplied payload; and the signature, which is generated using the key referenced by the `kid` field in the header. After the key pair referenced by the `key_id` response field expires, Google no longer exposes the public key that can be used to verify the JWT. As a result, the receiver can no longer verify the signature.",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ }
+ },
+ "servicePath": "",
+ "title": "IAM Service Account Credentials API",
+ "version": "v1",
+ "version_module": true
+}
\ No newline at end of file
diff --git a/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go
new file mode 100644
index 000000000..547ec07cf
--- /dev/null
+++ b/vendor/google.golang.org/api/iamcredentials/v1/iamcredentials-gen.go
@@ -0,0 +1,1094 @@
+// Copyright 2022 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Code generated file. DO NOT EDIT.
+
+// Package iamcredentials provides access to the IAM Service Account Credentials API.
+//
+// For product documentation, see: https://cloud.google.com/iam/docs/creating-short-lived-service-account-credentials
+//
+// Creating a client
+//
+// Usage example:
+//
+// import "google.golang.org/api/iamcredentials/v1"
+// ...
+// ctx := context.Background()
+// iamcredentialsService, err := iamcredentials.NewService(ctx)
+//
+// In this example, Google Application Default Credentials are used for authentication.
+//
+// For information on how to create and obtain Application Default Credentials, see https://developers.google.com/identity/protocols/application-default-credentials.
+//
+// Other authentication options
+//
+// To use an API key for authentication (note: some APIs do not support API keys), use option.WithAPIKey:
+//
+// iamcredentialsService, err := iamcredentials.NewService(ctx, option.WithAPIKey("AIza..."))
+//
+// To use an OAuth token (e.g., a user token obtained via a three-legged OAuth flow), use option.WithTokenSource:
+//
+// config := &oauth2.Config{...}
+// // ...
+// token, err := config.Exchange(ctx, ...)
+// iamcredentialsService, err := iamcredentials.NewService(ctx, option.WithTokenSource(config.TokenSource(ctx, token)))
+//
+// See https://godoc.org/google.golang.org/api/option/ for details on options.
+package iamcredentials // import "google.golang.org/api/iamcredentials/v1"
+
+import (
+ "bytes"
+ "context"
+ "encoding/json"
+ "errors"
+ "fmt"
+ "io"
+ "net/http"
+ "net/url"
+ "strconv"
+ "strings"
+
+ googleapi "google.golang.org/api/googleapi"
+ internal "google.golang.org/api/internal"
+ gensupport "google.golang.org/api/internal/gensupport"
+ option "google.golang.org/api/option"
+ internaloption "google.golang.org/api/option/internaloption"
+ htransport "google.golang.org/api/transport/http"
+)
+
+// Always reference these packages, just in case the auto-generated code
+// below doesn't.
+var _ = bytes.NewBuffer
+var _ = strconv.Itoa
+var _ = fmt.Sprintf
+var _ = json.NewDecoder
+var _ = io.Copy
+var _ = url.Parse
+var _ = gensupport.MarshalJSON
+var _ = googleapi.Version
+var _ = errors.New
+var _ = strings.Replace
+var _ = context.Canceled
+var _ = internaloption.WithDefaultEndpoint
+
+const apiId = "iamcredentials:v1"
+const apiName = "iamcredentials"
+const apiVersion = "v1"
+const basePath = "https://iamcredentials.googleapis.com/"
+const mtlsBasePath = "https://iamcredentials.mtls.googleapis.com/"
+
+// OAuth2 scopes used by this API.
+const (
+ // See, edit, configure, and delete your Google Cloud data and see the
+ // email address for your Google Account.
+ CloudPlatformScope = "https://www.googleapis.com/auth/cloud-platform"
+)
+
+// NewService creates a new Service.
+func NewService(ctx context.Context, opts ...option.ClientOption) (*Service, error) {
+ scopesOption := option.WithScopes(
+ "https://www.googleapis.com/auth/cloud-platform",
+ )
+ // NOTE: prepend, so we don't override user-specified scopes.
+ opts = append([]option.ClientOption{scopesOption}, opts...)
+ opts = append(opts, internaloption.WithDefaultEndpoint(basePath))
+ opts = append(opts, internaloption.WithDefaultMTLSEndpoint(mtlsBasePath))
+ client, endpoint, err := htransport.NewClient(ctx, opts...)
+ if err != nil {
+ return nil, err
+ }
+ s, err := New(client)
+ if err != nil {
+ return nil, err
+ }
+ if endpoint != "" {
+ s.BasePath = endpoint
+ }
+ return s, nil
+}
+
+// New creates a new Service. It uses the provided http.Client for requests.
+//
+// Deprecated: please use NewService instead.
+// To provide a custom HTTP client, use option.WithHTTPClient.
+// If you are using google.golang.org/api/googleapis/transport.APIKey, use option.WithAPIKey with NewService instead.
+func New(client *http.Client) (*Service, error) {
+ if client == nil {
+ return nil, errors.New("client is nil")
+ }
+ s := &Service{client: client, BasePath: basePath}
+ s.Projects = NewProjectsService(s)
+ return s, nil
+}
+
+type Service struct {
+ client *http.Client
+ BasePath string // API endpoint base URL
+ UserAgent string // optional additional User-Agent fragment
+
+ Projects *ProjectsService
+}
+
+func (s *Service) userAgent() string {
+ if s.UserAgent == "" {
+ return googleapi.UserAgent
+ }
+ return googleapi.UserAgent + " " + s.UserAgent
+}
+
+func NewProjectsService(s *Service) *ProjectsService {
+ rs := &ProjectsService{s: s}
+ rs.ServiceAccounts = NewProjectsServiceAccountsService(s)
+ return rs
+}
+
+type ProjectsService struct {
+ s *Service
+
+ ServiceAccounts *ProjectsServiceAccountsService
+}
+
+func NewProjectsServiceAccountsService(s *Service) *ProjectsServiceAccountsService {
+ rs := &ProjectsServiceAccountsService{s: s}
+ return rs
+}
+
+type ProjectsServiceAccountsService struct {
+ s *Service
+}
+
+type GenerateAccessTokenRequest struct {
+ // Delegates: The sequence of service accounts in a delegation chain.
+ // This field is required for delegated requests
+ // (https://cloud.google.com/iam/help/credentials/delegated-request).
+ // For direct requests
+ // (https://cloud.google.com/iam/help/credentials/direct-request), which
+ // are more common, do not specify this field. Each service account must
+ // be granted the `roles/iam.serviceAccountTokenCreator` role on its
+ // next service account in the chain. The last service account in the
+ // chain must be granted the `roles/iam.serviceAccountTokenCreator` role
+ // on the service account that is specified in the `name` field of the
+ // request. The delegates must have the following format:
+ // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+ // wildcard character is required; replacing it with a project ID is
+ // invalid.
+ Delegates []string `json:"delegates,omitempty"`
+
+ // Lifetime: The desired lifetime duration of the access token in
+ // seconds. By default, the maximum allowed value is 1 hour. To set a
+ // lifetime of up to 12 hours, you can add the service account as an
+ // allowed value in an Organization Policy that enforces the
+ // `constraints/iam.allowServiceAccountCredentialLifetimeExtension`
+ // constraint. See detailed instructions at
+ // https://cloud.google.com/iam/help/credentials/lifetime If a value is
+ // not specified, the token's lifetime will be set to a default value of
+ // 1 hour.
+ Lifetime string `json:"lifetime,omitempty"`
+
+ // Scope: Required. Code to identify the scopes to be included in the
+ // OAuth 2.0 access token. See
+ // https://developers.google.com/identity/protocols/googlescopes for
+ // more information. At least one value required.
+ Scope []string `json:"scope,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Delegates") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Delegates") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GenerateAccessTokenRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GenerateAccessTokenRequest
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type GenerateAccessTokenResponse struct {
+ // AccessToken: The OAuth 2.0 access token.
+ AccessToken string `json:"accessToken,omitempty"`
+
+ // ExpireTime: Token expiration time. The expiration time is always set.
+ ExpireTime string `json:"expireTime,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "AccessToken") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "AccessToken") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GenerateAccessTokenResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod GenerateAccessTokenResponse
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type GenerateIdTokenRequest struct {
+ // Audience: Required. The audience for the token, such as the API or
+ // account that this token grants access to.
+ Audience string `json:"audience,omitempty"`
+
+ // Delegates: The sequence of service accounts in a delegation chain.
+ // Each service account must be granted the
+ // `roles/iam.serviceAccountTokenCreator` role on its next service
+ // account in the chain. The last service account in the chain must be
+ // granted the `roles/iam.serviceAccountTokenCreator` role on the
+ // service account that is specified in the `name` field of the request.
+ // The delegates must have the following format:
+ // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+ // wildcard character is required; replacing it with a project ID is
+ // invalid.
+ Delegates []string `json:"delegates,omitempty"`
+
+ // IncludeEmail: Include the service account email in the token. If set
+ // to `true`, the token will contain `email` and `email_verified`
+ // claims.
+ IncludeEmail bool `json:"includeEmail,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Audience") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Audience") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GenerateIdTokenRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod GenerateIdTokenRequest
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type GenerateIdTokenResponse struct {
+ // Token: The OpenId Connect ID token.
+ Token string `json:"token,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "Token") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Token") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *GenerateIdTokenResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod GenerateIdTokenResponse
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SignBlobRequest struct {
+ // Delegates: The sequence of service accounts in a delegation chain.
+ // Each service account must be granted the
+ // `roles/iam.serviceAccountTokenCreator` role on its next service
+ // account in the chain. The last service account in the chain must be
+ // granted the `roles/iam.serviceAccountTokenCreator` role on the
+ // service account that is specified in the `name` field of the request.
+ // The delegates must have the following format:
+ // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+ // wildcard character is required; replacing it with a project ID is
+ // invalid.
+ Delegates []string `json:"delegates,omitempty"`
+
+ // Payload: Required. The bytes to sign.
+ Payload string `json:"payload,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Delegates") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Delegates") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SignBlobRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod SignBlobRequest
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SignBlobResponse struct {
+ // KeyId: The ID of the key used to sign the blob. The key used for
+ // signing will remain valid for at least 12 hours after the blob is
+ // signed. To verify the signature, you can retrieve the public key in
+ // several formats from the following endpoints: - RSA public key
+ // wrapped in an X.509 v3 certificate:
+ // `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT
+ // _EMAIL}` - Raw key in JSON format:
+ // `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_
+ // EMAIL}` - JSON Web Key (JWK):
+ // `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_
+ // EMAIL}`
+ KeyId string `json:"keyId,omitempty"`
+
+ // SignedBlob: The signature for the blob. Does not include the original
+ // blob. After the key pair referenced by the `key_id` response field
+ // expires, Google no longer exposes the public key that can be used to
+ // verify the blob. As a result, the receiver can no longer verify the
+ // signature.
+ SignedBlob string `json:"signedBlob,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "KeyId") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "KeyId") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SignBlobResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod SignBlobResponse
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SignJwtRequest struct {
+ // Delegates: The sequence of service accounts in a delegation chain.
+ // Each service account must be granted the
+ // `roles/iam.serviceAccountTokenCreator` role on its next service
+ // account in the chain. The last service account in the chain must be
+ // granted the `roles/iam.serviceAccountTokenCreator` role on the
+ // service account that is specified in the `name` field of the request.
+ // The delegates must have the following format:
+ // `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+ // wildcard character is required; replacing it with a project ID is
+ // invalid.
+ Delegates []string `json:"delegates,omitempty"`
+
+ // Payload: Required. The JWT payload to sign. Must be a serialized JSON
+ // object that contains a JWT Claims Set. For example: `{"sub":
+ // "user@example.com", "iat": 313435}` If the JWT Claims Set contains an
+ // expiration time (`exp`) claim, it must be an integer timestamp that
+ // is not in the past and no more than 12 hours in the future.
+ Payload string `json:"payload,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Delegates") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Delegates") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SignJwtRequest) MarshalJSON() ([]byte, error) {
+ type NoMethod SignJwtRequest
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+type SignJwtResponse struct {
+ // KeyId: The ID of the key used to sign the JWT. The key used for
+ // signing will remain valid for at least 12 hours after the JWT is
+ // signed. To verify the signature, you can retrieve the public key in
+ // several formats from the following endpoints: - RSA public key
+ // wrapped in an X.509 v3 certificate:
+ // `https://www.googleapis.com/service_accounts/v1/metadata/x509/{ACCOUNT
+ // _EMAIL}` - Raw key in JSON format:
+ // `https://www.googleapis.com/service_accounts/v1/metadata/raw/{ACCOUNT_
+ // EMAIL}` - JSON Web Key (JWK):
+ // `https://www.googleapis.com/service_accounts/v1/metadata/jwk/{ACCOUNT_
+ // EMAIL}`
+ KeyId string `json:"keyId,omitempty"`
+
+ // SignedJwt: The signed JWT. Contains the automatically generated
+ // header; the client-supplied payload; and the signature, which is
+ // generated using the key referenced by the `kid` field in the header.
+ // After the key pair referenced by the `key_id` response field expires,
+ // Google no longer exposes the public key that can be used to verify
+ // the JWT. As a result, the receiver can no longer verify the
+ // signature.
+ SignedJwt string `json:"signedJwt,omitempty"`
+
+ // ServerResponse contains the HTTP response code and headers from the
+ // server.
+ googleapi.ServerResponse `json:"-"`
+
+ // ForceSendFields is a list of field names (e.g. "KeyId") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "KeyId") to include in API
+ // requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *SignJwtResponse) MarshalJSON() ([]byte, error) {
+ type NoMethod SignJwtResponse
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
+// method id "iamcredentials.projects.serviceAccounts.generateAccessToken":
+
+type ProjectsServiceAccountsGenerateAccessTokenCall struct {
+ s *Service
+ name string
+ generateaccesstokenrequest *GenerateAccessTokenRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GenerateAccessToken: Generates an OAuth 2.0 access token for a
+// service account.
+//
+// - name: The resource name of the service account for which the
+// credentials are requested, in the following format:
+// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+// wildcard character is required; replacing it with a project ID is
+// invalid.
+func (r *ProjectsServiceAccountsService) GenerateAccessToken(name string, generateaccesstokenrequest *GenerateAccessTokenRequest) *ProjectsServiceAccountsGenerateAccessTokenCall {
+ c := &ProjectsServiceAccountsGenerateAccessTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.name = name
+ c.generateaccesstokenrequest = generateaccesstokenrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsGenerateAccessTokenCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Context(ctx context.Context) *ProjectsServiceAccountsGenerateAccessTokenCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsServiceAccountsGenerateAccessTokenCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateaccesstokenrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateAccessToken")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "name": c.name,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "iamcredentials.projects.serviceAccounts.generateAccessToken" call.
+// Exactly one of *GenerateAccessTokenResponse or error will be non-nil.
+// Any non-2xx status code is an error. Response headers are in either
+// *GenerateAccessTokenResponse.ServerResponse.Header or (if a response
+// was returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsServiceAccountsGenerateAccessTokenCall) Do(opts ...googleapi.CallOption) (*GenerateAccessTokenResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &GenerateAccessTokenResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := gensupport.DecodeResponse(target, res); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Generates an OAuth 2.0 access token for a service account.",
+ // "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateAccessToken",
+ // "httpMethod": "POST",
+ // "id": "iamcredentials.projects.serviceAccounts.generateAccessToken",
+ // "parameterOrder": [
+ // "name"
+ // ],
+ // "parameters": {
+ // "name": {
+ // "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ // "location": "path",
+ // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "v1/{+name}:generateAccessToken",
+ // "request": {
+ // "$ref": "GenerateAccessTokenRequest"
+ // },
+ // "response": {
+ // "$ref": "GenerateAccessTokenResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform"
+ // ]
+ // }
+
+}
+
+// method id "iamcredentials.projects.serviceAccounts.generateIdToken":
+
+type ProjectsServiceAccountsGenerateIdTokenCall struct {
+ s *Service
+ name string
+ generateidtokenrequest *GenerateIdTokenRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// GenerateIdToken: Generates an OpenID Connect ID token for a service
+// account.
+//
+// - name: The resource name of the service account for which the
+// credentials are requested, in the following format:
+// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+// wildcard character is required; replacing it with a project ID is
+// invalid.
+func (r *ProjectsServiceAccountsService) GenerateIdToken(name string, generateidtokenrequest *GenerateIdTokenRequest) *ProjectsServiceAccountsGenerateIdTokenCall {
+ c := &ProjectsServiceAccountsGenerateIdTokenCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.name = name
+ c.generateidtokenrequest = generateidtokenrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsServiceAccountsGenerateIdTokenCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsGenerateIdTokenCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsServiceAccountsGenerateIdTokenCall) Context(ctx context.Context) *ProjectsServiceAccountsGenerateIdTokenCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsServiceAccountsGenerateIdTokenCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsServiceAccountsGenerateIdTokenCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.generateidtokenrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:generateIdToken")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "name": c.name,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "iamcredentials.projects.serviceAccounts.generateIdToken" call.
+// Exactly one of *GenerateIdTokenResponse or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *GenerateIdTokenResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsServiceAccountsGenerateIdTokenCall) Do(opts ...googleapi.CallOption) (*GenerateIdTokenResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &GenerateIdTokenResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := gensupport.DecodeResponse(target, res); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Generates an OpenID Connect ID token for a service account.",
+ // "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:generateIdToken",
+ // "httpMethod": "POST",
+ // "id": "iamcredentials.projects.serviceAccounts.generateIdToken",
+ // "parameterOrder": [
+ // "name"
+ // ],
+ // "parameters": {
+ // "name": {
+ // "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ // "location": "path",
+ // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "v1/{+name}:generateIdToken",
+ // "request": {
+ // "$ref": "GenerateIdTokenRequest"
+ // },
+ // "response": {
+ // "$ref": "GenerateIdTokenResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform"
+ // ]
+ // }
+
+}
+
+// method id "iamcredentials.projects.serviceAccounts.signBlob":
+
+type ProjectsServiceAccountsSignBlobCall struct {
+ s *Service
+ name string
+ signblobrequest *SignBlobRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SignBlob: Signs a blob using a service account's system-managed
+// private key.
+//
+// - name: The resource name of the service account for which the
+// credentials are requested, in the following format:
+// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+// wildcard character is required; replacing it with a project ID is
+// invalid.
+func (r *ProjectsServiceAccountsService) SignBlob(name string, signblobrequest *SignBlobRequest) *ProjectsServiceAccountsSignBlobCall {
+ c := &ProjectsServiceAccountsSignBlobCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.name = name
+ c.signblobrequest = signblobrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsServiceAccountsSignBlobCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsSignBlobCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsServiceAccountsSignBlobCall) Context(ctx context.Context) *ProjectsServiceAccountsSignBlobCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsServiceAccountsSignBlobCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsServiceAccountsSignBlobCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.signblobrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:signBlob")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "name": c.name,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "iamcredentials.projects.serviceAccounts.signBlob" call.
+// Exactly one of *SignBlobResponse or error will be non-nil. Any
+// non-2xx status code is an error. Response headers are in either
+// *SignBlobResponse.ServerResponse.Header or (if a response was
+// returned at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsServiceAccountsSignBlobCall) Do(opts ...googleapi.CallOption) (*SignBlobResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &SignBlobResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := gensupport.DecodeResponse(target, res); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Signs a blob using a service account's system-managed private key.",
+ // "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signBlob",
+ // "httpMethod": "POST",
+ // "id": "iamcredentials.projects.serviceAccounts.signBlob",
+ // "parameterOrder": [
+ // "name"
+ // ],
+ // "parameters": {
+ // "name": {
+ // "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ // "location": "path",
+ // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "v1/{+name}:signBlob",
+ // "request": {
+ // "$ref": "SignBlobRequest"
+ // },
+ // "response": {
+ // "$ref": "SignBlobResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform"
+ // ]
+ // }
+
+}
+
+// method id "iamcredentials.projects.serviceAccounts.signJwt":
+
+type ProjectsServiceAccountsSignJwtCall struct {
+ s *Service
+ name string
+ signjwtrequest *SignJwtRequest
+ urlParams_ gensupport.URLParams
+ ctx_ context.Context
+ header_ http.Header
+}
+
+// SignJwt: Signs a JWT using a service account's system-managed private
+// key.
+//
+// - name: The resource name of the service account for which the
+// credentials are requested, in the following format:
+// `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-`
+// wildcard character is required; replacing it with a project ID is
+// invalid.
+func (r *ProjectsServiceAccountsService) SignJwt(name string, signjwtrequest *SignJwtRequest) *ProjectsServiceAccountsSignJwtCall {
+ c := &ProjectsServiceAccountsSignJwtCall{s: r.s, urlParams_: make(gensupport.URLParams)}
+ c.name = name
+ c.signjwtrequest = signjwtrequest
+ return c
+}
+
+// Fields allows partial responses to be retrieved. See
+// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
+// for more information.
+func (c *ProjectsServiceAccountsSignJwtCall) Fields(s ...googleapi.Field) *ProjectsServiceAccountsSignJwtCall {
+ c.urlParams_.Set("fields", googleapi.CombineFields(s))
+ return c
+}
+
+// Context sets the context to be used in this call's Do method. Any
+// pending HTTP request will be aborted if the provided context is
+// canceled.
+func (c *ProjectsServiceAccountsSignJwtCall) Context(ctx context.Context) *ProjectsServiceAccountsSignJwtCall {
+ c.ctx_ = ctx
+ return c
+}
+
+// Header returns an http.Header that can be modified by the caller to
+// add HTTP headers to the request.
+func (c *ProjectsServiceAccountsSignJwtCall) Header() http.Header {
+ if c.header_ == nil {
+ c.header_ = make(http.Header)
+ }
+ return c.header_
+}
+
+func (c *ProjectsServiceAccountsSignJwtCall) doRequest(alt string) (*http.Response, error) {
+ reqHeaders := make(http.Header)
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
+ for k, v := range c.header_ {
+ reqHeaders[k] = v
+ }
+ reqHeaders.Set("User-Agent", c.s.userAgent())
+ var body io.Reader = nil
+ body, err := googleapi.WithoutDataWrapper.JSONReader(c.signjwtrequest)
+ if err != nil {
+ return nil, err
+ }
+ reqHeaders.Set("Content-Type", "application/json")
+ c.urlParams_.Set("alt", alt)
+ c.urlParams_.Set("prettyPrint", "false")
+ urls := googleapi.ResolveRelative(c.s.BasePath, "v1/{+name}:signJwt")
+ urls += "?" + c.urlParams_.Encode()
+ req, err := http.NewRequest("POST", urls, body)
+ if err != nil {
+ return nil, err
+ }
+ req.Header = reqHeaders
+ googleapi.Expand(req.URL, map[string]string{
+ "name": c.name,
+ })
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
+}
+
+// Do executes the "iamcredentials.projects.serviceAccounts.signJwt" call.
+// Exactly one of *SignJwtResponse or error will be non-nil. Any non-2xx
+// status code is an error. Response headers are in either
+// *SignJwtResponse.ServerResponse.Header or (if a response was returned
+// at all) in error.(*googleapi.Error).Header. Use
+// googleapi.IsNotModified to check whether the returned error was
+// because http.StatusNotModified was returned.
+func (c *ProjectsServiceAccountsSignJwtCall) Do(opts ...googleapi.CallOption) (*SignJwtResponse, error) {
+ gensupport.SetOptions(c.urlParams_, opts...)
+ res, err := c.doRequest("json")
+ if res != nil && res.StatusCode == http.StatusNotModified {
+ if res.Body != nil {
+ res.Body.Close()
+ }
+ return nil, &googleapi.Error{
+ Code: res.StatusCode,
+ Header: res.Header,
+ }
+ }
+ if err != nil {
+ return nil, err
+ }
+ defer googleapi.CloseBody(res)
+ if err := googleapi.CheckResponse(res); err != nil {
+ return nil, err
+ }
+ ret := &SignJwtResponse{
+ ServerResponse: googleapi.ServerResponse{
+ Header: res.Header,
+ HTTPStatusCode: res.StatusCode,
+ },
+ }
+ target := &ret
+ if err := gensupport.DecodeResponse(target, res); err != nil {
+ return nil, err
+ }
+ return ret, nil
+ // {
+ // "description": "Signs a JWT using a service account's system-managed private key.",
+ // "flatPath": "v1/projects/{projectsId}/serviceAccounts/{serviceAccountsId}:signJwt",
+ // "httpMethod": "POST",
+ // "id": "iamcredentials.projects.serviceAccounts.signJwt",
+ // "parameterOrder": [
+ // "name"
+ // ],
+ // "parameters": {
+ // "name": {
+ // "description": "Required. The resource name of the service account for which the credentials are requested, in the following format: `projects/-/serviceAccounts/{ACCOUNT_EMAIL_OR_UNIQUEID}`. The `-` wildcard character is required; replacing it with a project ID is invalid.",
+ // "location": "path",
+ // "pattern": "^projects/[^/]+/serviceAccounts/[^/]+$",
+ // "required": true,
+ // "type": "string"
+ // }
+ // },
+ // "path": "v1/{+name}:signJwt",
+ // "request": {
+ // "$ref": "SignJwtRequest"
+ // },
+ // "response": {
+ // "$ref": "SignJwtResponse"
+ // },
+ // "scopes": [
+ // "https://www.googleapis.com/auth/cloud-platform"
+ // ]
+ // }
+
+}
diff --git a/vendor/google.golang.org/api/internal/gensupport/media.go b/vendor/google.golang.org/api/internal/gensupport/media.go
index 0460ab594..d14a22470 100644
--- a/vendor/google.golang.org/api/internal/gensupport/media.go
+++ b/vendor/google.golang.org/api/internal/gensupport/media.go
@@ -15,6 +15,7 @@ import (
"net/textproto"
"strings"
"sync"
+ "time"
"google.golang.org/api/googleapi"
)
@@ -217,12 +218,13 @@ func PrepareUpload(media io.Reader, chunkSize int) (r io.Reader, mb *MediaBuffer
// code only.
type MediaInfo struct {
// At most one of Media and MediaBuffer will be set.
- media io.Reader
- buffer *MediaBuffer
- singleChunk bool
- mType string
- size int64 // mediaSize, if known. Used only for calls to progressUpdater_.
- progressUpdater googleapi.ProgressUpdater
+ media io.Reader
+ buffer *MediaBuffer
+ singleChunk bool
+ mType string
+ size int64 // mediaSize, if known. Used only for calls to progressUpdater_.
+ progressUpdater googleapi.ProgressUpdater
+ chunkRetryDeadline time.Duration
}
// NewInfoFromMedia should be invoked from the Media method of a call. It returns a
@@ -234,6 +236,7 @@ func NewInfoFromMedia(r io.Reader, options []googleapi.MediaOption) *MediaInfo {
if !opts.ForceEmptyContentType {
r, mi.mType = DetermineContentType(r, opts.ContentType)
}
+ mi.chunkRetryDeadline = opts.ChunkRetryDeadline
mi.media, mi.buffer, mi.singleChunk = PrepareUpload(r, opts.ChunkSize)
return mi
}
@@ -356,6 +359,7 @@ func (mi *MediaInfo) ResumableUpload(locURI string) *ResumableUpload {
mi.progressUpdater(curr, mi.size)
}
},
+ ChunkRetryDeadline: mi.chunkRetryDeadline,
}
}
diff --git a/vendor/google.golang.org/api/internal/gensupport/resumable.go b/vendor/google.golang.org/api/internal/gensupport/resumable.go
index edc87ec24..0eae147fa 100644
--- a/vendor/google.golang.org/api/internal/gensupport/resumable.go
+++ b/vendor/google.golang.org/api/internal/gensupport/resumable.go
@@ -12,32 +12,6 @@ import (
"net/http"
"sync"
"time"
-
- gax "github.com/googleapis/gax-go/v2"
-)
-
-// Backoff is an interface around gax.Backoff's Pause method, allowing tests to provide their
-// own implementation.
-type Backoff interface {
- Pause() time.Duration
-}
-
-// These are declared as global variables so that tests can overwrite them.
-var (
- retryDeadline = 32 * time.Second
- backoff = func() Backoff {
- return &gax.Backoff{Initial: 100 * time.Millisecond}
- }
- // isRetryable is a platform-specific hook, specified in retryable_linux.go
- syscallRetryable func(error) bool = func(err error) bool { return false }
-)
-
-const (
- // statusTooManyRequests is returned by the storage API if the
- // per-project limits have been temporarily exceeded. The request
- // should be retried.
- // https://cloud.google.com/storage/docs/json_api/v1/status-codes#standardcodes
- statusTooManyRequests = 429
)
// ResumableUpload is used by the generated APIs to provide resumable uploads.
@@ -57,6 +31,13 @@ type ResumableUpload struct {
// Callback is an optional function that will be periodically called with the cumulative number of bytes uploaded.
Callback func(int64)
+
+ // Retry optionally configures retries for requests made against the upload.
+ Retry *RetryConfig
+
+ // ChunkRetryDeadline configures the per-chunk deadline after which no further
+ // retries should happen.
+ ChunkRetryDeadline time.Duration
}
// Progress returns the number of bytes uploaded at this point.
@@ -174,15 +155,31 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err
}
return nil, err
}
+ // This case is very unlikely but possible only if rx.ChunkRetryDeadline is
+ // set to a very small value, in which case no requests will be sent before
+ // the deadline. Return an error to avoid causing a panic.
+ if resp == nil {
+ return nil, fmt.Errorf("upload request to %v not sent, choose larger value for ChunkRetryDealine", rx.URI)
+ }
return resp, nil
}
+ // Configure retryable error criteria.
+ errorFunc := rx.Retry.errorFunc()
+
+ // Configure per-chunk retry deadline.
+ var retryDeadline time.Duration
+ if rx.ChunkRetryDeadline != 0 {
+ retryDeadline = rx.ChunkRetryDeadline
+ } else {
+ retryDeadline = defaultRetryDeadline
+ }
// Send all chunks.
for {
var pause time.Duration
- // Each chunk gets its own initialized-at-zero retry.
- bo := backoff()
+ // Each chunk gets its own initialized-at-zero backoff.
+ bo := rx.Retry.backoff()
quitAfter := time.After(retryDeadline)
// Retry loop for a single chunk.
@@ -198,6 +195,22 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err
return prepareReturn(resp, err)
}
+ // Check for context cancellation or timeout once more. If more than one
+ // case in the select statement above was satisfied at the same time, Go
+ // will choose one arbitrarily.
+ // That can cause an operation to go through even if the context was
+ // canceled before or the timeout was reached.
+ select {
+ case <-ctx.Done():
+ if err == nil {
+ err = ctx.Err()
+ }
+ return prepareReturn(resp, err)
+ case <-quitAfter:
+ return prepareReturn(resp, err)
+ default:
+ }
+
resp, err = rx.transferChunk(ctx)
var status int
@@ -206,7 +219,7 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err
}
// Check if we should retry the request.
- if !shouldRetry(status, err) {
+ if !errorFunc(status, err) {
break
}
@@ -226,33 +239,3 @@ func (rx *ResumableUpload) Upload(ctx context.Context) (resp *http.Response, err
return prepareReturn(resp, err)
}
}
-
-// shouldRetry indicates whether an error is retryable for the purposes of this
-// package, following guidance from
-// https://cloud.google.com/storage/docs/exponential-backoff .
-func shouldRetry(status int, err error) bool {
- if 500 <= status && status <= 599 {
- return true
- }
- if status == statusTooManyRequests {
- return true
- }
- if err == io.ErrUnexpectedEOF {
- return true
- }
- // Transient network errors should be retried.
- if syscallRetryable(err) {
- return true
- }
- if err, ok := err.(interface{ Temporary() bool }); ok {
- if err.Temporary() {
- return true
- }
- }
- // If Go 1.13 error unwrapping is available, use this to examine wrapped
- // errors.
- if err, ok := err.(interface{ Unwrap() error }); ok {
- return shouldRetry(status, err.Unwrap())
- }
- return false
-}
diff --git a/vendor/google.golang.org/api/internal/gensupport/retry.go b/vendor/google.golang.org/api/internal/gensupport/retry.go
new file mode 100644
index 000000000..20b57d925
--- /dev/null
+++ b/vendor/google.golang.org/api/internal/gensupport/retry.go
@@ -0,0 +1,121 @@
+// Copyright 2021 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package gensupport
+
+import (
+ "errors"
+ "io"
+ "net"
+ "strings"
+ "time"
+
+ "github.com/googleapis/gax-go/v2"
+ "google.golang.org/api/googleapi"
+)
+
+// Backoff is an interface around gax.Backoff's Pause method, allowing tests to provide their
+// own implementation.
+type Backoff interface {
+ Pause() time.Duration
+}
+
+// These are declared as global variables so that tests can overwrite them.
+var (
+ // Default per-chunk deadline for resumable uploads.
+ defaultRetryDeadline = 32 * time.Second
+ // Default backoff timer.
+ backoff = func() Backoff {
+ return &gax.Backoff{Initial: 100 * time.Millisecond}
+ }
+ // syscallRetryable is a platform-specific hook, specified in retryable_linux.go
+ syscallRetryable func(error) bool = func(err error) bool { return false }
+)
+
+const (
+ // statusTooManyRequests is returned by the storage API if the
+ // per-project limits have been temporarily exceeded. The request
+ // should be retried.
+ // https://cloud.google.com/storage/docs/json_api/v1/status-codes#standardcodes
+ statusTooManyRequests = 429
+
+ // statusRequestTimeout is returned by the storage API if the
+ // upload connection was broken. The request should be retried.
+ statusRequestTimeout = 408
+)
+
+// shouldRetry indicates whether an error is retryable for the purposes of this
+// package, unless a ShouldRetry func is specified by the RetryConfig instead.
+// It follows guidance from
+// https://cloud.google.com/storage/docs/exponential-backoff .
+func shouldRetry(status int, err error) bool {
+ if 500 <= status && status <= 599 {
+ return true
+ }
+ if status == statusTooManyRequests || status == statusRequestTimeout {
+ return true
+ }
+ if err == io.ErrUnexpectedEOF {
+ return true
+ }
+ // Transient network errors should be retried.
+ if syscallRetryable(err) {
+ return true
+ }
+ if err, ok := err.(interface{ Temporary() bool }); ok {
+ if err.Temporary() {
+ return true
+ }
+ }
+ var opErr *net.OpError
+ if errors.As(err, &opErr) {
+ if strings.Contains(opErr.Error(), "use of closed network connection") {
+ // TODO: check against net.ErrClosed (go 1.16+) instead of string
+ return true
+ }
+ }
+
+ // If Go 1.13 error unwrapping is available, use this to examine wrapped
+ // errors.
+ if err, ok := err.(interface{ Unwrap() error }); ok {
+ return shouldRetry(status, err.Unwrap())
+ }
+ return false
+}
+
+// RetryConfig allows configuration of backoff timing and retryable errors.
+type RetryConfig struct {
+ Backoff *gax.Backoff
+ ShouldRetry func(err error) bool
+}
+
+// Get a new backoff object based on the configured values.
+func (r *RetryConfig) backoff() Backoff {
+ if r == nil || r.Backoff == nil {
+ return backoff()
+ }
+ return &gax.Backoff{
+ Initial: r.Backoff.Initial,
+ Max: r.Backoff.Max,
+ Multiplier: r.Backoff.Multiplier,
+ }
+}
+
+// This is kind of hacky; it is necessary because ShouldRetry expects to
+// handle HTTP errors via googleapi.Error, but the error has not yet been
+// wrapped with a googleapi.Error at this layer, and the ErrorFunc type
+// in the manual layer does not pass in a status explicitly as it does
+// here. So, we must wrap error status codes in a googleapi.Error so that
+// ShouldRetry can parse this correctly.
+func (r *RetryConfig) errorFunc() func(status int, err error) bool {
+ if r == nil || r.ShouldRetry == nil {
+ return shouldRetry
+ }
+ return func(status int, err error) bool {
+ if status >= 400 {
+ return r.ShouldRetry(&googleapi.Error{Code: status})
+ }
+ return r.ShouldRetry(err)
+ }
+}
diff --git a/vendor/google.golang.org/api/internal/gensupport/send.go b/vendor/google.golang.org/api/internal/gensupport/send.go
index 276d6f696..dd50cc20a 100644
--- a/vendor/google.golang.org/api/internal/gensupport/send.go
+++ b/vendor/google.golang.org/api/internal/gensupport/send.go
@@ -10,6 +10,8 @@ import (
"errors"
"net/http"
"time"
+
+ "github.com/googleapis/gax-go/v2"
)
// SendRequest sends a single HTTP request using the given client.
@@ -50,7 +52,7 @@ func send(ctx context.Context, client *http.Client, req *http.Request) (*http.Re
// If ctx is non-nil, it calls all hooks, then sends the request with
// req.WithContext, then calls any functions returned by the hooks in
// reverse order.
-func SendRequestWithRetry(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
+func SendRequestWithRetry(ctx context.Context, client *http.Client, req *http.Request, retry *RetryConfig) (*http.Response, error) {
// Disallow Accept-Encoding because it interferes with the automatic gzip handling
// done by the default http.Transport. See https://github.com/google/google-api-go-client/issues/219.
if _, ok := req.Header["Accept-Encoding"]; ok {
@@ -59,10 +61,10 @@ func SendRequestWithRetry(ctx context.Context, client *http.Client, req *http.Re
if ctx == nil {
return client.Do(req)
}
- return sendAndRetry(ctx, client, req)
+ return sendAndRetry(ctx, client, req, retry)
}
-func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error) {
+func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request, retry *RetryConfig) (*http.Response, error) {
if client == nil {
client = http.DefaultClient
}
@@ -72,7 +74,18 @@ func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request) (
// Loop to retry the request, up to the context deadline.
var pause time.Duration
- bo := backoff()
+ var bo Backoff
+ if retry != nil && retry.Backoff != nil {
+ bo = &gax.Backoff{
+ Initial: retry.Backoff.Initial,
+ Max: retry.Backoff.Max,
+ Multiplier: retry.Backoff.Multiplier,
+ }
+ } else {
+ bo = backoff()
+ }
+
+ var errorFunc = retry.errorFunc()
for {
select {
@@ -86,6 +99,17 @@ func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request) (
case <-time.After(pause):
}
+ if ctx.Err() != nil {
+ // Check for context cancellation once more. If more than one case in a
+ // select is satisfied at the same time, Go will choose one arbitrarily.
+ // That can cause an operation to go through even if the context was
+ // canceled before.
+ if err == nil {
+ err = ctx.Err()
+ }
+ return resp, err
+ }
+
resp, err = client.Do(req.WithContext(ctx))
var status int
@@ -96,7 +120,7 @@ func sendAndRetry(ctx context.Context, client *http.Client, req *http.Request) (
// Check if we can retry the request. A retry can only be done if the error
// is retryable and the request body can be re-created using GetBody (this
// will not be possible if the body was unbuffered).
- if req.GetBody == nil || !shouldRetry(status, err) {
+ if req.GetBody == nil || !errorFunc(status, err) {
break
}
var errBody error
diff --git a/vendor/google.golang.org/api/internal/version.go b/vendor/google.golang.org/api/internal/version.go
new file mode 100644
index 000000000..ec3f0711b
--- /dev/null
+++ b/vendor/google.golang.org/api/internal/version.go
@@ -0,0 +1,8 @@
+// Copyright 2022 Google LLC. All rights reserved.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package internal
+
+// Version is the current tagged release of the library.
+const Version = "0.71.0"
diff --git a/vendor/google.golang.org/api/storage/v1/storage-api.json b/vendor/google.golang.org/api/storage/v1/storage-api.json
index 58a5b2747..0493a62d1 100644
--- a/vendor/google.golang.org/api/storage/v1/storage-api.json
+++ b/vendor/google.golang.org/api/storage/v1/storage-api.json
@@ -26,7 +26,7 @@
"description": "Stores and retrieves potentially large, immutable data objects.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/storage/docs/json_api/",
- "etag": "\"3138313838303239383939343230333837363830\"",
+ "etag": "\"3137353238303035303136333633393332333233\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/cloud_storage-16.png",
"x32": "https://www.google.com/images/icons/product/cloud_storage-32.png"
@@ -79,6 +79,11 @@
"location": "query",
"type": "string"
},
+ "uploadType": {
+ "description": "Upload protocol for media (e.g. \"media\", \"multipart\", \"resumable\").",
+ "location": "query",
+ "type": "string"
+ },
"userIp": {
"description": "Deprecated. Please use quotaUser instead.",
"location": "query",
@@ -3230,7 +3235,7 @@
}
}
},
- "revision": "20210127",
+ "revision": "20220210",
"rootUrl": "https://storage.googleapis.com/",
"schemas": {
"Bucket": {
@@ -3249,6 +3254,21 @@
},
"type": "array"
},
+ "autoclass": {
+ "description": "The bucket's Autoclass configuration.",
+ "properties": {
+ "enabled": {
+ "description": "Whether or not Autoclass is enabled on this bucket",
+ "type": "boolean"
+ },
+ "toggleTime": {
+ "description": "A date and time in RFC 3339 format representing the instant at which \"enabled\" was last toggled.",
+ "format": "date-time",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"billing": {
"description": "The bucket's billing configuration.",
"properties": {
@@ -3294,6 +3314,19 @@
},
"type": "array"
},
+ "customPlacementConfig": {
+ "description": "The bucket's custom placement configuration for Custom Dual Regions.",
+ "properties": {
+ "dataLocations": {
+ "description": "The list of regional locations in which data is placed.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array"
+ }
+ },
+ "type": "object"
+ },
"defaultEventBasedHold": {
"description": "The default value for event-based hold on newly created objects in this bucket. Event-based hold is a way to retain objects indefinitely until an event occurs, signified by the hold's release. After being released, such objects will be subject to bucket-level retention (if any). One sample use case of this flag is for banks to hold loan documents for at least 3 years after loan is paid in full. Here, bucket-level retention is 3 years and the event is loan being paid in full. In this example, these objects will be held intact for any number of years until the event has occurred (event-based hold on the object is released) and then 3 more years after that. That means retention duration of the objects begins from the moment event-based hold transitioned from true to false. Objects under event-based hold cannot be deleted, overwritten or archived until the hold is removed.",
"type": "boolean"
@@ -3338,7 +3371,7 @@
"type": "object"
},
"publicAccessPrevention": {
- "description": "The bucket's Public Access Prevention configuration. Currently, 'unspecified' and 'enforced' are supported.",
+ "description": "The bucket's Public Access Prevention configuration. Currently, 'inherited' and 'enforced' are supported.",
"type": "string"
},
"uniformBucketLevelAccess": {
@@ -3536,6 +3569,10 @@
},
"type": "object"
},
+ "rpo": {
+ "description": "The Recovery Point Objective (RPO) of this bucket. Set to ASYNC_TURBO to turn on Turbo Replication on a bucket.",
+ "type": "string"
+ },
"satisfiesPZS": {
"description": "Reserved for future use.",
"type": "boolean"
@@ -3581,13 +3618,6 @@
}
},
"type": "object"
- },
- "zoneAffinity": {
- "description": "The zone or zones from which the bucket is intended to use zonal quota. Requests for data from outside the specified affinities are still allowed but won't be able to use zonal quota. The zone or zones need to be within the bucket location otherwise the requests will fail with a 400 Bad Request response.",
- "items": {
- "type": "string"
- },
- "type": "array"
}
},
"type": "object"
diff --git a/vendor/google.golang.org/api/storage/v1/storage-gen.go b/vendor/google.golang.org/api/storage/v1/storage-gen.go
index e903338b6..5aa182bf6 100644
--- a/vendor/google.golang.org/api/storage/v1/storage-gen.go
+++ b/vendor/google.golang.org/api/storage/v1/storage-gen.go
@@ -1,4 +1,4 @@
-// Copyright 2021 Google LLC.
+// Copyright 2022 Google LLC.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
@@ -55,7 +55,9 @@ import (
"strconv"
"strings"
+ "github.com/googleapis/gax-go/v2"
googleapi "google.golang.org/api/googleapi"
+ internal "google.golang.org/api/internal"
gensupport "google.golang.org/api/internal/gensupport"
option "google.golang.org/api/option"
internaloption "google.golang.org/api/option/internaloption"
@@ -279,6 +281,9 @@ type Bucket struct {
// Acl: Access controls on the bucket.
Acl []*BucketAccessControl `json:"acl,omitempty"`
+ // Autoclass: The bucket's Autoclass configuration.
+ Autoclass *BucketAutoclass `json:"autoclass,omitempty"`
+
// Billing: The bucket's billing configuration.
Billing *BucketBilling `json:"billing,omitempty"`
@@ -286,6 +291,10 @@ type Bucket struct {
// configuration.
Cors []*BucketCors `json:"cors,omitempty"`
+ // CustomPlacementConfig: The bucket's custom placement configuration
+ // for Custom Dual Regions.
+ CustomPlacementConfig *BucketCustomPlacementConfig `json:"customPlacementConfig,omitempty"`
+
// DefaultEventBasedHold: The default value for event-based hold on
// newly created objects in this bucket. Event-based hold is a way to
// retain objects indefinitely until an event occurs, signified by the
@@ -369,6 +378,10 @@ type Bucket struct {
// PERMISSION_DENIED error.
RetentionPolicy *BucketRetentionPolicy `json:"retentionPolicy,omitempty"`
+ // Rpo: The Recovery Point Objective (RPO) of this bucket. Set to
+ // ASYNC_TURBO to turn on Turbo Replication on a bucket.
+ Rpo string `json:"rpo,omitempty"`
+
// SatisfiesPZS: Reserved for future use.
SatisfiesPZS bool `json:"satisfiesPZS,omitempty"`
@@ -398,13 +411,6 @@ type Bucket struct {
// Static Website Examples for more information.
Website *BucketWebsite `json:"website,omitempty"`
- // ZoneAffinity: The zone or zones from which the bucket is intended to
- // use zonal quota. Requests for data from outside the specified
- // affinities are still allowed but won't be able to use zonal quota.
- // The zone or zones need to be within the bucket location otherwise the
- // requests will fail with a 400 Bad Request response.
- ZoneAffinity []string `json:"zoneAffinity,omitempty"`
-
// ServerResponse contains the HTTP response code and headers from the
// server.
googleapi.ServerResponse `json:"-"`
@@ -432,6 +438,38 @@ func (s *Bucket) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
+// BucketAutoclass: The bucket's Autoclass configuration.
+type BucketAutoclass struct {
+ // Enabled: Whether or not Autoclass is enabled on this bucket
+ Enabled bool `json:"enabled,omitempty"`
+
+ // ToggleTime: A date and time in RFC 3339 format representing the
+ // instant at which "enabled" was last toggled.
+ ToggleTime string `json:"toggleTime,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "Enabled") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "Enabled") to include in
+ // API requests with the JSON null value. By default, fields with empty
+ // values are omitted from API requests. However, any field with an
+ // empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BucketAutoclass) MarshalJSON() ([]byte, error) {
+ type NoMethod BucketAutoclass
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
// BucketBilling: The bucket's billing configuration.
type BucketBilling struct {
// RequesterPays: When set to true, Requester Pays is enabled for this
@@ -504,6 +542,36 @@ func (s *BucketCors) MarshalJSON() ([]byte, error) {
return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
}
+// BucketCustomPlacementConfig: The bucket's custom placement
+// configuration for Custom Dual Regions.
+type BucketCustomPlacementConfig struct {
+ // DataLocations: The list of regional locations in which data is
+ // placed.
+ DataLocations []string `json:"dataLocations,omitempty"`
+
+ // ForceSendFields is a list of field names (e.g. "DataLocations") to
+ // unconditionally include in API requests. By default, fields with
+ // empty or default values are omitted from API requests. However, any
+ // non-pointer, non-interface field appearing in ForceSendFields will be
+ // sent to the server regardless of whether the field is empty or not.
+ // This may be used to include empty fields in Patch requests.
+ ForceSendFields []string `json:"-"`
+
+ // NullFields is a list of field names (e.g. "DataLocations") to include
+ // in API requests with the JSON null value. By default, fields with
+ // empty values are omitted from API requests. However, any field with
+ // an empty value appearing in NullFields will be sent to the server as
+ // null. It is an error if a field in this list has a non-empty value.
+ // This may be used to include null fields in Patch requests.
+ NullFields []string `json:"-"`
+}
+
+func (s *BucketCustomPlacementConfig) MarshalJSON() ([]byte, error) {
+ type NoMethod BucketCustomPlacementConfig
+ raw := NoMethod(*s)
+ return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields)
+}
+
// BucketEncryption: Encryption configuration for a bucket.
type BucketEncryption struct {
// DefaultKmsKeyName: A Cloud KMS key that will be used to encrypt
@@ -546,7 +614,7 @@ type BucketIamConfiguration struct {
BucketPolicyOnly *BucketIamConfigurationBucketPolicyOnly `json:"bucketPolicyOnly,omitempty"`
// PublicAccessPrevention: The bucket's Public Access Prevention
- // configuration. Currently, 'unspecified' and 'enforced' are supported.
+ // configuration. Currently, 'inherited' and 'enforced' are supported.
PublicAccessPrevention string `json:"publicAccessPrevention,omitempty"`
// UniformBucketLevelAccess: The bucket's uniform bucket-level access
@@ -2454,7 +2522,7 @@ func (c *BucketAccessControlsDeleteCall) Header() http.Header {
func (c *BucketAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -2607,7 +2675,7 @@ func (c *BucketAccessControlsGetCall) Header() http.Header {
func (c *BucketAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -2776,7 +2844,7 @@ func (c *BucketAccessControlsInsertCall) Header() http.Header {
func (c *BucketAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -2951,7 +3019,7 @@ func (c *BucketAccessControlsListCall) Header() http.Header {
func (c *BucketAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -3117,7 +3185,7 @@ func (c *BucketAccessControlsPatchCall) Header() http.Header {
func (c *BucketAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -3296,7 +3364,7 @@ func (c *BucketAccessControlsUpdateCall) Header() http.Header {
func (c *BucketAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -3484,7 +3552,7 @@ func (c *BucketsDeleteCall) Header() http.Header {
func (c *BucketsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -3665,7 +3733,7 @@ func (c *BucketsGetCall) Header() http.Header {
func (c *BucketsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -3873,7 +3941,7 @@ func (c *BucketsGetIamPolicyCall) Header() http.Header {
func (c *BucketsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -4092,7 +4160,7 @@ func (c *BucketsInsertCall) Header() http.Header {
func (c *BucketsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -4351,7 +4419,7 @@ func (c *BucketsListCall) Header() http.Header {
func (c *BucketsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -4565,7 +4633,7 @@ func (c *BucketsLockRetentionPolicyCall) Header() http.Header {
func (c *BucketsLockRetentionPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -4802,7 +4870,7 @@ func (c *BucketsPatchCall) Header() http.Header {
func (c *BucketsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5033,7 +5101,7 @@ func (c *BucketsSetIamPolicyCall) Header() http.Header {
func (c *BucketsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5211,7 +5279,7 @@ func (c *BucketsTestIamPermissionsCall) Header() http.Header {
func (c *BucketsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5453,7 +5521,7 @@ func (c *BucketsUpdateCall) Header() http.Header {
func (c *BucketsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5665,7 +5733,7 @@ func (c *ChannelsStopCall) Header() http.Header {
func (c *ChannelsStopCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5787,7 +5855,7 @@ func (c *DefaultObjectAccessControlsDeleteCall) Header() http.Header {
func (c *DefaultObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -5940,7 +6008,7 @@ func (c *DefaultObjectAccessControlsGetCall) Header() http.Header {
func (c *DefaultObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6110,7 +6178,7 @@ func (c *DefaultObjectAccessControlsInsertCall) Header() http.Header {
func (c *DefaultObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6302,7 +6370,7 @@ func (c *DefaultObjectAccessControlsListCall) Header() http.Header {
func (c *DefaultObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6480,7 +6548,7 @@ func (c *DefaultObjectAccessControlsPatchCall) Header() http.Header {
func (c *DefaultObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6659,7 +6727,7 @@ func (c *DefaultObjectAccessControlsUpdateCall) Header() http.Header {
func (c *DefaultObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6834,7 +6902,7 @@ func (c *NotificationsDeleteCall) Header() http.Header {
func (c *NotificationsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -6985,7 +7053,7 @@ func (c *NotificationsGetCall) Header() http.Header {
func (c *NotificationsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -7157,7 +7225,7 @@ func (c *NotificationsInsertCall) Header() http.Header {
func (c *NotificationsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -7334,7 +7402,7 @@ func (c *NotificationsListCall) Header() http.Header {
func (c *NotificationsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -7514,7 +7582,7 @@ func (c *ObjectAccessControlsDeleteCall) Header() http.Header {
func (c *ObjectAccessControlsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -7693,7 +7761,7 @@ func (c *ObjectAccessControlsGetCall) Header() http.Header {
func (c *ObjectAccessControlsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -7888,7 +7956,7 @@ func (c *ObjectAccessControlsInsertCall) Header() http.Header {
func (c *ObjectAccessControlsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -8089,7 +8157,7 @@ func (c *ObjectAccessControlsListCall) Header() http.Header {
func (c *ObjectAccessControlsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -8281,7 +8349,7 @@ func (c *ObjectAccessControlsPatchCall) Header() http.Header {
func (c *ObjectAccessControlsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -8486,7 +8554,7 @@ func (c *ObjectAccessControlsUpdateCall) Header() http.Header {
func (c *ObjectAccessControlsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -8729,7 +8797,7 @@ func (c *ObjectsComposeCall) Header() http.Header {
func (c *ObjectsComposeCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -9085,7 +9153,7 @@ func (c *ObjectsCopyCall) Header() http.Header {
func (c *ObjectsCopyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -9417,7 +9485,7 @@ func (c *ObjectsDeleteCall) Header() http.Header {
func (c *ObjectsDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -9654,7 +9722,7 @@ func (c *ObjectsGetCall) Header() http.Header {
func (c *ObjectsGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -9908,7 +9976,7 @@ func (c *ObjectsGetIamPolicyCall) Header() http.Header {
func (c *ObjectsGetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -10031,6 +10099,7 @@ type ObjectsInsertCall struct {
object *Object
urlParams_ gensupport.URLParams
mediaInfo_ *gensupport.MediaInfo
+ retry *gensupport.RetryConfig
ctx_ context.Context
header_ http.Header
}
@@ -10199,6 +10268,32 @@ func (c *ObjectsInsertCall) ProgressUpdater(pu googleapi.ProgressUpdater) *Objec
return c
}
+// WithRetry causes the library to retry the initial request of the
+// upload(for resumable uploads) or the entire upload (for multipart
+// uploads) ifa transient error occurs. This is contingent on ChunkSize
+// being > 0 (sothat the input data may be buffered). The backoff
+// argument will be used todetermine exponential backoff timing, and the
+// errorFunc is used to determinewhich errors are considered retryable.
+// By default, exponetial backoff will beapplied using gax defaults, and
+// the following errors are retried:
+//
+// - HTTP responses with codes 408, 429, 502, 503, and 504.
+//
+// - Transient network errors such as connection reset and
+// io.ErrUnexpectedEOF.
+//
+// - Errors which are considered transient using the Temporary()
+// interface.
+//
+// - Wrapped versions of these errors.
+func (c *ObjectsInsertCall) WithRetry(bo *gax.Backoff, errorFunc func(err error) bool) *ObjectsInsertCall {
+ c.retry = &gensupport.RetryConfig{
+ Backoff: bo,
+ ShouldRetry: errorFunc,
+ }
+ return c
+}
+
// Fields allows partial responses to be retrieved. See
// https://developers.google.com/gdata/docs/2.0/basics#PartialResponse
// for more information.
@@ -10228,7 +10323,7 @@ func (c *ObjectsInsertCall) Header() http.Header {
func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -10262,7 +10357,10 @@ func (c *ObjectsInsertCall) doRequest(alt string) (*http.Response, error) {
googleapi.Expand(req.URL, map[string]string{
"bucket": c.bucket,
})
- return gensupport.SendRequestWithRetry(c.ctx_, c.s.client, req)
+ if c.retry != nil {
+ return gensupport.SendRequestWithRetry(c.ctx_, c.s.client, req, c.retry)
+ }
+ return gensupport.SendRequest(c.ctx_, c.s.client, req)
}
// Do executes the "storage.objects.insert" call.
@@ -10295,6 +10393,7 @@ func (c *ObjectsInsertCall) Do(opts ...googleapi.CallOption) (*Object, error) {
if rx != nil {
rx.Client = c.s.client
rx.UserAgent = c.s.userAgent()
+ rx.Retry = c.retry
ctx := c.ctx_
if ctx == nil {
ctx = context.TODO()
@@ -10603,7 +10702,7 @@ func (c *ObjectsListCall) Header() http.Header {
func (c *ObjectsListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -10924,7 +11023,7 @@ func (c *ObjectsPatchCall) Header() http.Header {
func (c *ObjectsPatchCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -11329,7 +11428,7 @@ func (c *ObjectsRewriteCall) Header() http.Header {
func (c *ObjectsRewriteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -11636,7 +11735,7 @@ func (c *ObjectsSetIamPolicyCall) Header() http.Header {
func (c *ObjectsSetIamPolicyCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -11841,7 +11940,7 @@ func (c *ObjectsTestIamPermissionsCall) Header() http.Header {
func (c *ObjectsTestIamPermissionsCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -12106,7 +12205,7 @@ func (c *ObjectsUpdateCall) Header() http.Header {
func (c *ObjectsUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -12426,7 +12525,7 @@ func (c *ObjectsWatchAllCall) Header() http.Header {
func (c *ObjectsWatchAllCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -12645,7 +12744,7 @@ func (c *ProjectsHmacKeysCreateCall) Header() http.Header {
func (c *ProjectsHmacKeysCreateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -12798,7 +12897,7 @@ func (c *ProjectsHmacKeysDeleteCall) Header() http.Header {
func (c *ProjectsHmacKeysDeleteCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -12937,7 +13036,7 @@ func (c *ProjectsHmacKeysGetCall) Header() http.Header {
func (c *ProjectsHmacKeysGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -13139,7 +13238,7 @@ func (c *ProjectsHmacKeysListCall) Header() http.Header {
func (c *ProjectsHmacKeysListCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -13338,7 +13437,7 @@ func (c *ProjectsHmacKeysUpdateCall) Header() http.Header {
func (c *ProjectsHmacKeysUpdateCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
@@ -13517,7 +13616,7 @@ func (c *ProjectsServiceAccountGetCall) Header() http.Header {
func (c *ProjectsServiceAccountGetCall) doRequest(alt string) (*http.Response, error) {
reqHeaders := make(http.Header)
- reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/20210915")
+ reqHeaders.Set("x-goog-api-client", "gl-go/"+gensupport.GoVersion()+" gdcl/"+internal.Version)
for k, v := range c.header_ {
reqHeaders[k] = v
}
diff --git a/vendor/google.golang.org/api/transport/dial.go b/vendor/google.golang.org/api/transport/dial.go
new file mode 100644
index 000000000..2c495ad53
--- /dev/null
+++ b/vendor/google.golang.org/api/transport/dial.go
@@ -0,0 +1,36 @@
+// Copyright 2015 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+package transport
+
+import (
+ "context"
+ "net/http"
+
+ "google.golang.org/grpc"
+
+ "google.golang.org/api/option"
+ gtransport "google.golang.org/api/transport/grpc"
+ htransport "google.golang.org/api/transport/http"
+)
+
+// NewHTTPClient returns an HTTP client for use communicating with a Google cloud
+// service, configured with the given ClientOptions. It also returns the endpoint
+// for the service as specified in the options.
+func NewHTTPClient(ctx context.Context, opts ...option.ClientOption) (*http.Client, string, error) {
+ return htransport.NewClient(ctx, opts...)
+}
+
+// DialGRPC returns a GRPC connection for use communicating with a Google cloud
+// service, configured with the given ClientOptions.
+func DialGRPC(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) {
+ return gtransport.Dial(ctx, opts...)
+}
+
+// DialGRPCInsecure returns an insecure GRPC connection for use communicating
+// with fake or mock Google cloud service implementations, such as emulators.
+// The connection is configured with the given ClientOptions.
+func DialGRPCInsecure(ctx context.Context, opts ...option.ClientOption) (*grpc.ClientConn, error) {
+ return gtransport.DialInsecure(ctx, opts...)
+}
diff --git a/vendor/google.golang.org/api/transport/doc.go b/vendor/google.golang.org/api/transport/doc.go
new file mode 100644
index 000000000..7143abee4
--- /dev/null
+++ b/vendor/google.golang.org/api/transport/doc.go
@@ -0,0 +1,11 @@
+// Copyright 2019 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+// Package transport provides utility methods for creating authenticated
+// transports to Google's HTTP and gRPC APIs. It is intended to be used in
+// conjunction with google.golang.org/api/option.
+//
+// This package is not intended for use by end developers. Use the
+// google.golang.org/api/option package to configure API clients.
+package transport
diff --git a/vendor/google.golang.org/api/transport/go19.go b/vendor/google.golang.org/api/transport/go19.go
new file mode 100644
index 000000000..d40bcf332
--- /dev/null
+++ b/vendor/google.golang.org/api/transport/go19.go
@@ -0,0 +1,26 @@
+// Copyright 2018 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build go1.9
+// +build go1.9
+
+package transport
+
+import (
+ "context"
+
+ "golang.org/x/oauth2/google"
+ "google.golang.org/api/internal"
+ "google.golang.org/api/option"
+)
+
+// Creds constructs a google.Credentials from the information in the options,
+// or obtains the default credentials in the same way as google.FindDefaultCredentials.
+func Creds(ctx context.Context, opts ...option.ClientOption) (*google.Credentials, error) {
+ var ds internal.DialSettings
+ for _, opt := range opts {
+ opt.Apply(&ds)
+ }
+ return internal.Creds(ctx, &ds)
+}
diff --git a/vendor/google.golang.org/api/transport/grpc/dial.go b/vendor/google.golang.org/api/transport/grpc/dial.go
index 8cce06f46..d25497868 100644
--- a/vendor/google.golang.org/api/transport/grpc/dial.go
+++ b/vendor/google.golang.org/api/transport/grpc/dial.go
@@ -12,6 +12,8 @@ import (
"crypto/tls"
"errors"
"log"
+ "net"
+ "os"
"strings"
"cloud.google.com/go/compute/metadata"
@@ -29,6 +31,12 @@ import (
_ "google.golang.org/grpc/balancer/grpclb"
)
+// Check env to disable DirectPath traffic.
+const disableDirectPath = "GOOGLE_CLOUD_DISABLE_DIRECT_PATH"
+
+// Check env to decide if using google-c2p resolver for DirectPath traffic.
+const enableDirectPathXds = "GOOGLE_CLOUD_ENABLE_DIRECT_PATH_XDS"
+
// Set at init time by dial_appengine.go. If nil, we're not on App Engine.
var appengineDialerHook func(context.Context) grpc.DialOption
@@ -134,23 +142,32 @@ func dial(ctx context.Context, insecure bool, o *internal.DialSettings) (*grpc.C
o.QuotaProject = internal.QuotaProjectFromCreds(creds)
}
- // Attempt Direct Path only if:
- // * The endpoint is a host:port (or dns:///host:port).
- // * Credentials are obtained via GCE metadata server, using the default
- // service account.
- if o.EnableDirectPath && checkDirectPathEndPoint(endpoint) && isTokenSourceDirectPathCompatible(creds.TokenSource, o) && metadata.OnGCE() {
- if !strings.HasPrefix(endpoint, "dns:///") {
- endpoint = "dns:///" + endpoint
- }
+ // Attempt Direct Path:
+ if isDirectPathEnabled(endpoint, o) && isTokenSourceDirectPathCompatible(creds.TokenSource, o) && metadata.OnGCE() {
grpcOpts = []grpc.DialOption{
- grpc.WithCredentialsBundle(
- grpcgoogle.NewComputeEngineCredentials(),
- ),
- // For now all DirectPath go clients will be using the following lb config, but in future
- // when different services need different configs, then we should change this to a
- // per-service config.
- grpc.WithDisableServiceConfig(),
- grpc.WithDefaultServiceConfig(`{"loadBalancingConfig":[{"grpclb":{"childPolicy":[{"pick_first":{}}]}}]}`),
+ grpc.WithCredentialsBundle(grpcgoogle.NewDefaultCredentialsWithOptions(grpcgoogle.DefaultCredentialsOptions{oauth.TokenSource{creds.TokenSource}}))}
+ if timeoutDialerOption != nil {
+ grpcOpts = append(grpcOpts, timeoutDialerOption)
+ }
+ // Check if google-c2p resolver is enabled for DirectPath
+ // TODO(mohanli): remove grpc version guard once google-api-go-client is able to depends on the latest grpc
+ if grpc.Version >= "1.42" && strings.EqualFold(os.Getenv(enableDirectPathXds), "true") {
+ // google-c2p resolver target must not have a port number
+ if addr, _, err := net.SplitHostPort(endpoint); err == nil {
+ endpoint = "google-c2p-experimental:///" + addr
+ } else {
+ endpoint = "google-c2p-experimental:///" + endpoint
+ }
+ } else {
+ if !strings.HasPrefix(endpoint, "dns:///") {
+ endpoint = "dns:///" + endpoint
+ }
+ grpcOpts = append(grpcOpts,
+ // For now all DirectPath go clients will be using the following lb config, but in future
+ // when different services need different configs, then we should change this to a
+ // per-service config.
+ grpc.WithDisableServiceConfig(),
+ grpc.WithDefaultServiceConfig(`{"loadBalancingConfig":[{"grpclb":{"childPolicy":[{"pick_first":{}}]}}]}`))
}
// TODO(cbro): add support for system parameters (quota project, request reason) via chained interceptor.
} else {
@@ -183,14 +200,6 @@ func dial(ctx context.Context, insecure bool, o *internal.DialSettings) (*grpc.C
grpcOpts = append(grpcOpts, grpc.WithUserAgent(o.UserAgent))
}
- // TODO(weiranf): This socketopt dialer will be used by default at some
- // point when isDirectPathEnabled will default to true, we guard it by
- // the Directpath env var for now once we can introspect user defined
- // dialer (https://github.com/grpc/grpc-go/issues/2795).
- if timeoutDialerOption != nil && o.EnableDirectPath && checkDirectPathEndPoint(endpoint) && metadata.OnGCE() {
- grpcOpts = append(grpcOpts, timeoutDialerOption)
- }
-
return grpc.DialContext(ctx, endpoint, grpcOpts...)
}
@@ -228,6 +237,19 @@ func (ts grpcTokenSource) GetRequestMetadata(ctx context.Context, uri ...string)
return metadata, nil
}
+func isDirectPathEnabled(endpoint string, o *internal.DialSettings) bool {
+ if !o.EnableDirectPath {
+ return false
+ }
+ if !checkDirectPathEndPoint(endpoint) {
+ return false
+ }
+ if strings.EqualFold(os.Getenv(disableDirectPath), "true") {
+ return false
+ }
+ return true
+}
+
func isTokenSourceDirectPathCompatible(ts oauth2.TokenSource, o *internal.DialSettings) bool {
if ts == nil {
return false
diff --git a/vendor/google.golang.org/api/transport/not_go19.go b/vendor/google.golang.org/api/transport/not_go19.go
new file mode 100644
index 000000000..bb5667a51
--- /dev/null
+++ b/vendor/google.golang.org/api/transport/not_go19.go
@@ -0,0 +1,26 @@
+// Copyright 2018 Google LLC.
+// Use of this source code is governed by a BSD-style
+// license that can be found in the LICENSE file.
+
+//go:build !go1.9
+// +build !go1.9
+
+package transport
+
+import (
+ "context"
+
+ "golang.org/x/oauth2/google"
+ "google.golang.org/api/internal"
+ "google.golang.org/api/option"
+)
+
+// Creds constructs a google.DefaultCredentials from the information in the options,
+// or obtains the default credentials in the same way as google.FindDefaultCredentials.
+func Creds(ctx context.Context, opts ...option.ClientOption) (*google.DefaultCredentials, error) {
+ var ds internal.DialSettings
+ for _, opt := range opts {
+ opt.Apply(&ds)
+ }
+ return internal.Creds(ctx, &ds)
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
index 3571ad634..6515668d3 100644
--- a/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/resource.pb.go
@@ -163,11 +163,7 @@ func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
// // For Kubernetes resources, the format is {api group}/{kind}.
// option (google.api.resource) = {
// type: "pubsub.googleapis.com/Topic"
-// name_descriptor: {
-// pattern: "projects/{project}/topics/{topic}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// }
+// pattern: "projects/{project}/topics/{topic}"
// };
// }
//
@@ -175,10 +171,7 @@ func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
//
// resources:
// - type: "pubsub.googleapis.com/Topic"
-// name_descriptor:
-// - pattern: "projects/{project}/topics/{topic}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
+// pattern: "projects/{project}/topics/{topic}"
//
// Sometimes, resources have multiple patterns, typically because they can
// live under multiple parents.
@@ -188,26 +181,10 @@ func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
// message LogEntry {
// option (google.api.resource) = {
// type: "logging.googleapis.com/LogEntry"
-// name_descriptor: {
-// pattern: "projects/{project}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// }
-// name_descriptor: {
-// pattern: "folders/{folder}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// parent_name_extractor: "folders/{folder}"
-// }
-// name_descriptor: {
-// pattern: "organizations/{organization}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Organization"
-// parent_name_extractor: "organizations/{organization}"
-// }
-// name_descriptor: {
-// pattern: "billingAccounts/{billing_account}/logs/{log}"
-// parent_type: "billing.googleapis.com/BillingAccount"
-// parent_name_extractor: "billingAccounts/{billing_account}"
-// }
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
// };
// }
//
@@ -215,48 +192,10 @@ func (ResourceDescriptor_Style) EnumDescriptor() ([]byte, []int) {
//
// resources:
// - type: 'logging.googleapis.com/LogEntry'
-// name_descriptor:
-// - pattern: "projects/{project}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// parent_name_extractor: "projects/{project}"
-// - pattern: "folders/{folder}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// parent_name_extractor: "folders/{folder}"
-// - pattern: "organizations/{organization}/logs/{log}"
-// parent_type: "cloudresourcemanager.googleapis.com/Organization"
-// parent_name_extractor: "organizations/{organization}"
-// - pattern: "billingAccounts/{billing_account}/logs/{log}"
-// parent_type: "billing.googleapis.com/BillingAccount"
-// parent_name_extractor: "billingAccounts/{billing_account}"
-//
-// For flexible resources, the resource name doesn't contain parent names, but
-// the resource itself has parents for policy evaluation.
-//
-// Example:
-//
-// message Shelf {
-// option (google.api.resource) = {
-// type: "library.googleapis.com/Shelf"
-// name_descriptor: {
-// pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// }
-// name_descriptor: {
-// pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
-// }
-// };
-// }
-//
-// The ResourceDescriptor Yaml config will look like:
-//
-// resources:
-// - type: 'library.googleapis.com/Shelf'
-// name_descriptor:
-// - pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Project"
-// - pattern: "shelves/{shelf}"
-// parent_type: "cloudresourcemanager.googleapis.com/Folder"
+// pattern: "projects/{project}/logs/{log}"
+// pattern: "folders/{folder}/logs/{log}"
+// pattern: "organizations/{organization}/logs/{log}"
+// pattern: "billingAccounts/{billing_account}/logs/{log}"
type ResourceDescriptor struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
diff --git a/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
new file mode 100644
index 000000000..dd45cf6e6
--- /dev/null
+++ b/vendor/google.golang.org/genproto/googleapis/api/annotations/routing.pb.go
@@ -0,0 +1,693 @@
+// Copyright 2021 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// Code generated by protoc-gen-go. DO NOT EDIT.
+// versions:
+// protoc-gen-go v1.26.0
+// protoc v3.12.2
+// source: google/api/routing.proto
+
+package annotations
+
+import (
+ reflect "reflect"
+ sync "sync"
+
+ protoreflect "google.golang.org/protobuf/reflect/protoreflect"
+ protoimpl "google.golang.org/protobuf/runtime/protoimpl"
+ descriptorpb "google.golang.org/protobuf/types/descriptorpb"
+)
+
+const (
+ // Verify that this generated code is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
+ // Verify that runtime/protoimpl is sufficiently up-to-date.
+ _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
+)
+
+// Specifies the routing information that should be sent along with the request
+// in the form of routing header.
+// **NOTE:** All service configuration rules follow the "last one wins" order.
+//
+// The examples below will apply to an RPC which has the following request type:
+//
+// Message Definition:
+//
+// message Request {
+// // The name of the Table
+// // Values can be of the following formats:
+// // - `projects//tables/`
+// // - `projects//instances//tables/`
+// // - `region//zones//tables/`
+// string table_name = 1;
+//
+// // This value specifies routing for replication.
+// // It can be in the following formats:
+// // - `profiles/`
+// // - a legacy `profile_id` that can be any string
+// string app_profile_id = 2;
+// }
+//
+// Example message:
+//
+// {
+// table_name: projects/proj_foo/instances/instance_bar/table/table_baz,
+// app_profile_id: profiles/prof_qux
+// }
+//
+// The routing header consists of one or multiple key-value pairs. Every key
+// and value must be percent-encoded, and joined together in the format of
+// `key1=value1&key2=value2`.
+// In the examples below I am skipping the percent-encoding for readablity.
+//
+// Example 1
+//
+// Extracting a field from the request to put into the routing header
+// unchanged, with the key equal to the field name.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `app_profile_id`.
+// routing_parameters {
+// field: "app_profile_id"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: app_profile_id=profiles/prof_qux
+//
+// Example 2
+//
+// Extracting a field from the request to put into the routing header
+// unchanged, with the key different from the field name.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `app_profile_id`, but name it `routing_id` in the header.
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=profiles/prof_qux
+//
+// Example 3
+//
+// Extracting a field from the request to put into the routing
+// header, while matching a path template syntax on the field's value.
+//
+// NB: it is more useful to send nothing than to send garbage for the purpose
+// of dynamic routing, since garbage pollutes cache. Thus the matching.
+//
+// Sub-example 3a
+//
+// The field matches the template.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed (with project-based
+// // syntax).
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=projects/*/instances/*/**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
+//
+// Sub-example 3b
+//
+// The field does not match the template.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed (with region-based
+// // syntax).
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=regions/*/zones/*/**}"
+// }
+// };
+//
+// result:
+//
+//
+//
+// Sub-example 3c
+//
+// Multiple alternative conflictingly named path templates are
+// specified. The one that matches is used to construct the header.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take the `table_name`, if it's well-formed, whether
+// // using the region- or projects-based syntax.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=regions/*/zones/*/**}"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_name=projects/*/instances/*/**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_name=projects/proj_foo/instances/instance_bar/table/table_baz
+//
+// Example 4
+//
+// Extracting a single routing header key-value pair by matching a
+// template syntax on (a part of) a single request field.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // Take just the project id from the `table_name` field.
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=projects/proj_foo
+//
+// Example 5
+//
+// Extracting a single routing header key-value pair by matching
+// several conflictingly named path templates on (parts of) a single request
+// field. The last template to match "wins" the conflict.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // If the `table_name` does not have instances information,
+// // take just the project id for routing.
+// // Otherwise take project + instance.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*/instances/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// routing_id=projects/proj_foo/instances/instance_bar
+//
+// Example 6
+//
+// Extracting multiple routing header key-value pairs by matching
+// several non-conflicting path templates on (parts of) a single request field.
+//
+// Sub-example 6a
+//
+// Make the templates strict, so that if the `table_name` does not
+// have an instance information, nothing is sent.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing code needs two keys instead of one composite
+// // but works only for the tables with the "project-instance" name
+// // syntax.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/instances/*/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{instance_id=instances/*}/**"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&instance_id=instances/instance_bar
+//
+// Sub-example 6b
+//
+// Make the templates loose, so that if the `table_name` does not
+// have an instance information, just the project id part is sent.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing code wants two keys instead of one composite
+// // but will work with just the `project_id` for tables without
+// // an instance in the `table_name`.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{instance_id=instances/*}/**"
+// }
+// };
+//
+// result (is the same as 6a for our example message because it has the instance
+// information):
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&instance_id=instances/instance_bar
+//
+// Example 7
+//
+// Extracting multiple routing header key-value pairs by matching
+// several path templates on multiple request fields.
+//
+// NB: note that here there is no way to specify sending nothing if one of the
+// fields does not match its template. E.g. if the `table_name` is in the wrong
+// format, the `project_id` will not be sent, but the `routing_id` will be.
+// The backend routing code has to be aware of that and be prepared to not
+// receive a full complement of keys if it expects multiple.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The routing needs both `project_id` and `routing_id`
+// // (from the `app_profile_id` field) for routing.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{project_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// project_id=projects/proj_foo&routing_id=profiles/prof_qux
+//
+// Example 8
+//
+// Extracting a single routing header key-value pair by matching
+// several conflictingly named path templates on several request fields. The
+// last template to match "wins" the conflict.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // The `routing_id` can be a project id or a region id depending on
+// // the table name format, but only if the `app_profile_id` is not set.
+// // If `app_profile_id` is set it should be used instead.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=regions/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params: routing_id=profiles/prof_qux
+//
+// Example 9
+//
+// Bringing it all together.
+//
+// annotation:
+//
+// option (google.api.routing) = {
+// // For routing both `table_location` and a `routing_id` are needed.
+// //
+// // table_location can be either an instance id or a region+zone id.
+// //
+// // For `routing_id`, take the value of `app_profile_id`
+// // - If it's in the format `profiles/`, send
+// // just the `` part.
+// // - If it's any other literal, send it as is.
+// // If the `app_profile_id` is empty, and the `table_name` starts with
+// // the project_id, send that instead.
+//
+// routing_parameters {
+// field: "table_name"
+// path_template: "projects/*/{table_location=instances/*}/tables/*"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{table_location=regions/*/zones/*}/tables/*"
+// }
+// routing_parameters {
+// field: "table_name"
+// path_template: "{routing_id=projects/*}/**"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "{routing_id=**}"
+// }
+// routing_parameters {
+// field: "app_profile_id"
+// path_template: "profiles/{routing_id=*}"
+// }
+// };
+//
+// result:
+//
+// x-goog-request-params:
+// table_location=instances/instance_bar&routing_id=prof_qux
+type RoutingRule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A collection of Routing Parameter specifications.
+ // **NOTE:** If multiple Routing Parameters describe the same key
+ // (via the `path_template` field or via the `field` field when
+ // `path_template` is not provided), "last one wins" rule
+ // determines which Parameter gets used.
+ // See the examples for more details.
+ RoutingParameters []*RoutingParameter `protobuf:"bytes,2,rep,name=routing_parameters,json=routingParameters,proto3" json:"routing_parameters,omitempty"`
+}
+
+func (x *RoutingRule) Reset() {
+ *x = RoutingRule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_routing_proto_msgTypes[0]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutingRule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutingRule) ProtoMessage() {}
+
+func (x *RoutingRule) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_routing_proto_msgTypes[0]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutingRule.ProtoReflect.Descriptor instead.
+func (*RoutingRule) Descriptor() ([]byte, []int) {
+ return file_google_api_routing_proto_rawDescGZIP(), []int{0}
+}
+
+func (x *RoutingRule) GetRoutingParameters() []*RoutingParameter {
+ if x != nil {
+ return x.RoutingParameters
+ }
+ return nil
+}
+
+// A projection from an input message to the GRPC or REST header.
+type RoutingParameter struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A request field to extract the header key-value pair from.
+ Field string `protobuf:"bytes,1,opt,name=field,proto3" json:"field,omitempty"`
+ // A pattern matching the key-value field. Optional.
+ // If not specified, the whole field specified in the `field` field will be
+ // taken as value, and its name used as key. If specified, it MUST contain
+ // exactly one named segment (along with any number of unnamed segments) The
+ // pattern will be matched over the field specified in the `field` field, then
+ // if the match is successful:
+ // - the name of the single named segment will be used as a header name,
+ // - the match value of the segment will be used as a header value;
+ // if the match is NOT successful, nothing will be sent.
+ //
+ // Example:
+ //
+ // -- This is a field in the request message
+ // | that the header value will be extracted from.
+ // |
+ // | -- This is the key name in the
+ // | | routing header.
+ // V |
+ // field: "table_name" v
+ // path_template: "projects/*/{table_location=instances/*}/tables/*"
+ // ^ ^
+ // | |
+ // In the {} brackets is the pattern that -- |
+ // specifies what to extract from the |
+ // field as a value to be sent. |
+ // |
+ // The string in the field must match the whole pattern --
+ // before brackets, inside brackets, after brackets.
+ //
+ // When looking at this specific example, we can see that:
+ // - A key-value pair with the key `table_location`
+ // and the value matching `instances/*` should be added
+ // to the x-goog-request-params routing header.
+ // - The value is extracted from the request message's `table_name` field
+ // if it matches the full pattern specified:
+ // `projects/*/instances/*/tables/*`.
+ //
+ // **NB:** If the `path_template` field is not provided, the key name is
+ // equal to the field name, and the whole field should be sent as a value.
+ // This makes the pattern for the field and the value functionally equivalent
+ // to `**`, and the configuration
+ //
+ // {
+ // field: "table_name"
+ // }
+ //
+ // is a functionally equivalent shorthand to:
+ //
+ // {
+ // field: "table_name"
+ // path_template: "{table_name=**}"
+ // }
+ //
+ // See Example 1 for more details.
+ PathTemplate string `protobuf:"bytes,2,opt,name=path_template,json=pathTemplate,proto3" json:"path_template,omitempty"`
+}
+
+func (x *RoutingParameter) Reset() {
+ *x = RoutingParameter{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_api_routing_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *RoutingParameter) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*RoutingParameter) ProtoMessage() {}
+
+func (x *RoutingParameter) ProtoReflect() protoreflect.Message {
+ mi := &file_google_api_routing_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use RoutingParameter.ProtoReflect.Descriptor instead.
+func (*RoutingParameter) Descriptor() ([]byte, []int) {
+ return file_google_api_routing_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *RoutingParameter) GetField() string {
+ if x != nil {
+ return x.Field
+ }
+ return ""
+}
+
+func (x *RoutingParameter) GetPathTemplate() string {
+ if x != nil {
+ return x.PathTemplate
+ }
+ return ""
+}
+
+var file_google_api_routing_proto_extTypes = []protoimpl.ExtensionInfo{
+ {
+ ExtendedType: (*descriptorpb.MethodOptions)(nil),
+ ExtensionType: (*RoutingRule)(nil),
+ Field: 72295729,
+ Name: "google.api.routing",
+ Tag: "bytes,72295729,opt,name=routing",
+ Filename: "google/api/routing.proto",
+ },
+}
+
+// Extension fields to descriptorpb.MethodOptions.
+var (
+ // See RoutingRule.
+ //
+ // optional google.api.RoutingRule routing = 72295729;
+ E_Routing = &file_google_api_routing_proto_extTypes[0]
+)
+
+var File_google_api_routing_proto protoreflect.FileDescriptor
+
+var file_google_api_routing_proto_rawDesc = []byte{
+ 0x0a, 0x18, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x1a, 0x20, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74,
+ 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x5a, 0x0a, 0x0b, 0x52, 0x6f, 0x75, 0x74,
+ 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x4b, 0x0a, 0x12, 0x72, 0x6f, 0x75, 0x74, 0x69,
+ 0x6e, 0x67, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69,
+ 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65,
+ 0x72, 0x52, 0x11, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x65,
+ 0x74, 0x65, 0x72, 0x73, 0x22, 0x4d, 0x0a, 0x10, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x12, 0x14, 0x0a, 0x05, 0x66, 0x69, 0x65, 0x6c,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x12, 0x23,
+ 0x0a, 0x0d, 0x70, 0x61, 0x74, 0x68, 0x5f, 0x74, 0x65, 0x6d, 0x70, 0x6c, 0x61, 0x74, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x70, 0x61, 0x74, 0x68, 0x54, 0x65, 0x6d, 0x70, 0x6c,
+ 0x61, 0x74, 0x65, 0x3a, 0x54, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1e,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x4f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb1,
+ 0xca, 0xbc, 0x22, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x75, 0x6c, 0x65,
+ 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x69, 0x6e, 0x67, 0x42, 0x6a, 0x0a, 0x0e, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x61, 0x70, 0x69, 0x42, 0x0c, 0x52, 0x6f, 0x75,
+ 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x41, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67,
+ 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
+ 0x69, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x3b, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0xa2, 0x02,
+ 0x04, 0x47, 0x41, 0x50, 0x49, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+}
+
+var (
+ file_google_api_routing_proto_rawDescOnce sync.Once
+ file_google_api_routing_proto_rawDescData = file_google_api_routing_proto_rawDesc
+)
+
+func file_google_api_routing_proto_rawDescGZIP() []byte {
+ file_google_api_routing_proto_rawDescOnce.Do(func() {
+ file_google_api_routing_proto_rawDescData = protoimpl.X.CompressGZIP(file_google_api_routing_proto_rawDescData)
+ })
+ return file_google_api_routing_proto_rawDescData
+}
+
+var file_google_api_routing_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
+var file_google_api_routing_proto_goTypes = []interface{}{
+ (*RoutingRule)(nil), // 0: google.api.RoutingRule
+ (*RoutingParameter)(nil), // 1: google.api.RoutingParameter
+ (*descriptorpb.MethodOptions)(nil), // 2: google.protobuf.MethodOptions
+}
+var file_google_api_routing_proto_depIdxs = []int32{
+ 1, // 0: google.api.RoutingRule.routing_parameters:type_name -> google.api.RoutingParameter
+ 2, // 1: google.api.routing:extendee -> google.protobuf.MethodOptions
+ 0, // 2: google.api.routing:type_name -> google.api.RoutingRule
+ 3, // [3:3] is the sub-list for method output_type
+ 3, // [3:3] is the sub-list for method input_type
+ 2, // [2:3] is the sub-list for extension type_name
+ 1, // [1:2] is the sub-list for extension extendee
+ 0, // [0:1] is the sub-list for field type_name
+}
+
+func init() { file_google_api_routing_proto_init() }
+func file_google_api_routing_proto_init() {
+ if File_google_api_routing_proto != nil {
+ return
+ }
+ if !protoimpl.UnsafeEnabled {
+ file_google_api_routing_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutingRule); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_api_routing_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RoutingParameter); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ }
+ type x struct{}
+ out := protoimpl.TypeBuilder{
+ File: protoimpl.DescBuilder{
+ GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
+ RawDescriptor: file_google_api_routing_proto_rawDesc,
+ NumEnums: 0,
+ NumMessages: 2,
+ NumExtensions: 1,
+ NumServices: 0,
+ },
+ GoTypes: file_google_api_routing_proto_goTypes,
+ DependencyIndexes: file_google_api_routing_proto_depIdxs,
+ MessageInfos: file_google_api_routing_proto_msgTypes,
+ ExtensionInfos: file_google_api_routing_proto_extTypes,
+ }.Build()
+ File_google_api_routing_proto = out.File
+ file_google_api_routing_proto_rawDesc = nil
+ file_google_api_routing_proto_goTypes = nil
+ file_google_api_routing_proto_depIdxs = nil
+}
diff --git a/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go b/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go
index 13008e3f8..50b10a294 100644
--- a/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go
+++ b/vendor/google.golang.org/genproto/googleapis/storage/v2/storage.pb.go
@@ -1,4 +1,4 @@
-// Copyright 2021 Google LLC
+// Copyright 2022 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
@@ -26,14 +26,14 @@ import (
sync "sync"
_ "google.golang.org/genproto/googleapis/api/annotations"
- _ "google.golang.org/genproto/googleapis/iam/v1"
+ v1 "google.golang.org/genproto/googleapis/iam/v1"
date "google.golang.org/genproto/googleapis/type/date"
grpc "google.golang.org/grpc"
codes "google.golang.org/grpc/codes"
status "google.golang.org/grpc/status"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
- _ "google.golang.org/protobuf/types/known/emptypb"
+ emptypb "google.golang.org/protobuf/types/known/emptypb"
fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)
@@ -119,6 +119,75 @@ func (PredefinedObjectAcl) EnumDescriptor() ([]byte, []int) {
return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{0}
}
+// A set of predefined, or "canned," ACLs that can be set on a
+// bucket instead of manually specifying a complete ACL.
+type PredefinedBucketAcl int32
+
+const (
+ // No predefined ACL.
+ PredefinedBucketAcl_PREDEFINED_BUCKET_ACL_UNSPECIFIED PredefinedBucketAcl = 0
+ // Project team owners get `OWNER` access, and
+ // `allAuthenticatedUsers` get `READER` access.
+ PredefinedBucketAcl_BUCKET_ACL_AUTHENTICATED_READ PredefinedBucketAcl = 1
+ // Project team owners get `OWNER` access.
+ PredefinedBucketAcl_BUCKET_ACL_PRIVATE PredefinedBucketAcl = 2
+ // Project team members get access according to their roles.
+ PredefinedBucketAcl_BUCKET_ACL_PROJECT_PRIVATE PredefinedBucketAcl = 3
+ // Project team owners get `OWNER` access, and
+ // `allUsers` get `READER` access.
+ PredefinedBucketAcl_BUCKET_ACL_PUBLIC_READ PredefinedBucketAcl = 4
+ // Project team owners get `OWNER` access, and
+ // `allUsers` get `WRITER` access.
+ PredefinedBucketAcl_BUCKET_ACL_PUBLIC_READ_WRITE PredefinedBucketAcl = 5
+)
+
+// Enum value maps for PredefinedBucketAcl.
+var (
+ PredefinedBucketAcl_name = map[int32]string{
+ 0: "PREDEFINED_BUCKET_ACL_UNSPECIFIED",
+ 1: "BUCKET_ACL_AUTHENTICATED_READ",
+ 2: "BUCKET_ACL_PRIVATE",
+ 3: "BUCKET_ACL_PROJECT_PRIVATE",
+ 4: "BUCKET_ACL_PUBLIC_READ",
+ 5: "BUCKET_ACL_PUBLIC_READ_WRITE",
+ }
+ PredefinedBucketAcl_value = map[string]int32{
+ "PREDEFINED_BUCKET_ACL_UNSPECIFIED": 0,
+ "BUCKET_ACL_AUTHENTICATED_READ": 1,
+ "BUCKET_ACL_PRIVATE": 2,
+ "BUCKET_ACL_PROJECT_PRIVATE": 3,
+ "BUCKET_ACL_PUBLIC_READ": 4,
+ "BUCKET_ACL_PUBLIC_READ_WRITE": 5,
+ }
+)
+
+func (x PredefinedBucketAcl) Enum() *PredefinedBucketAcl {
+ p := new(PredefinedBucketAcl)
+ *p = x
+ return p
+}
+
+func (x PredefinedBucketAcl) String() string {
+ return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
+}
+
+func (PredefinedBucketAcl) Descriptor() protoreflect.EnumDescriptor {
+ return file_google_storage_v2_storage_proto_enumTypes[1].Descriptor()
+}
+
+func (PredefinedBucketAcl) Type() protoreflect.EnumType {
+ return &file_google_storage_v2_storage_proto_enumTypes[1]
+}
+
+func (x PredefinedBucketAcl) Number() protoreflect.EnumNumber {
+ return protoreflect.EnumNumber(x)
+}
+
+// Deprecated: Use PredefinedBucketAcl.Descriptor instead.
+func (PredefinedBucketAcl) EnumDescriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{1}
+}
+
// A collection of constant values meaningful to the Storage API.
type ServiceConstants_Values int32
@@ -237,11 +306,11 @@ func (x ServiceConstants_Values) String() string {
}
func (ServiceConstants_Values) Descriptor() protoreflect.EnumDescriptor {
- return file_google_storage_v2_storage_proto_enumTypes[1].Descriptor()
+ return file_google_storage_v2_storage_proto_enumTypes[2].Descriptor()
}
func (ServiceConstants_Values) Type() protoreflect.EnumType {
- return &file_google_storage_v2_storage_proto_enumTypes[1]
+ return &file_google_storage_v2_storage_proto_enumTypes[2]
}
func (x ServiceConstants_Values) Number() protoreflect.EnumNumber {
@@ -250,21 +319,22 @@ func (x ServiceConstants_Values) Number() protoreflect.EnumNumber {
// Deprecated: Use ServiceConstants_Values.Descriptor instead.
func (ServiceConstants_Values) EnumDescriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{11, 0}
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38, 0}
}
// Public Access Prevention config values.
type Bucket_IamConfig_PublicAccessPrevention int32
const (
- // Does not prevent access from being granted to public members 'allUsers'
- // or 'allAuthenticatedUsers'. This setting may be enforced by Org Policy
- // at the project/folder/organization level.
+ // No specified PublicAccessPrevention.
Bucket_IamConfig_PUBLIC_ACCESS_PREVENTION_UNSPECIFIED Bucket_IamConfig_PublicAccessPrevention = 0
// Prevents access from being granted to public members 'allUsers' and
// 'allAuthenticatedUsers'. Prevents attempts to grant new access to
// public members.
Bucket_IamConfig_ENFORCED Bucket_IamConfig_PublicAccessPrevention = 1
+ // This setting is inherited from Org Policy. Does not prevent access from
+ // being granted to public members 'allUsers' or 'allAuthenticatedUsers'.
+ Bucket_IamConfig_INHERITED Bucket_IamConfig_PublicAccessPrevention = 2
)
// Enum value maps for Bucket_IamConfig_PublicAccessPrevention.
@@ -272,10 +342,12 @@ var (
Bucket_IamConfig_PublicAccessPrevention_name = map[int32]string{
0: "PUBLIC_ACCESS_PREVENTION_UNSPECIFIED",
1: "ENFORCED",
+ 2: "INHERITED",
}
Bucket_IamConfig_PublicAccessPrevention_value = map[string]int32{
"PUBLIC_ACCESS_PREVENTION_UNSPECIFIED": 0,
"ENFORCED": 1,
+ "INHERITED": 2,
}
)
@@ -290,11 +362,11 @@ func (x Bucket_IamConfig_PublicAccessPrevention) String() string {
}
func (Bucket_IamConfig_PublicAccessPrevention) Descriptor() protoreflect.EnumDescriptor {
- return file_google_storage_v2_storage_proto_enumTypes[2].Descriptor()
+ return file_google_storage_v2_storage_proto_enumTypes[3].Descriptor()
}
func (Bucket_IamConfig_PublicAccessPrevention) Type() protoreflect.EnumType {
- return &file_google_storage_v2_storage_proto_enumTypes[2]
+ return &file_google_storage_v2_storage_proto_enumTypes[3]
}
func (x Bucket_IamConfig_PublicAccessPrevention) Number() protoreflect.EnumNumber {
@@ -303,69 +375,28 @@ func (x Bucket_IamConfig_PublicAccessPrevention) Number() protoreflect.EnumNumbe
// Deprecated: Use Bucket_IamConfig_PublicAccessPrevention.Descriptor instead.
func (Bucket_IamConfig_PublicAccessPrevention) EnumDescriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 3, 0}
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 3, 0}
}
-// Request message for ReadObject.
-type ReadObjectRequest struct {
+// Request message for DeleteBucket.
+type DeleteBucketRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The name of the bucket containing the object to read.
- Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
- // The name of the object to read.
- Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
- // If present, selects a specific revision of this object (as opposed
- // to the latest version, the default).
- Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
- // The offset for the first byte to return in the read, relative to the start
- // of the object.
- //
- // A negative `read_offset` value will be interpreted as the number of bytes
- // back from the end of the object to be returned. For example, if an object's
- // length is 15 bytes, a ReadObjectRequest with `read_offset` = -5 and
- // `read_limit` = 3 would return bytes 10 through 12 of the object. Requesting
- // a negative offset whose magnitude is larger than the size of the object
- // will result in an error.
- ReadOffset int64 `protobuf:"varint,4,opt,name=read_offset,json=readOffset,proto3" json:"read_offset,omitempty"`
- // The maximum number of `data` bytes the server is allowed to return in the
- // sum of all `Object` messages. A `read_limit` of zero indicates that there
- // is no limit, and a negative `read_limit` will cause an error.
- //
- // If the stream returns fewer bytes than allowed by the `read_limit` and no
- // error occurred, the stream includes all data from the `read_offset` to the
- // end of the resource.
- ReadLimit int64 `protobuf:"varint,5,opt,name=read_limit,json=readLimit,proto3" json:"read_limit,omitempty"`
- // Makes the operation conditional on whether the object's current generation
- // matches the given value. Setting to 0 makes the operation succeed only if
- // there are no live versions of the object.
- IfGenerationMatch *int64 `protobuf:"varint,6,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
- // Makes the operation conditional on whether the object's current generation
- // does not match the given value. If no live object exists, the precondition
- // fails. Setting to 0 makes the operation succeed only if there is a live
- // version of the object.
- IfGenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
- // Makes the operation conditional on whether the object's current
- // metageneration matches the given value.
- IfMetagenerationMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
- // Makes the operation conditional on whether the object's current
- // metageneration does not match the given value.
- IfMetagenerationNotMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
- // A set of parameters common to Storage API requests concerning an object.
- CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // Required. Name of a bucket to delete.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // If set, only deletes the bucket if its metageneration matches this value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // If set, only deletes the bucket if its metageneration does not match this
+ // value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
// A set of parameters common to all Storage API requests.
- CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
- // Mask specifying which fields to read.
- // The checksummed_data field and its children will always be present.
- // If no mask is specified, will default to all fields except metadata.owner
- // and metadata.acl.
- // * may be used to mean "all fields".
- ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,12,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,5,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *ReadObjectRequest) Reset() {
- *x = ReadObjectRequest{}
+func (x *DeleteBucketRequest) Reset() {
+ *x = DeleteBucketRequest{}
if protoimpl.UnsafeEnabled {
mi := &file_google_storage_v2_storage_proto_msgTypes[0]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -373,13 +404,13 @@ func (x *ReadObjectRequest) Reset() {
}
}
-func (x *ReadObjectRequest) String() string {
+func (x *DeleteBucketRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ReadObjectRequest) ProtoMessage() {}
+func (*DeleteBucketRequest) ProtoMessage() {}
-func (x *ReadObjectRequest) ProtoReflect() protoreflect.Message {
+func (x *DeleteBucketRequest) ProtoReflect() protoreflect.Message {
mi := &file_google_storage_v2_storage_proto_msgTypes[0]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
@@ -391,136 +422,167 @@ func (x *ReadObjectRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ReadObjectRequest.ProtoReflect.Descriptor instead.
-func (*ReadObjectRequest) Descriptor() ([]byte, []int) {
+// Deprecated: Use DeleteBucketRequest.ProtoReflect.Descriptor instead.
+func (*DeleteBucketRequest) Descriptor() ([]byte, []int) {
return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{0}
}
-func (x *ReadObjectRequest) GetBucket() string {
+func (x *DeleteBucketRequest) GetName() string {
if x != nil {
- return x.Bucket
+ return x.Name
}
return ""
}
-func (x *ReadObjectRequest) GetObject() string {
- if x != nil {
- return x.Object
+func (x *DeleteBucketRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
}
- return ""
+ return 0
}
-func (x *ReadObjectRequest) GetGeneration() int64 {
- if x != nil {
- return x.Generation
+func (x *DeleteBucketRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
}
return 0
}
-func (x *ReadObjectRequest) GetReadOffset() int64 {
+func (x *DeleteBucketRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.ReadOffset
+ return x.CommonRequestParams
}
- return 0
+ return nil
}
-func (x *ReadObjectRequest) GetReadLimit() int64 {
- if x != nil {
- return x.ReadLimit
+// Request message for GetBucket.
+type GetBucketRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of a bucket.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // If set, and if the bucket's current metageneration does not match the
+ // specified value, the request will return an error.
+ IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // If set, and if the bucket's current metageneration matches the specified
+ // value, the request will return an error.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Mask specifying which fields to read.
+ // A "*" field may be used to indicate all fields.
+ // If no mask is specified, will default to all fields.
+ ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
+}
+
+func (x *GetBucketRequest) Reset() {
+ *x = GetBucketRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[1]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return 0
}
-func (x *ReadObjectRequest) GetIfGenerationMatch() int64 {
- if x != nil && x.IfGenerationMatch != nil {
- return *x.IfGenerationMatch
+func (x *GetBucketRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetBucketRequest) ProtoMessage() {}
+
+func (x *GetBucketRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[1]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return 0
+ return mi.MessageOf(x)
}
-func (x *ReadObjectRequest) GetIfGenerationNotMatch() int64 {
- if x != nil && x.IfGenerationNotMatch != nil {
- return *x.IfGenerationNotMatch
+// Deprecated: Use GetBucketRequest.ProtoReflect.Descriptor instead.
+func (*GetBucketRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{1}
+}
+
+func (x *GetBucketRequest) GetName() string {
+ if x != nil {
+ return x.Name
}
- return 0
+ return ""
}
-func (x *ReadObjectRequest) GetIfMetagenerationMatch() int64 {
+func (x *GetBucketRequest) GetIfMetagenerationMatch() int64 {
if x != nil && x.IfMetagenerationMatch != nil {
return *x.IfMetagenerationMatch
}
return 0
}
-func (x *ReadObjectRequest) GetIfMetagenerationNotMatch() int64 {
+func (x *GetBucketRequest) GetIfMetagenerationNotMatch() int64 {
if x != nil && x.IfMetagenerationNotMatch != nil {
return *x.IfMetagenerationNotMatch
}
return 0
}
-func (x *ReadObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
- if x != nil {
- return x.CommonObjectRequestParams
- }
- return nil
-}
-
-func (x *ReadObjectRequest) GetCommonRequestParams() *CommonRequestParams {
+func (x *GetBucketRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
return x.CommonRequestParams
}
return nil
}
-func (x *ReadObjectRequest) GetReadMask() *fieldmaskpb.FieldMask {
+func (x *GetBucketRequest) GetReadMask() *fieldmaskpb.FieldMask {
if x != nil {
return x.ReadMask
}
return nil
}
-// Response message for GetObject.
-type ReadObjectResponse struct {
+// Request message for CreateBucket.
+type CreateBucketRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A portion of the data for the object. The service **may** leave `data`
- // empty for any given `ReadResponse`. This enables the service to inform the
- // client that the request is still live while it is running an operation to
- // generate more data.
- ChecksummedData *ChecksummedData `protobuf:"bytes,1,opt,name=checksummed_data,json=checksummedData,proto3" json:"checksummed_data,omitempty"`
- // The checksums of the complete object. The client should compute one of
- // these checksums over the downloaded object and compare it against the value
- // provided here.
- ObjectChecksums *ObjectChecksums `protobuf:"bytes,2,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
- // If read_offset and or read_limit was specified on the
- // ReadObjectRequest, ContentRange will be populated on the first
- // ReadObjectResponse message of the read stream.
- ContentRange *ContentRange `protobuf:"bytes,3,opt,name=content_range,json=contentRange,proto3" json:"content_range,omitempty"`
- // Metadata of the object whose media is being returned.
- // Only populated in the first response in the stream.
- Metadata *Object `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
-}
-
-func (x *ReadObjectResponse) Reset() {
- *x = ReadObjectResponse{}
+ // Required. The project to which this bucket will belong.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. Properties of the new bucket being inserted.
+ // The project and name of the bucket are specified in this request, not in
+ // the bucket resource.
+ Bucket *Bucket `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Required. The ID to use for this bucket, which will become the final component of
+ // the bucket's resource name. For example, the value `foo` might result in
+ // a bucket with the name `projects/123456/buckets/foo`.
+ BucketId string `protobuf:"bytes,3,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
+ // Apply a predefined set of access controls to this bucket.
+ PredefinedAcl PredefinedBucketAcl `protobuf:"varint,4,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=google.storage.v2.PredefinedBucketAcl" json:"predefined_acl,omitempty"`
+ // Apply a predefined set of default object access controls to this bucket.
+ PredefinedDefaultObjectAcl PredefinedObjectAcl `protobuf:"varint,5,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"predefined_default_object_acl,omitempty"`
+}
+
+func (x *CreateBucketRequest) Reset() {
+ *x = CreateBucketRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[1]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[2]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ReadObjectResponse) String() string {
+func (x *CreateBucketRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ReadObjectResponse) ProtoMessage() {}
+func (*CreateBucketRequest) ProtoMessage() {}
-func (x *ReadObjectResponse) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[1]
+func (x *CreateBucketRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[2]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -531,83 +593,90 @@ func (x *ReadObjectResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ReadObjectResponse.ProtoReflect.Descriptor instead.
-func (*ReadObjectResponse) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{1}
+// Deprecated: Use CreateBucketRequest.ProtoReflect.Descriptor instead.
+func (*CreateBucketRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{2}
}
-func (x *ReadObjectResponse) GetChecksummedData() *ChecksummedData {
+func (x *CreateBucketRequest) GetParent() string {
if x != nil {
- return x.ChecksummedData
+ return x.Parent
}
- return nil
+ return ""
}
-func (x *ReadObjectResponse) GetObjectChecksums() *ObjectChecksums {
+func (x *CreateBucketRequest) GetBucket() *Bucket {
if x != nil {
- return x.ObjectChecksums
+ return x.Bucket
}
return nil
}
-func (x *ReadObjectResponse) GetContentRange() *ContentRange {
+func (x *CreateBucketRequest) GetBucketId() string {
if x != nil {
- return x.ContentRange
+ return x.BucketId
}
- return nil
+ return ""
}
-func (x *ReadObjectResponse) GetMetadata() *Object {
+func (x *CreateBucketRequest) GetPredefinedAcl() PredefinedBucketAcl {
if x != nil {
- return x.Metadata
+ return x.PredefinedAcl
}
- return nil
+ return PredefinedBucketAcl_PREDEFINED_BUCKET_ACL_UNSPECIFIED
}
-// Describes an attempt to insert an object, possibly over multiple requests.
-type WriteObjectSpec struct {
+func (x *CreateBucketRequest) GetPredefinedDefaultObjectAcl() PredefinedObjectAcl {
+ if x != nil {
+ return x.PredefinedDefaultObjectAcl
+ }
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
+}
+
+// Request message for ListBuckets.
+type ListBucketsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Destination object, including its name and its metadata.
- Resource *Object `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
- // Apply a predefined set of access controls to this object.
- PredefinedAcl PredefinedObjectAcl `protobuf:"varint,2,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"predefined_acl,omitempty"`
- // Makes the operation conditional on whether the object's current
- // generation matches the given value. Setting to 0 makes the operation
- // succeed only if there are no live versions of the object.
- IfGenerationMatch *int64 `protobuf:"varint,3,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
- // Makes the operation conditional on whether the object's current
- // generation does not match the given value. If no live object exists, the
- // precondition fails. Setting to 0 makes the operation succeed only if
- // there is a live version of the object.
- IfGenerationNotMatch *int64 `protobuf:"varint,4,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
- // Makes the operation conditional on whether the object's current
- // metageneration matches the given value.
- IfMetagenerationMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
- // Makes the operation conditional on whether the object's current
- // metageneration does not match the given value.
- IfMetagenerationNotMatch *int64 `protobuf:"varint,6,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // Required. The project whose buckets we are listing.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Maximum number of buckets to return in a single response. The service will
+ // use this parameter or 1,000 items, whichever is smaller. If "acl" is
+ // present in the read_mask, the service will use this parameter of 200 items,
+ // whichever is smaller.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // A previously-returned page token representing part of the larger set of
+ // results to view.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ // Filter results to buckets whose names begin with this prefix.
+ Prefix string `protobuf:"bytes,4,opt,name=prefix,proto3" json:"prefix,omitempty"`
+ // Mask specifying which fields to read from each result.
+ // If no mask is specified, will default to all fields except items.owner,
+ // items.acl, and items.default_object_acl.
+ // * may be used to mean "all fields".
+ ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,5,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *WriteObjectSpec) Reset() {
- *x = WriteObjectSpec{}
+func (x *ListBucketsRequest) Reset() {
+ *x = ListBucketsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[2]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[3]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WriteObjectSpec) String() string {
+func (x *ListBucketsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WriteObjectSpec) ProtoMessage() {}
+func (*ListBucketsRequest) ProtoMessage() {}
-func (x *WriteObjectSpec) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[2]
+func (x *ListBucketsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[3]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -618,119 +687,83 @@ func (x *WriteObjectSpec) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use WriteObjectSpec.ProtoReflect.Descriptor instead.
-func (*WriteObjectSpec) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{2}
+// Deprecated: Use ListBucketsRequest.ProtoReflect.Descriptor instead.
+func (*ListBucketsRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{3}
}
-func (x *WriteObjectSpec) GetResource() *Object {
+func (x *ListBucketsRequest) GetParent() string {
if x != nil {
- return x.Resource
+ return x.Parent
}
- return nil
+ return ""
}
-func (x *WriteObjectSpec) GetPredefinedAcl() PredefinedObjectAcl {
+func (x *ListBucketsRequest) GetPageSize() int32 {
if x != nil {
- return x.PredefinedAcl
+ return x.PageSize
}
- return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
+ return 0
}
-func (x *WriteObjectSpec) GetIfGenerationMatch() int64 {
- if x != nil && x.IfGenerationMatch != nil {
- return *x.IfGenerationMatch
+func (x *ListBucketsRequest) GetPageToken() string {
+ if x != nil {
+ return x.PageToken
}
- return 0
+ return ""
}
-func (x *WriteObjectSpec) GetIfGenerationNotMatch() int64 {
- if x != nil && x.IfGenerationNotMatch != nil {
- return *x.IfGenerationNotMatch
+func (x *ListBucketsRequest) GetPrefix() string {
+ if x != nil {
+ return x.Prefix
}
- return 0
+ return ""
}
-func (x *WriteObjectSpec) GetIfMetagenerationMatch() int64 {
- if x != nil && x.IfMetagenerationMatch != nil {
- return *x.IfMetagenerationMatch
+func (x *ListBucketsRequest) GetReadMask() *fieldmaskpb.FieldMask {
+ if x != nil {
+ return x.ReadMask
}
- return 0
+ return nil
}
-func (x *WriteObjectSpec) GetIfMetagenerationNotMatch() int64 {
- if x != nil && x.IfMetagenerationNotMatch != nil {
- return *x.IfMetagenerationNotMatch
+func (x *ListBucketsRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
}
- return 0
+ return nil
}
-// Request message for WriteObject.
-type WriteObjectRequest struct {
+// The result of a call to Buckets.ListBuckets
+type ListBucketsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The first message of each stream should set one of the following.
- //
- // Types that are assignable to FirstMessage:
- // *WriteObjectRequest_UploadId
- // *WriteObjectRequest_WriteObjectSpec
- FirstMessage isWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"`
- // Required. The offset from the beginning of the object at which the data should be
- // written.
- //
- // In the first `WriteObjectRequest` of a `WriteObject()` action, it
- // indicates the initial offset for the `Write()` call. The value **must** be
- // equal to the `committed_size` that a call to `QueryWriteStatus()` would
- // return (0 if this is the first write to the object).
- //
- // On subsequent calls, this value **must** be no larger than the sum of the
- // first `write_offset` and the sizes of all `data` chunks sent previously on
- // this stream.
- //
- // An incorrect value will cause an error.
- WriteOffset int64 `protobuf:"varint,3,opt,name=write_offset,json=writeOffset,proto3" json:"write_offset,omitempty"`
- // A portion of the data for the object.
- //
- // Types that are assignable to Data:
- // *WriteObjectRequest_ChecksummedData
- Data isWriteObjectRequest_Data `protobuf_oneof:"data"`
- // Checksums for the complete object. If the checksums computed by the service
- // don't match the specifified checksums the call will fail. May only be
- // provided in the first or last request (either with first_message, or
- // finish_write set).
- ObjectChecksums *ObjectChecksums `protobuf:"bytes,6,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
- // If `true`, this indicates that the write is complete. Sending any
- // `WriteObjectRequest`s subsequent to one in which `finish_write` is `true`
- // will cause an error.
- // For a non-resumable write (where the upload_id was not set in the first
- // message), it is an error not to set this field in the final message of the
- // stream.
- FinishWrite bool `protobuf:"varint,7,opt,name=finish_write,json=finishWrite,proto3" json:"finish_write,omitempty"`
- // A set of parameters common to Storage API requests concerning an object.
- CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
- // A set of parameters common to all Storage API requests.
- CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // The list of items.
+ Buckets []*Bucket `protobuf:"bytes,1,rep,name=buckets,proto3" json:"buckets,omitempty"`
+ // The continuation token, used to page through large result sets. Provide
+ // this value in a subsequent request to return the next page of results.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
-func (x *WriteObjectRequest) Reset() {
- *x = WriteObjectRequest{}
+func (x *ListBucketsResponse) Reset() {
+ *x = ListBucketsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[3]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WriteObjectRequest) String() string {
+func (x *ListBucketsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WriteObjectRequest) ProtoMessage() {}
+func (*ListBucketsResponse) ProtoMessage() {}
-func (x *WriteObjectRequest) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[3]
+func (x *ListBucketsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[4]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -741,144 +774,144 @@ func (x *WriteObjectRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use WriteObjectRequest.ProtoReflect.Descriptor instead.
-func (*WriteObjectRequest) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{3}
+// Deprecated: Use ListBucketsResponse.ProtoReflect.Descriptor instead.
+func (*ListBucketsResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{4}
}
-func (m *WriteObjectRequest) GetFirstMessage() isWriteObjectRequest_FirstMessage {
- if m != nil {
- return m.FirstMessage
+func (x *ListBucketsResponse) GetBuckets() []*Bucket {
+ if x != nil {
+ return x.Buckets
}
return nil
}
-func (x *WriteObjectRequest) GetUploadId() string {
- if x, ok := x.GetFirstMessage().(*WriteObjectRequest_UploadId); ok {
- return x.UploadId
+func (x *ListBucketsResponse) GetNextPageToken() string {
+ if x != nil {
+ return x.NextPageToken
}
return ""
}
-func (x *WriteObjectRequest) GetWriteObjectSpec() *WriteObjectSpec {
- if x, ok := x.GetFirstMessage().(*WriteObjectRequest_WriteObjectSpec); ok {
- return x.WriteObjectSpec
- }
- return nil
+// Request message for LockBucketRetentionPolicyRequest.
+type LockBucketRetentionPolicyRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of a bucket.
+ Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Makes the operation conditional on whether bucket's current metageneration
+ // matches the given value. Must be positive.
+ IfMetagenerationMatch int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3" json:"if_metageneration_match,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *WriteObjectRequest) GetWriteOffset() int64 {
- if x != nil {
- return x.WriteOffset
+func (x *LockBucketRetentionPolicyRequest) Reset() {
+ *x = LockBucketRetentionPolicyRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[5]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return 0
}
-func (m *WriteObjectRequest) GetData() isWriteObjectRequest_Data {
- if m != nil {
- return m.Data
- }
- return nil
+func (x *LockBucketRetentionPolicyRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (x *WriteObjectRequest) GetChecksummedData() *ChecksummedData {
- if x, ok := x.GetData().(*WriteObjectRequest_ChecksummedData); ok {
- return x.ChecksummedData
+func (*LockBucketRetentionPolicyRequest) ProtoMessage() {}
+
+func (x *LockBucketRetentionPolicyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[5]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (x *WriteObjectRequest) GetObjectChecksums() *ObjectChecksums {
- if x != nil {
- return x.ObjectChecksums
- }
- return nil
+// Deprecated: Use LockBucketRetentionPolicyRequest.ProtoReflect.Descriptor instead.
+func (*LockBucketRetentionPolicyRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{5}
}
-func (x *WriteObjectRequest) GetFinishWrite() bool {
+func (x *LockBucketRetentionPolicyRequest) GetBucket() string {
if x != nil {
- return x.FinishWrite
+ return x.Bucket
}
- return false
+ return ""
}
-func (x *WriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+func (x *LockBucketRetentionPolicyRequest) GetIfMetagenerationMatch() int64 {
if x != nil {
- return x.CommonObjectRequestParams
+ return x.IfMetagenerationMatch
}
- return nil
+ return 0
}
-func (x *WriteObjectRequest) GetCommonRequestParams() *CommonRequestParams {
+func (x *LockBucketRetentionPolicyRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
return x.CommonRequestParams
}
return nil
}
-type isWriteObjectRequest_FirstMessage interface {
- isWriteObjectRequest_FirstMessage()
-}
-
-type WriteObjectRequest_UploadId struct {
- // For resumable uploads. This should be the `upload_id` returned from a
- // call to `StartResumableWriteResponse`.
- UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3,oneof"`
-}
-
-type WriteObjectRequest_WriteObjectSpec struct {
- // For non-resumable uploads. Describes the overall upload, including the
- // destination bucket and object name, preconditions, etc.
- WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,2,opt,name=write_object_spec,json=writeObjectSpec,proto3,oneof"`
-}
-
-func (*WriteObjectRequest_UploadId) isWriteObjectRequest_FirstMessage() {}
-
-func (*WriteObjectRequest_WriteObjectSpec) isWriteObjectRequest_FirstMessage() {}
-
-type isWriteObjectRequest_Data interface {
- isWriteObjectRequest_Data()
-}
-
-type WriteObjectRequest_ChecksummedData struct {
- // The data to insert. If a crc32c checksum is provided that doesn't match
- // the checksum computed by the service, the request will fail.
- ChecksummedData *ChecksummedData `protobuf:"bytes,4,opt,name=checksummed_data,json=checksummedData,proto3,oneof"`
-}
-
-func (*WriteObjectRequest_ChecksummedData) isWriteObjectRequest_Data() {}
-
-// Response message for WriteObject.
-type WriteObjectResponse struct {
+// Request for UpdateBucket method.
+type UpdateBucketRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The response will set one of the following.
+ // The bucket to update.
+ // The bucket's `name` field will be used to identify the bucket.
+ Bucket *Bucket `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // If set, will only modify the bucket if its metageneration matches this
+ // value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,2,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // If set, will only modify the bucket if its metageneration does not match
+ // this value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // Apply a predefined set of access controls to this bucket.
+ PredefinedAcl PredefinedBucketAcl `protobuf:"varint,4,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=google.storage.v2.PredefinedBucketAcl" json:"predefined_acl,omitempty"`
+ // Apply a predefined set of default object access controls to this bucket.
+ PredefinedDefaultObjectAcl PredefinedObjectAcl `protobuf:"varint,5,opt,name=predefined_default_object_acl,json=predefinedDefaultObjectAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"predefined_default_object_acl,omitempty"`
+ // List of fields to be updated.
//
- // Types that are assignable to WriteStatus:
- // *WriteObjectResponse_CommittedSize
- // *WriteObjectResponse_Resource
- WriteStatus isWriteObjectResponse_WriteStatus `protobuf_oneof:"write_status"`
+ // To specify ALL fields, equivalent to the JSON API's "update" function,
+ // specify a single field with the value `*`. Note: not recommended. If a new
+ // field is introduced at a later time, an older client updating with the `*`
+ // may accidentally reset the new field's value.
+ //
+ // Not specifying any fields is an error.
+ // Not specifying a field while setting that field to a non-default value is
+ // an error.
+ UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,6,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,7,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *WriteObjectResponse) Reset() {
- *x = WriteObjectResponse{}
+func (x *UpdateBucketRequest) Reset() {
+ *x = UpdateBucketRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[4]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[6]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *WriteObjectResponse) String() string {
+func (x *UpdateBucketRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*WriteObjectResponse) ProtoMessage() {}
+func (*UpdateBucketRequest) ProtoMessage() {}
-func (x *WriteObjectResponse) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[4]
+func (x *UpdateBucketRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[6]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -889,84 +922,87 @@ func (x *WriteObjectResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use WriteObjectResponse.ProtoReflect.Descriptor instead.
-func (*WriteObjectResponse) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{4}
+// Deprecated: Use UpdateBucketRequest.ProtoReflect.Descriptor instead.
+func (*UpdateBucketRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{6}
}
-func (m *WriteObjectResponse) GetWriteStatus() isWriteObjectResponse_WriteStatus {
- if m != nil {
- return m.WriteStatus
+func (x *UpdateBucketRequest) GetBucket() *Bucket {
+ if x != nil {
+ return x.Bucket
}
return nil
}
-func (x *WriteObjectResponse) GetCommittedSize() int64 {
- if x, ok := x.GetWriteStatus().(*WriteObjectResponse_CommittedSize); ok {
- return x.CommittedSize
+func (x *UpdateBucketRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
}
return 0
}
-func (x *WriteObjectResponse) GetResource() *Object {
- if x, ok := x.GetWriteStatus().(*WriteObjectResponse_Resource); ok {
- return x.Resource
+func (x *UpdateBucketRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
}
- return nil
+ return 0
}
-type isWriteObjectResponse_WriteStatus interface {
- isWriteObjectResponse_WriteStatus()
+func (x *UpdateBucketRequest) GetPredefinedAcl() PredefinedBucketAcl {
+ if x != nil {
+ return x.PredefinedAcl
+ }
+ return PredefinedBucketAcl_PREDEFINED_BUCKET_ACL_UNSPECIFIED
}
-type WriteObjectResponse_CommittedSize struct {
- // The total number of bytes that have been processed for the given object
- // from all `WriteObject` calls. Only set if the upload has not finalized.
- CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize,proto3,oneof"`
+func (x *UpdateBucketRequest) GetPredefinedDefaultObjectAcl() PredefinedObjectAcl {
+ if x != nil {
+ return x.PredefinedDefaultObjectAcl
+ }
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
}
-type WriteObjectResponse_Resource struct {
- // A resource containing the metadata for the uploaded object. Only set if
- // the upload has finalized.
- Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
+func (x *UpdateBucketRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
+ if x != nil {
+ return x.UpdateMask
+ }
+ return nil
}
-func (*WriteObjectResponse_CommittedSize) isWriteObjectResponse_WriteStatus() {}
-
-func (*WriteObjectResponse_Resource) isWriteObjectResponse_WriteStatus() {}
+func (x *UpdateBucketRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
-// Request object for `QueryWriteStatus`.
-type QueryWriteStatusRequest struct {
+// Request message for DeleteNotification.
+type DeleteNotificationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. The name of the resume token for the object whose write status is being
- // requested.
- UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
- // A set of parameters common to Storage API requests concerning an object.
- CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
- // A set of parameters common to all Storage API requests.
- CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Required. The parent bucket of the notification.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
-func (x *QueryWriteStatusRequest) Reset() {
- *x = QueryWriteStatusRequest{}
+func (x *DeleteNotificationRequest) Reset() {
+ *x = DeleteNotificationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[5]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[7]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *QueryWriteStatusRequest) String() string {
+func (x *DeleteNotificationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*QueryWriteStatusRequest) ProtoMessage() {}
+func (*DeleteNotificationRequest) ProtoMessage() {}
-func (x *QueryWriteStatusRequest) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[5]
+func (x *DeleteNotificationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[7]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -977,63 +1013,47 @@ func (x *QueryWriteStatusRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use QueryWriteStatusRequest.ProtoReflect.Descriptor instead.
-func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{5}
+// Deprecated: Use DeleteNotificationRequest.ProtoReflect.Descriptor instead.
+func (*DeleteNotificationRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{7}
}
-func (x *QueryWriteStatusRequest) GetUploadId() string {
+func (x *DeleteNotificationRequest) GetName() string {
if x != nil {
- return x.UploadId
+ return x.Name
}
return ""
}
-func (x *QueryWriteStatusRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
- if x != nil {
- return x.CommonObjectRequestParams
- }
- return nil
-}
-
-func (x *QueryWriteStatusRequest) GetCommonRequestParams() *CommonRequestParams {
- if x != nil {
- return x.CommonRequestParams
- }
- return nil
-}
-
-// Response object for `QueryWriteStatus`.
-type QueryWriteStatusResponse struct {
+// Request message for GetNotification.
+type GetNotificationRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The response will set one of the following.
- //
- // Types that are assignable to WriteStatus:
- // *QueryWriteStatusResponse_CommittedSize
- // *QueryWriteStatusResponse_Resource
- WriteStatus isQueryWriteStatusResponse_WriteStatus `protobuf_oneof:"write_status"`
+ // Required. The parent bucket of the notification.
+ // Format:
+ // `projects/{project}/buckets/{bucket}/notificationConfigs/{notification}`
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
}
-func (x *QueryWriteStatusResponse) Reset() {
- *x = QueryWriteStatusResponse{}
+func (x *GetNotificationRequest) Reset() {
+ *x = GetNotificationRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[6]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[8]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *QueryWriteStatusResponse) String() string {
+func (x *GetNotificationRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*QueryWriteStatusResponse) ProtoMessage() {}
+func (*GetNotificationRequest) ProtoMessage() {}
-func (x *QueryWriteStatusResponse) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[6]
+func (x *GetNotificationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[8]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1044,85 +1064,113 @@ func (x *QueryWriteStatusResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use QueryWriteStatusResponse.ProtoReflect.Descriptor instead.
-func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{6}
+// Deprecated: Use GetNotificationRequest.ProtoReflect.Descriptor instead.
+func (*GetNotificationRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{8}
}
-func (m *QueryWriteStatusResponse) GetWriteStatus() isQueryWriteStatusResponse_WriteStatus {
- if m != nil {
- return m.WriteStatus
+func (x *GetNotificationRequest) GetName() string {
+ if x != nil {
+ return x.Name
}
- return nil
+ return ""
}
-func (x *QueryWriteStatusResponse) GetCommittedSize() int64 {
- if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_CommittedSize); ok {
- return x.CommittedSize
- }
- return 0
+// Request message for CreateNotification.
+type CreateNotificationRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The bucket to which this notification belongs.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Required. Properties of the notification to be inserted.
+ Notification *Notification `protobuf:"bytes,2,opt,name=notification,proto3" json:"notification,omitempty"`
}
-func (x *QueryWriteStatusResponse) GetResource() *Object {
- if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_Resource); ok {
- return x.Resource
+func (x *CreateNotificationRequest) Reset() {
+ *x = CreateNotificationRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[9]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-type isQueryWriteStatusResponse_WriteStatus interface {
- isQueryWriteStatusResponse_WriteStatus()
+func (x *CreateNotificationRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-type QueryWriteStatusResponse_CommittedSize struct {
- // The total number of bytes that have been processed for the given object
- // from all `WriteObject` calls. This is the correct value for the
- // 'write_offset' field to use when resuming the `WriteObject` operation.
- // Only set if the upload has not finalized.
- CommittedSize int64 `protobuf:"varint,1,opt,name=committed_size,json=committedSize,proto3,oneof"`
+func (*CreateNotificationRequest) ProtoMessage() {}
+
+func (x *CreateNotificationRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[9]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
}
-type QueryWriteStatusResponse_Resource struct {
- // A resource containing the metadata for the uploaded object. Only set if
- // the upload has finalized.
- Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
+// Deprecated: Use CreateNotificationRequest.ProtoReflect.Descriptor instead.
+func (*CreateNotificationRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{9}
}
-func (*QueryWriteStatusResponse_CommittedSize) isQueryWriteStatusResponse_WriteStatus() {}
+func (x *CreateNotificationRequest) GetParent() string {
+ if x != nil {
+ return x.Parent
+ }
+ return ""
+}
-func (*QueryWriteStatusResponse_Resource) isQueryWriteStatusResponse_WriteStatus() {}
+func (x *CreateNotificationRequest) GetNotification() *Notification {
+ if x != nil {
+ return x.Notification
+ }
+ return nil
+}
-// Request message StartResumableWrite.
-type StartResumableWriteRequest struct {
+// Request message for ListNotifications.
+type ListNotificationsRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The destination bucket, object, and metadata, as well as any preconditions.
- WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,1,opt,name=write_object_spec,json=writeObjectSpec,proto3" json:"write_object_spec,omitempty"`
- // A set of parameters common to Storage API requests concerning an object.
- CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
- // A set of parameters common to all Storage API requests.
- CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Required. Name of a Google Cloud Storage bucket.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // The maximum number of notifications to return. The service may return fewer
+ // than this value.
+ // The maximum value is 100; values above 100 will be coerced to 100.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // A page token, received from a previous `ListNotifications` call.
+ // Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to `ListNotifications` must
+ // match the call that provided the page token.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
}
-func (x *StartResumableWriteRequest) Reset() {
- *x = StartResumableWriteRequest{}
+func (x *ListNotificationsRequest) Reset() {
+ *x = ListNotificationsRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[7]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[10]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *StartResumableWriteRequest) String() string {
+func (x *ListNotificationsRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*StartResumableWriteRequest) ProtoMessage() {}
+func (*ListNotificationsRequest) ProtoMessage() {}
-func (x *StartResumableWriteRequest) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[7]
+func (x *ListNotificationsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[10]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1133,60 +1181,62 @@ func (x *StartResumableWriteRequest) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use StartResumableWriteRequest.ProtoReflect.Descriptor instead.
-func (*StartResumableWriteRequest) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{7}
+// Deprecated: Use ListNotificationsRequest.ProtoReflect.Descriptor instead.
+func (*ListNotificationsRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{10}
}
-func (x *StartResumableWriteRequest) GetWriteObjectSpec() *WriteObjectSpec {
+func (x *ListNotificationsRequest) GetParent() string {
if x != nil {
- return x.WriteObjectSpec
+ return x.Parent
}
- return nil
+ return ""
}
-func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+func (x *ListNotificationsRequest) GetPageSize() int32 {
if x != nil {
- return x.CommonObjectRequestParams
+ return x.PageSize
}
- return nil
+ return 0
}
-func (x *StartResumableWriteRequest) GetCommonRequestParams() *CommonRequestParams {
+func (x *ListNotificationsRequest) GetPageToken() string {
if x != nil {
- return x.CommonRequestParams
+ return x.PageToken
}
- return nil
+ return ""
}
-// Response object for `StartResumableWrite`.
-type StartResumableWriteResponse struct {
+// The result of a call to Notifications.ListNotifications
+type ListNotificationsResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The upload_id of the newly started resumable write operation. This
- // value should be copied into the `WriteObjectRequest.upload_id` field.
- UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
+ // The list of items.
+ Notifications []*Notification `protobuf:"bytes,1,rep,name=notifications,proto3" json:"notifications,omitempty"`
+ // A token, which can be sent as `page_token` to retrieve the next page.
+ // If this field is omitted, there are no subsequent pages.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
-func (x *StartResumableWriteResponse) Reset() {
- *x = StartResumableWriteResponse{}
+func (x *ListNotificationsResponse) Reset() {
+ *x = ListNotificationsResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[8]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[11]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *StartResumableWriteResponse) String() string {
+func (x *ListNotificationsResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*StartResumableWriteResponse) ProtoMessage() {}
+func (*ListNotificationsResponse) ProtoMessage() {}
-func (x *StartResumableWriteResponse) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[8]
+func (x *ListNotificationsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[11]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1197,51 +1247,72 @@ func (x *StartResumableWriteResponse) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use StartResumableWriteResponse.ProtoReflect.Descriptor instead.
-func (*StartResumableWriteResponse) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{8}
+// Deprecated: Use ListNotificationsResponse.ProtoReflect.Descriptor instead.
+func (*ListNotificationsResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{11}
}
-func (x *StartResumableWriteResponse) GetUploadId() string {
+func (x *ListNotificationsResponse) GetNotifications() []*Notification {
if x != nil {
- return x.UploadId
+ return x.Notifications
+ }
+ return nil
+}
+
+func (x *ListNotificationsResponse) GetNextPageToken() string {
+ if x != nil {
+ return x.NextPageToken
}
return ""
}
-// Parameters that can be passed to any object request.
-type CommonObjectRequestParams struct {
+// Request message for ComposeObject.
+type ComposeObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Encryption algorithm used with Customer-Supplied Encryption Keys feature.
- EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
- // Encryption key used with Customer-Supplied Encryption Keys feature.
- // In raw bytes format (not base64-encoded).
- EncryptionKeyBytes []byte `protobuf:"bytes,4,opt,name=encryption_key_bytes,json=encryptionKeyBytes,proto3" json:"encryption_key_bytes,omitempty"`
- // SHA256 hash of encryption key used with Customer-Supplied Encryption Keys
- // feature.
- EncryptionKeySha256Bytes []byte `protobuf:"bytes,5,opt,name=encryption_key_sha256_bytes,json=encryptionKeySha256Bytes,proto3" json:"encryption_key_sha256_bytes,omitempty"`
+ // Required. Properties of the resulting object.
+ Destination *Object `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
+ // The list of source objects that will be concatenated into a single object.
+ SourceObjects []*ComposeObjectRequest_SourceObject `protobuf:"bytes,2,rep,name=source_objects,json=sourceObjects,proto3" json:"source_objects,omitempty"`
+ // Apply a predefined set of access controls to the destination object.
+ DestinationPredefinedAcl PredefinedObjectAcl `protobuf:"varint,3,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"destination_predefined_acl,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Resource name of the Cloud KMS key, of the form
+ // `projects/my-project/locations/my-location/keyRings/my-kr/cryptoKeys/my-key`,
+ // that will be used to encrypt the object. Overrides the object
+ // metadata's `kms_key_name` value, if any.
+ KmsKey string `protobuf:"bytes,6,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,7,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,8,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *CommonObjectRequestParams) Reset() {
- *x = CommonObjectRequestParams{}
+func (x *ComposeObjectRequest) Reset() {
+ *x = ComposeObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[9]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[12]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *CommonObjectRequestParams) String() string {
+func (x *ComposeObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*CommonObjectRequestParams) ProtoMessage() {}
+func (*ComposeObjectRequest) ProtoMessage() {}
-func (x *CommonObjectRequestParams) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[9]
+func (x *ComposeObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[12]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1252,60 +1323,123 @@ func (x *CommonObjectRequestParams) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use CommonObjectRequestParams.ProtoReflect.Descriptor instead.
-func (*CommonObjectRequestParams) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{9}
+// Deprecated: Use ComposeObjectRequest.ProtoReflect.Descriptor instead.
+func (*ComposeObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12}
}
-func (x *CommonObjectRequestParams) GetEncryptionAlgorithm() string {
+func (x *ComposeObjectRequest) GetDestination() *Object {
if x != nil {
- return x.EncryptionAlgorithm
+ return x.Destination
+ }
+ return nil
+}
+
+func (x *ComposeObjectRequest) GetSourceObjects() []*ComposeObjectRequest_SourceObject {
+ if x != nil {
+ return x.SourceObjects
+ }
+ return nil
+}
+
+func (x *ComposeObjectRequest) GetDestinationPredefinedAcl() PredefinedObjectAcl {
+ if x != nil {
+ return x.DestinationPredefinedAcl
+ }
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
+}
+
+func (x *ComposeObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
+ }
+ return 0
+}
+
+func (x *ComposeObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
+ }
+ return 0
+}
+
+func (x *ComposeObjectRequest) GetKmsKey() string {
+ if x != nil {
+ return x.KmsKey
}
return ""
}
-func (x *CommonObjectRequestParams) GetEncryptionKeyBytes() []byte {
+func (x *ComposeObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
if x != nil {
- return x.EncryptionKeyBytes
+ return x.CommonObjectRequestParams
}
return nil
}
-func (x *CommonObjectRequestParams) GetEncryptionKeySha256Bytes() []byte {
+func (x *ComposeObjectRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.EncryptionKeySha256Bytes
+ return x.CommonRequestParams
}
return nil
}
-// Parameters that can be passed to any request.
-type CommonRequestParams struct {
+// Message for deleting an object.
+// Either `bucket` and `object` *or* `upload_id` **must** be set (but not both).
+type DeleteObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Required. Required when using buckets with Requestor Pays feature enabled.
- // Example: `projects/123456`.
- UserProject string `protobuf:"bytes,1,opt,name=user_project,json=userProject,proto3" json:"user_project,omitempty"`
+ // Required. Name of the bucket in which the object resides.
+ Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Required. The name of the object to delete (when not using a resumable write).
+ Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
+ // The resumable upload_id of the object to delete (when deleting an
+ // in-progress resumable write). This should be copied from the `upload_id`
+ // field of `StartResumableWriteResponse`.
+ UploadId string `protobuf:"bytes,3,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
+ // If present, permanently deletes a specific revision of this object (as
+ // opposed to the latest version, the default).
+ Generation int64 `protobuf:"varint,4,opt,name=generation,proto3" json:"generation,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,5,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // does not match the given value. If no live object exists, the precondition
+ // fails. Setting to 0 makes the operation succeed only if there is a live
+ // version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,6,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,7,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *CommonRequestParams) Reset() {
- *x = CommonRequestParams{}
+func (x *DeleteObjectRequest) Reset() {
+ *x = DeleteObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[10]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[13]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *CommonRequestParams) String() string {
+func (x *DeleteObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*CommonRequestParams) ProtoMessage() {}
+func (*DeleteObjectRequest) ProtoMessage() {}
-func (x *CommonRequestParams) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[10]
+func (x *DeleteObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[13]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1316,192 +1450,156 @@ func (x *CommonRequestParams) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use CommonRequestParams.ProtoReflect.Descriptor instead.
-func (*CommonRequestParams) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{10}
+// Deprecated: Use DeleteObjectRequest.ProtoReflect.Descriptor instead.
+func (*DeleteObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{13}
}
-func (x *CommonRequestParams) GetUserProject() string {
+func (x *DeleteObjectRequest) GetBucket() string {
if x != nil {
- return x.UserProject
+ return x.Bucket
}
return ""
}
-// Shared constants.
-type ServiceConstants struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
+func (x *DeleteObjectRequest) GetObject() string {
+ if x != nil {
+ return x.Object
+ }
+ return ""
}
-func (x *ServiceConstants) Reset() {
- *x = ServiceConstants{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[11]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *DeleteObjectRequest) GetUploadId() string {
+ if x != nil {
+ return x.UploadId
}
+ return ""
}
-func (x *ServiceConstants) String() string {
- return protoimpl.X.MessageStringOf(x)
+func (x *DeleteObjectRequest) GetGeneration() int64 {
+ if x != nil {
+ return x.Generation
+ }
+ return 0
}
-func (*ServiceConstants) ProtoMessage() {}
+func (x *DeleteObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
+ }
+ return 0
+}
-func (x *ServiceConstants) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[11]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *DeleteObjectRequest) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
}
- return mi.MessageOf(x)
+ return 0
}
-// Deprecated: Use ServiceConstants.ProtoReflect.Descriptor instead.
-func (*ServiceConstants) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{11}
+func (x *DeleteObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
+ }
+ return 0
}
-// A bucket.
-type Bucket struct {
+func (x *DeleteObjectRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
+ }
+ return 0
+}
+
+func (x *DeleteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+ if x != nil {
+ return x.CommonObjectRequestParams
+ }
+ return nil
+}
+
+func (x *DeleteObjectRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
+
+// Request message for ReadObject.
+type ReadObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Immutable. The name of the bucket.
- // Global buckets will be of the format `projects/{project}/buckets/{bucket}`.
- // Other sorts of buckets in the future are not guaranteed to follow this
- // pattern.
- // For globally unique bucket names, a `_` may be substituted for the project
- // ID.
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Output only. The user-chosen part of the bucket name. The `{bucket}` portion of the
- // `name` field. For globally unique buckets, this is equal to the "bucket
- // name" of other Cloud Storage APIs. Example: "pub".
- BucketId string `protobuf:"bytes,2,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
- // Immutable. The project which owns this bucket.
- // Format: projects/{project_number}
- // Example: `projects/123456`.
- Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
- // Output only. The metadata generation of this bucket.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
- // Immutable. The location of the bucket. Object data for objects in the bucket resides
- // in physical storage within this region. Defaults to `US`. See the
- // [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's
- // guide] for the authoritative list. Attempting to update this field after
- // the bucket is created will result in an error.
- Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
- // Output only. The location type of the bucket (region, dual-region, multi-region, etc).
- LocationType string `protobuf:"bytes,6,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"`
- // The bucket's default storage class, used whenever no storageClass is
- // specified for a newly-created object. This defines how objects in the
- // bucket are stored and determines the SLA and the cost of storage.
- // If this value is not specified when the bucket is created, it will default
- // to `STANDARD`. For more information, see
- // https://developers.google.com/storage/docs/storage-classes.
- StorageClass string `protobuf:"bytes,7,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
- // Access controls on the bucket.
- // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
- // requests to set, read, or modify acl is an error.
- Acl []*BucketAccessControl `protobuf:"bytes,8,rep,name=acl,proto3" json:"acl,omitempty"`
- // Default access controls to apply to new objects when no ACL is provided.
- // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
- // requests to set, read, or modify acl is an error.
- DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,9,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"`
- // The bucket's lifecycle config. See
- // [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management]
- // for more information.
- Lifecycle *Bucket_Lifecycle `protobuf:"bytes,10,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
- // Output only. The creation time of the bucket in
- // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
- // The bucket's [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing]
- // (CORS) config.
- Cors []*Bucket_Cors `protobuf:"bytes,12,rep,name=cors,proto3" json:"cors,omitempty"`
- // Output only. The modification time of the bucket.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- UpdateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
- // The default value for event-based hold on newly created objects in this
- // bucket. Event-based hold is a way to retain objects indefinitely until an
- // event occurs, signified by the
- // hold's release. After being released, such objects will be subject to
- // bucket-level retention (if any). One sample use case of this flag is for
- // banks to hold loan documents for at least 3 years after loan is paid in
- // full. Here, bucket-level retention is 3 years and the event is loan being
- // paid in full. In this example, these objects will be held intact for any
- // number of years until the event has occurred (event-based hold on the
- // object is released) and then 3 more years after that. That means retention
- // duration of the objects begins from the moment event-based hold
- // transitioned from true to false. Objects under event-based hold cannot be
- // deleted, overwritten or archived until the hold is removed.
- DefaultEventBasedHold bool `protobuf:"varint,14,opt,name=default_event_based_hold,json=defaultEventBasedHold,proto3" json:"default_event_based_hold,omitempty"`
- // User-provided labels, in key/value pairs.
- Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // The bucket's website config, controlling how the service behaves
- // when accessing bucket contents as a web site. See the
- // [https://cloud.google.com/storage/docs/static-website][Static Website
- // Examples] for more information.
- Website *Bucket_Website `protobuf:"bytes,16,opt,name=website,proto3" json:"website,omitempty"`
- // The bucket's versioning config.
- Versioning *Bucket_Versioning `protobuf:"bytes,17,opt,name=versioning,proto3" json:"versioning,omitempty"`
- // The bucket's logging config, which defines the destination bucket
- // and name prefix (if any) for the current bucket's logs.
- Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"`
- // Output only. The owner of the bucket. This is always the project team's owner group.
- Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"`
- // Encryption config for a bucket.
- Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"`
- // The bucket's billing config.
- Billing *Bucket_Billing `protobuf:"bytes,21,opt,name=billing,proto3" json:"billing,omitempty"`
- // The bucket's retention policy. The retention policy enforces a minimum
- // retention time for all objects contained in the bucket, based on their
- // creation time. Any attempt to overwrite or delete objects younger than the
- // retention period will result in a PERMISSION_DENIED error. An unlocked
- // retention policy can be modified or removed from the bucket via a
- // storage.buckets.update operation. A locked retention policy cannot be
- // removed or shortened in duration for the lifetime of the bucket.
- // Attempting to remove or decrease period of a locked retention policy will
- // result in a PERMISSION_DENIED error.
- RetentionPolicy *Bucket_RetentionPolicy `protobuf:"bytes,22,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"`
- // The bucket's IAM config.
- IamConfig *Bucket_IamConfig `protobuf:"bytes,23,opt,name=iam_config,json=iamConfig,proto3" json:"iam_config,omitempty"`
- // Immutable. The zone or zones from which the bucket is intended to use zonal quota.
- // Requests for data from outside the specified affinities are still allowed
- // but won't be able to use zonal quota. The values are case-insensitive.
- // Attempting to update this field after bucket is created will result in an
- // error.
- ZoneAffinity []string `protobuf:"bytes,24,rep,name=zone_affinity,json=zoneAffinity,proto3" json:"zone_affinity,omitempty"`
- // Reserved for future use.
- SatisfiesPzs bool `protobuf:"varint,25,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
+ // The name of the bucket containing the object to read.
+ Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // The name of the object to read.
+ Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
+ // If present, selects a specific revision of this object (as opposed
+ // to the latest version, the default).
+ Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
+ // The offset for the first byte to return in the read, relative to the start
+ // of the object.
+ //
+ // A negative `read_offset` value will be interpreted as the number of bytes
+ // back from the end of the object to be returned. For example, if an object's
+ // length is 15 bytes, a ReadObjectRequest with `read_offset` = -5 and
+ // `read_limit` = 3 would return bytes 10 through 12 of the object. Requesting
+ // a negative offset whose magnitude is larger than the size of the object
+ // will result in an error.
+ ReadOffset int64 `protobuf:"varint,4,opt,name=read_offset,json=readOffset,proto3" json:"read_offset,omitempty"`
+ // The maximum number of `data` bytes the server is allowed to return in the
+ // sum of all `Object` messages. A `read_limit` of zero indicates that there
+ // is no limit, and a negative `read_limit` will cause an error.
+ //
+ // If the stream returns fewer bytes than allowed by the `read_limit` and no
+ // error occurred, the stream includes all data from the `read_offset` to the
+ // end of the resource.
+ ReadLimit int64 `protobuf:"varint,5,opt,name=read_limit,json=readLimit,proto3" json:"read_limit,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,6,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // does not match the given value. If no live object exists, the precondition
+ // fails. Setting to 0 makes the operation succeed only if there is a live
+ // version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,8,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,10,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,11,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Mask specifying which fields to read.
+ // The checksummed_data field and its children will always be present.
+ // If no mask is specified, will default to all fields except metadata.owner
+ // and metadata.acl.
+ // * may be used to mean "all fields".
+ ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,12,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
}
-func (x *Bucket) Reset() {
- *x = Bucket{}
+func (x *ReadObjectRequest) Reset() {
+ *x = ReadObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[12]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[14]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket) String() string {
+func (x *ReadObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket) ProtoMessage() {}
+func (*ReadObjectRequest) ProtoMessage() {}
-func (x *Bucket) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[12]
+func (x *ReadObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[14]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1512,239 +1610,277 @@ func (x *Bucket) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket.ProtoReflect.Descriptor instead.
-func (*Bucket) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12}
+// Deprecated: Use ReadObjectRequest.ProtoReflect.Descriptor instead.
+func (*ReadObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{14}
}
-func (x *Bucket) GetName() string {
+func (x *ReadObjectRequest) GetBucket() string {
if x != nil {
- return x.Name
+ return x.Bucket
}
return ""
}
-func (x *Bucket) GetBucketId() string {
+func (x *ReadObjectRequest) GetObject() string {
if x != nil {
- return x.BucketId
+ return x.Object
}
return ""
}
-func (x *Bucket) GetProject() string {
+func (x *ReadObjectRequest) GetGeneration() int64 {
if x != nil {
- return x.Project
+ return x.Generation
}
- return ""
+ return 0
}
-func (x *Bucket) GetMetageneration() int64 {
+func (x *ReadObjectRequest) GetReadOffset() int64 {
if x != nil {
- return x.Metageneration
+ return x.ReadOffset
}
return 0
}
-func (x *Bucket) GetLocation() string {
+func (x *ReadObjectRequest) GetReadLimit() int64 {
if x != nil {
- return x.Location
+ return x.ReadLimit
}
- return ""
+ return 0
}
-func (x *Bucket) GetLocationType() string {
- if x != nil {
- return x.LocationType
+func (x *ReadObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
}
- return ""
+ return 0
}
-func (x *Bucket) GetStorageClass() string {
- if x != nil {
- return x.StorageClass
+func (x *ReadObjectRequest) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
}
- return ""
+ return 0
}
-func (x *Bucket) GetAcl() []*BucketAccessControl {
- if x != nil {
- return x.Acl
+func (x *ReadObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetDefaultObjectAcl() []*ObjectAccessControl {
- if x != nil {
- return x.DefaultObjectAcl
+func (x *ReadObjectRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetLifecycle() *Bucket_Lifecycle {
+func (x *ReadObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
if x != nil {
- return x.Lifecycle
+ return x.CommonObjectRequestParams
}
return nil
}
-func (x *Bucket) GetCreateTime() *timestamppb.Timestamp {
+func (x *ReadObjectRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.CreateTime
+ return x.CommonRequestParams
}
return nil
}
-func (x *Bucket) GetCors() []*Bucket_Cors {
+func (x *ReadObjectRequest) GetReadMask() *fieldmaskpb.FieldMask {
if x != nil {
- return x.Cors
+ return x.ReadMask
}
return nil
}
-func (x *Bucket) GetUpdateTime() *timestamppb.Timestamp {
- if x != nil {
- return x.UpdateTime
- }
- return nil
+// Request message for GetObject.
+type GetObjectRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of the bucket in which the object resides.
+ Bucket string `protobuf:"bytes,1,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Required. Name of the object.
+ Object string `protobuf:"bytes,2,opt,name=object,proto3" json:"object,omitempty"`
+ // If present, selects a specific revision of this object (as opposed to the
+ // latest version, the default).
+ Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,4,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // does not match the given value. If no live object exists, the precondition
+ // fails. Setting to 0 makes the operation succeed only if there is a live
+ // version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,5,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,6,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,7,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Mask specifying which fields to read.
+ // If no mask is specified, will default to all fields except metadata.acl and
+ // metadata.owner.
+ // * may be used to mean "all fields".
+ ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,10,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
}
-func (x *Bucket) GetDefaultEventBasedHold() bool {
- if x != nil {
- return x.DefaultEventBasedHold
+func (x *GetObjectRequest) Reset() {
+ *x = GetObjectRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[15]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return false
}
-func (x *Bucket) GetLabels() map[string]string {
- if x != nil {
- return x.Labels
+func (x *GetObjectRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*GetObjectRequest) ProtoMessage() {}
+
+func (x *GetObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[15]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (x *Bucket) GetWebsite() *Bucket_Website {
+// Deprecated: Use GetObjectRequest.ProtoReflect.Descriptor instead.
+func (*GetObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{15}
+}
+
+func (x *GetObjectRequest) GetBucket() string {
if x != nil {
- return x.Website
+ return x.Bucket
}
- return nil
+ return ""
}
-func (x *Bucket) GetVersioning() *Bucket_Versioning {
+func (x *GetObjectRequest) GetObject() string {
if x != nil {
- return x.Versioning
+ return x.Object
}
- return nil
+ return ""
}
-func (x *Bucket) GetLogging() *Bucket_Logging {
+func (x *GetObjectRequest) GetGeneration() int64 {
if x != nil {
- return x.Logging
+ return x.Generation
}
- return nil
+ return 0
}
-func (x *Bucket) GetOwner() *Owner {
- if x != nil {
- return x.Owner
+func (x *GetObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetEncryption() *Bucket_Encryption {
- if x != nil {
- return x.Encryption
+func (x *GetObjectRequest) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetBilling() *Bucket_Billing {
- if x != nil {
- return x.Billing
+func (x *GetObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetRetentionPolicy() *Bucket_RetentionPolicy {
- if x != nil {
- return x.RetentionPolicy
+func (x *GetObjectRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
}
- return nil
+ return 0
}
-func (x *Bucket) GetIamConfig() *Bucket_IamConfig {
+func (x *GetObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
if x != nil {
- return x.IamConfig
+ return x.CommonObjectRequestParams
}
return nil
}
-func (x *Bucket) GetZoneAffinity() []string {
+func (x *GetObjectRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.ZoneAffinity
+ return x.CommonRequestParams
}
return nil
}
-func (x *Bucket) GetSatisfiesPzs() bool {
+func (x *GetObjectRequest) GetReadMask() *fieldmaskpb.FieldMask {
if x != nil {
- return x.SatisfiesPzs
+ return x.ReadMask
}
- return false
+ return nil
}
-// An access-control entry.
-type BucketAccessControl struct {
+// Response message for GetObject.
+type ReadObjectResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The access permission for the entity.
- Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
- // The ID of the access-control entry.
- Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
- // The entity holding the permission, in one of the following forms:
- // * `user-{userid}`
- // * `user-{email}`
- // * `group-{groupid}`
- // * `group-{email}`
- // * `domain-{domain}`
- // * `project-{team-projectid}`
- // * `allUsers`
- // * `allAuthenticatedUsers`
- // Examples:
- // * The user `liz@example.com` would be `user-liz@example.com`.
- // * The group `example@googlegroups.com` would be
- // `group-example@googlegroups.com`
- // * All members of the Google Apps for Business domain `example.com` would be
- // `domain-example.com`
- Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
- // The ID for the entity, if any.
- EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
- // The email address associated with the entity, if any.
- Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
- // The domain associated with the entity, if any.
- Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
- // The project team associated with the entity, if any.
- ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
+ // A portion of the data for the object. The service **may** leave `data`
+ // empty for any given `ReadResponse`. This enables the service to inform the
+ // client that the request is still live while it is running an operation to
+ // generate more data.
+ ChecksummedData *ChecksummedData `protobuf:"bytes,1,opt,name=checksummed_data,json=checksummedData,proto3" json:"checksummed_data,omitempty"`
+ // The checksums of the complete object. The client should compute one of
+ // these checksums over the downloaded object and compare it against the value
+ // provided here.
+ ObjectChecksums *ObjectChecksums `protobuf:"bytes,2,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
+ // If read_offset and or read_limit was specified on the
+ // ReadObjectRequest, ContentRange will be populated on the first
+ // ReadObjectResponse message of the read stream.
+ ContentRange *ContentRange `protobuf:"bytes,3,opt,name=content_range,json=contentRange,proto3" json:"content_range,omitempty"`
+ // Metadata of the object whose media is being returned.
+ // Only populated in the first response in the stream.
+ Metadata *Object `protobuf:"bytes,4,opt,name=metadata,proto3" json:"metadata,omitempty"`
}
-func (x *BucketAccessControl) Reset() {
- *x = BucketAccessControl{}
+func (x *ReadObjectResponse) Reset() {
+ *x = ReadObjectResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[13]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[16]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *BucketAccessControl) String() string {
+func (x *ReadObjectResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*BucketAccessControl) ProtoMessage() {}
+func (*ReadObjectResponse) ProtoMessage() {}
-func (x *BucketAccessControl) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[13]
+func (x *ReadObjectResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[16]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1755,90 +1891,83 @@ func (x *BucketAccessControl) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use BucketAccessControl.ProtoReflect.Descriptor instead.
-func (*BucketAccessControl) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{13}
+// Deprecated: Use ReadObjectResponse.ProtoReflect.Descriptor instead.
+func (*ReadObjectResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{16}
}
-func (x *BucketAccessControl) GetRole() string {
+func (x *ReadObjectResponse) GetChecksummedData() *ChecksummedData {
if x != nil {
- return x.Role
+ return x.ChecksummedData
}
- return ""
+ return nil
}
-func (x *BucketAccessControl) GetId() string {
+func (x *ReadObjectResponse) GetObjectChecksums() *ObjectChecksums {
if x != nil {
- return x.Id
+ return x.ObjectChecksums
}
- return ""
+ return nil
}
-func (x *BucketAccessControl) GetEntity() string {
+func (x *ReadObjectResponse) GetContentRange() *ContentRange {
if x != nil {
- return x.Entity
+ return x.ContentRange
}
- return ""
+ return nil
}
-func (x *BucketAccessControl) GetEntityId() string {
+func (x *ReadObjectResponse) GetMetadata() *Object {
if x != nil {
- return x.EntityId
- }
- return ""
-}
-
-func (x *BucketAccessControl) GetEmail() string {
- if x != nil {
- return x.Email
- }
- return ""
-}
-
-func (x *BucketAccessControl) GetDomain() string {
- if x != nil {
- return x.Domain
- }
- return ""
-}
-
-func (x *BucketAccessControl) GetProjectTeam() *ProjectTeam {
- if x != nil {
- return x.ProjectTeam
+ return x.Metadata
}
return nil
}
-// Message used to convey content being read or written, along with an optional
-// checksum.
-type ChecksummedData struct {
+// Describes an attempt to insert an object, possibly over multiple requests.
+type WriteObjectSpec struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The data.
- Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
- // If set, the CRC32C digest of the content field.
- Crc32C *uint32 `protobuf:"fixed32,2,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
+ // Destination object, including its name and its metadata.
+ Resource *Object `protobuf:"bytes,1,opt,name=resource,proto3" json:"resource,omitempty"`
+ // Apply a predefined set of access controls to this object.
+ PredefinedAcl PredefinedObjectAcl `protobuf:"varint,2,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"predefined_acl,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // generation matches the given value. Setting to 0 makes the operation
+ // succeed only if there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,3,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // generation does not match the given value. If no live object exists, the
+ // precondition fails. Setting to 0 makes the operation succeed only if
+ // there is a live version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,4,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,6,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
}
-func (x *ChecksummedData) Reset() {
- *x = ChecksummedData{}
+func (x *WriteObjectSpec) Reset() {
+ *x = WriteObjectSpec{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[14]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[17]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ChecksummedData) String() string {
+func (x *WriteObjectSpec) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ChecksummedData) ProtoMessage() {}
+func (*WriteObjectSpec) ProtoMessage() {}
-func (x *ChecksummedData) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[14]
+func (x *WriteObjectSpec) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[17]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1849,63 +1978,119 @@ func (x *ChecksummedData) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead.
-func (*ChecksummedData) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{14}
+// Deprecated: Use WriteObjectSpec.ProtoReflect.Descriptor instead.
+func (*WriteObjectSpec) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{17}
}
-func (x *ChecksummedData) GetContent() []byte {
+func (x *WriteObjectSpec) GetResource() *Object {
if x != nil {
- return x.Content
+ return x.Resource
}
return nil
}
-func (x *ChecksummedData) GetCrc32C() uint32 {
- if x != nil && x.Crc32C != nil {
- return *x.Crc32C
+func (x *WriteObjectSpec) GetPredefinedAcl() PredefinedObjectAcl {
+ if x != nil {
+ return x.PredefinedAcl
+ }
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
+}
+
+func (x *WriteObjectSpec) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
}
return 0
}
-// Message used for storing full (not subrange) object checksums.
-type ObjectChecksums struct {
+func (x *WriteObjectSpec) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
+ }
+ return 0
+}
+
+func (x *WriteObjectSpec) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
+ }
+ return 0
+}
+
+func (x *WriteObjectSpec) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
+ }
+ return 0
+}
+
+// Request message for WriteObject.
+type WriteObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // CRC32C digest of the object data. Computed by the Cloud Storage service for
- // all written objects.
- // If set in an WriteObjectRequest, service will validate that the stored
- // object matches this checksum.
- Crc32C *uint32 `protobuf:"fixed32,1,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
- // 128 bit MD5 hash of the object data.
- // For more information about using the MD5 hash, see
- // [https://cloud.google.com/storage/docs/hashes-etags#json-api][Hashes and
- // ETags: Best Practices].
- // Not all objects will provide an MD5 hash. For example, composite objects
- // provide only crc32c hashes.
- // This value is equivalent to running `cat object.txt | openssl md5 -binary`
- Md5Hash []byte `protobuf:"bytes,2,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"`
+ // The first message of each stream should set one of the following.
+ //
+ // Types that are assignable to FirstMessage:
+ // *WriteObjectRequest_UploadId
+ // *WriteObjectRequest_WriteObjectSpec
+ FirstMessage isWriteObjectRequest_FirstMessage `protobuf_oneof:"first_message"`
+ // Required. The offset from the beginning of the object at which the data should be
+ // written.
+ //
+ // In the first `WriteObjectRequest` of a `WriteObject()` action, it
+ // indicates the initial offset for the `Write()` call. The value **must** be
+ // equal to the `persisted_size` that a call to `QueryWriteStatus()` would
+ // return (0 if this is the first write to the object).
+ //
+ // On subsequent calls, this value **must** be no larger than the sum of the
+ // first `write_offset` and the sizes of all `data` chunks sent previously on
+ // this stream.
+ //
+ // An incorrect value will cause an error.
+ WriteOffset int64 `protobuf:"varint,3,opt,name=write_offset,json=writeOffset,proto3" json:"write_offset,omitempty"`
+ // A portion of the data for the object.
+ //
+ // Types that are assignable to Data:
+ // *WriteObjectRequest_ChecksummedData
+ Data isWriteObjectRequest_Data `protobuf_oneof:"data"`
+ // Checksums for the complete object. If the checksums computed by the service
+ // don't match the specifified checksums the call will fail. May only be
+ // provided in the first or last request (either with first_message, or
+ // finish_write set).
+ ObjectChecksums *ObjectChecksums `protobuf:"bytes,6,opt,name=object_checksums,json=objectChecksums,proto3" json:"object_checksums,omitempty"`
+ // If `true`, this indicates that the write is complete. Sending any
+ // `WriteObjectRequest`s subsequent to one in which `finish_write` is `true`
+ // will cause an error.
+ // For a non-resumable write (where the upload_id was not set in the first
+ // message), it is an error not to set this field in the final message of the
+ // stream.
+ FinishWrite bool `protobuf:"varint,7,opt,name=finish_write,json=finishWrite,proto3" json:"finish_write,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *ObjectChecksums) Reset() {
- *x = ObjectChecksums{}
+func (x *WriteObjectRequest) Reset() {
+ *x = WriteObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[15]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[18]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ObjectChecksums) String() string {
+func (x *WriteObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ObjectChecksums) ProtoMessage() {}
+func (*WriteObjectRequest) ProtoMessage() {}
-func (x *ObjectChecksums) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[15]
+func (x *WriteObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[18]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -1916,168 +2101,144 @@ func (x *ObjectChecksums) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ObjectChecksums.ProtoReflect.Descriptor instead.
-func (*ObjectChecksums) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{15}
+// Deprecated: Use WriteObjectRequest.ProtoReflect.Descriptor instead.
+func (*WriteObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{18}
}
-func (x *ObjectChecksums) GetCrc32C() uint32 {
- if x != nil && x.Crc32C != nil {
- return *x.Crc32C
+func (m *WriteObjectRequest) GetFirstMessage() isWriteObjectRequest_FirstMessage {
+ if m != nil {
+ return m.FirstMessage
+ }
+ return nil
+}
+
+func (x *WriteObjectRequest) GetUploadId() string {
+ if x, ok := x.GetFirstMessage().(*WriteObjectRequest_UploadId); ok {
+ return x.UploadId
+ }
+ return ""
+}
+
+func (x *WriteObjectRequest) GetWriteObjectSpec() *WriteObjectSpec {
+ if x, ok := x.GetFirstMessage().(*WriteObjectRequest_WriteObjectSpec); ok {
+ return x.WriteObjectSpec
+ }
+ return nil
+}
+
+func (x *WriteObjectRequest) GetWriteOffset() int64 {
+ if x != nil {
+ return x.WriteOffset
}
return 0
}
-func (x *ObjectChecksums) GetMd5Hash() []byte {
+func (m *WriteObjectRequest) GetData() isWriteObjectRequest_Data {
+ if m != nil {
+ return m.Data
+ }
+ return nil
+}
+
+func (x *WriteObjectRequest) GetChecksummedData() *ChecksummedData {
+ if x, ok := x.GetData().(*WriteObjectRequest_ChecksummedData); ok {
+ return x.ChecksummedData
+ }
+ return nil
+}
+
+func (x *WriteObjectRequest) GetObjectChecksums() *ObjectChecksums {
if x != nil {
- return x.Md5Hash
+ return x.ObjectChecksums
}
return nil
}
-// An object.
-type Object struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
+func (x *WriteObjectRequest) GetFinishWrite() bool {
+ if x != nil {
+ return x.FinishWrite
+ }
+ return false
+}
- // Immutable. The name of this object. Nearly any sequence of unicode characters is
- // valid. See
- // [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
- // Example: `test.txt`
- // The `name` field by itself does not uniquely identify a Cloud Storage
- // object. A Cloud Storage object is uniquely identified by the tuple of
- // (bucket, object, generation).
- Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
- // Immutable. The name of the bucket containing this object.
- // Example: `projects/_/buckets/foo`.
- Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
- // Immutable. The content generation of this object. Used for object versioning.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
- // Output only. The version of the metadata for this generation of this object. Used for
- // preconditions and for detecting changes in metadata. A metageneration
- // number is only meaningful in the context of a particular generation of a
- // particular object.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
- // Storage class of the object.
- StorageClass string `protobuf:"bytes,5,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
- // Output only. Content-Length of the object data in bytes, matching
- // [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2].
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"`
- // Content-Encoding of the object data, matching
- // [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2]
- ContentEncoding string `protobuf:"bytes,7,opt,name=content_encoding,json=contentEncoding,proto3" json:"content_encoding,omitempty"`
- // Content-Disposition of the object data, matching
- // [https://tools.ietf.org/html/rfc6266][RFC 6266].
- ContentDisposition string `protobuf:"bytes,8,opt,name=content_disposition,json=contentDisposition,proto3" json:"content_disposition,omitempty"`
- // Cache-Control directive for the object data, matching
- // [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2].
- // If omitted, and the object is accessible to all anonymous users, the
- // default will be `public, max-age=3600`.
- CacheControl string `protobuf:"bytes,9,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
- // Access controls on the object.
- // If iamConfig.uniformBucketLevelAccess is enabled on the parent
- // bucket, requests to set, read, or modify acl is an error.
- Acl []*ObjectAccessControl `protobuf:"bytes,10,rep,name=acl,proto3" json:"acl,omitempty"`
- // Content-Language of the object data, matching
- // [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
- ContentLanguage string `protobuf:"bytes,11,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
- // Output only. The deletion time of the object. Will be returned if and only if this
- // version of the object has been deleted.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- DeleteTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
- // Content-Type of the object data, matching
- // [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5].
- // If an object is stored without a Content-Type, it is served as
- // `application/octet-stream`.
- ContentType string `protobuf:"bytes,13,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
- // Output only. The creation time of the object.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
- // Output only. Number of underlying components that make up this object. Components are
- // accumulated by compose operations.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- ComponentCount int32 `protobuf:"varint,15,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"`
- // Output only. Hashes for the data part of this object.
- Checksums *ObjectChecksums `protobuf:"bytes,16,opt,name=checksums,proto3" json:"checksums,omitempty"`
- // Output only. The modification time of the object metadata.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- UpdateTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
- // Cloud KMS Key used to encrypt this object, if the object is encrypted by
- // such a key.
- KmsKey string `protobuf:"bytes,18,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
- // Output only. The time at which the object's storage class was last changed. When the
- // object is initially created, it will be set to time_created.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- UpdateStorageClassTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=update_storage_class_time,json=updateStorageClassTime,proto3" json:"update_storage_class_time,omitempty"`
- // Whether an object is under temporary hold. While this flag is set to true,
- // the object is protected against deletion and overwrites. A common use case
- // of this flag is regulatory investigations where objects need to be retained
- // while the investigation is ongoing. Note that unlike event-based hold,
- // temporary hold does not impact retention expiration time of an object.
- TemporaryHold bool `protobuf:"varint,20,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"`
- // A server-determined value that specifies the earliest time that the
- // object's retention period expires. This value is in
- // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
- // Note 1: This field is not provided for objects with an active event-based
- // hold, since retention expiration is unknown until the hold is removed.
- // Note 2: This value can be provided even when temporary hold is set (so that
- // the user can reason about policy without having to first unset the
- // temporary hold).
- RetentionExpireTime *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=retention_expire_time,json=retentionExpireTime,proto3" json:"retention_expire_time,omitempty"`
- // User-provided metadata, in key/value pairs.
- Metadata map[string]string `protobuf:"bytes,22,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
- // Whether an object is under event-based hold.
- // An event-based hold is a way to force the retention of an object until
- // after some event occurs. Once the hold is released by explicitly setting
- // this field to false, the object will become subject to any bucket-level
- // retention policy, except that the retention duration will be calculated
- // from the time the event based hold was lifted, rather than the time the
- // object was created.
+func (x *WriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+ if x != nil {
+ return x.CommonObjectRequestParams
+ }
+ return nil
+}
+
+func (x *WriteObjectRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
+
+type isWriteObjectRequest_FirstMessage interface {
+ isWriteObjectRequest_FirstMessage()
+}
+
+type WriteObjectRequest_UploadId struct {
+ // For resumable uploads. This should be the `upload_id` returned from a
+ // call to `StartResumableWriteResponse`.
+ UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3,oneof"`
+}
+
+type WriteObjectRequest_WriteObjectSpec struct {
+ // For non-resumable uploads. Describes the overall upload, including the
+ // destination bucket and object name, preconditions, etc.
+ WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,2,opt,name=write_object_spec,json=writeObjectSpec,proto3,oneof"`
+}
+
+func (*WriteObjectRequest_UploadId) isWriteObjectRequest_FirstMessage() {}
+
+func (*WriteObjectRequest_WriteObjectSpec) isWriteObjectRequest_FirstMessage() {}
+
+type isWriteObjectRequest_Data interface {
+ isWriteObjectRequest_Data()
+}
+
+type WriteObjectRequest_ChecksummedData struct {
+ // The data to insert. If a crc32c checksum is provided that doesn't match
+ // the checksum computed by the service, the request will fail.
+ ChecksummedData *ChecksummedData `protobuf:"bytes,4,opt,name=checksummed_data,json=checksummedData,proto3,oneof"`
+}
+
+func (*WriteObjectRequest_ChecksummedData) isWriteObjectRequest_Data() {}
+
+// Response message for WriteObject.
+type WriteObjectResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The response will set one of the following.
//
- // In a WriteObject request, not setting this field implies that the value
- // should be taken from the parent bucket's "default_event_based_hold" field.
- // In a response, this field will always be set to true or false.
- EventBasedHold *bool `protobuf:"varint,23,opt,name=event_based_hold,json=eventBasedHold,proto3,oneof" json:"event_based_hold,omitempty"`
- // Output only. The owner of the object. This will always be the uploader of the object.
- // Attempting to set or update this field will result in a
- // [FieldViolation][google.rpc.BadRequest.FieldViolation].
- Owner *Owner `protobuf:"bytes,24,opt,name=owner,proto3" json:"owner,omitempty"`
- // Metadata of customer-supplied encryption key, if the object is encrypted by
- // such a key.
- CustomerEncryption *Object_CustomerEncryption `protobuf:"bytes,25,opt,name=customer_encryption,json=customerEncryption,proto3" json:"customer_encryption,omitempty"`
- // A user-specified timestamp set on an object.
- CustomTime *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=custom_time,json=customTime,proto3" json:"custom_time,omitempty"`
+ // Types that are assignable to WriteStatus:
+ // *WriteObjectResponse_PersistedSize
+ // *WriteObjectResponse_Resource
+ WriteStatus isWriteObjectResponse_WriteStatus `protobuf_oneof:"write_status"`
}
-func (x *Object) Reset() {
- *x = Object{}
+func (x *WriteObjectResponse) Reset() {
+ *x = WriteObjectResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[16]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[19]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Object) String() string {
+func (x *WriteObjectResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Object) ProtoMessage() {}
+func (*WriteObjectResponse) ProtoMessage() {}
-func (x *Object) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[16]
+func (x *WriteObjectResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[19]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2088,246 +2249,313 @@ func (x *Object) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Object.ProtoReflect.Descriptor instead.
-func (*Object) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{16}
+// Deprecated: Use WriteObjectResponse.ProtoReflect.Descriptor instead.
+func (*WriteObjectResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{19}
}
-func (x *Object) GetName() string {
- if x != nil {
- return x.Name
+func (m *WriteObjectResponse) GetWriteStatus() isWriteObjectResponse_WriteStatus {
+ if m != nil {
+ return m.WriteStatus
}
- return ""
+ return nil
}
-func (x *Object) GetBucket() string {
- if x != nil {
- return x.Bucket
+func (x *WriteObjectResponse) GetPersistedSize() int64 {
+ if x, ok := x.GetWriteStatus().(*WriteObjectResponse_PersistedSize); ok {
+ return x.PersistedSize
}
- return ""
+ return 0
}
-func (x *Object) GetGeneration() int64 {
- if x != nil {
- return x.Generation
+func (x *WriteObjectResponse) GetResource() *Object {
+ if x, ok := x.GetWriteStatus().(*WriteObjectResponse_Resource); ok {
+ return x.Resource
}
- return 0
+ return nil
}
-func (x *Object) GetMetageneration() int64 {
- if x != nil {
- return x.Metageneration
+type isWriteObjectResponse_WriteStatus interface {
+ isWriteObjectResponse_WriteStatus()
+}
+
+type WriteObjectResponse_PersistedSize struct {
+ // The total number of bytes that have been processed for the given object
+ // from all `WriteObject` calls. Only set if the upload has not finalized.
+ PersistedSize int64 `protobuf:"varint,1,opt,name=persisted_size,json=persistedSize,proto3,oneof"`
+}
+
+type WriteObjectResponse_Resource struct {
+ // A resource containing the metadata for the uploaded object. Only set if
+ // the upload has finalized.
+ Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
+}
+
+func (*WriteObjectResponse_PersistedSize) isWriteObjectResponse_WriteStatus() {}
+
+func (*WriteObjectResponse_Resource) isWriteObjectResponse_WriteStatus() {}
+
+// Request message for ListObjects.
+type ListObjectsRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Name of the bucket in which to look for objects.
+ Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
+ // Maximum number of `items` plus `prefixes` to return
+ // in a single page of responses. As duplicate `prefixes` are
+ // omitted, fewer total results may be returned than requested. The service
+ // will use this parameter or 1,000 items, whichever is smaller.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // A previously-returned page token representing part of the larger set of
+ // results to view.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ // If set, returns results in a directory-like mode. `items` will contain
+ // only objects whose names, aside from the `prefix`, do not
+ // contain `delimiter`. Objects whose names, aside from the
+ // `prefix`, contain `delimiter` will have their name,
+ // truncated after the `delimiter`, returned in
+ // `prefixes`. Duplicate `prefixes` are omitted.
+ Delimiter string `protobuf:"bytes,4,opt,name=delimiter,proto3" json:"delimiter,omitempty"`
+ // If true, objects that end in exactly one instance of `delimiter`
+ // will have their metadata included in `items` in addition to
+ // `prefixes`.
+ IncludeTrailingDelimiter bool `protobuf:"varint,5,opt,name=include_trailing_delimiter,json=includeTrailingDelimiter,proto3" json:"include_trailing_delimiter,omitempty"`
+ // Filter results to objects whose names begin with this prefix.
+ Prefix string `protobuf:"bytes,6,opt,name=prefix,proto3" json:"prefix,omitempty"`
+ // If `true`, lists all versions of an object as distinct results.
+ // For more information, see
+ // [Object
+ // Versioning](https://cloud.google.com/storage/docs/object-versioning).
+ Versions bool `protobuf:"varint,7,opt,name=versions,proto3" json:"versions,omitempty"`
+ // Mask specifying which fields to read from each result.
+ // If no mask is specified, will default to all fields except items.acl and
+ // items.owner.
+ // * may be used to mean "all fields".
+ ReadMask *fieldmaskpb.FieldMask `protobuf:"bytes,8,opt,name=read_mask,json=readMask,proto3,oneof" json:"read_mask,omitempty"`
+ // Filter results to objects whose names are lexicographically equal to or
+ // after lexicographic_start. If lexicographic_end is also set, the objects
+ // listed have names between lexicographic_start (inclusive) and
+ // lexicographic_end (exclusive).
+ LexicographicStart string `protobuf:"bytes,10,opt,name=lexicographic_start,json=lexicographicStart,proto3" json:"lexicographic_start,omitempty"`
+ // Filter results to objects whose names are lexicographically before
+ // lexicographic_end. If lexicographic_start is also set, the objects listed
+ // have names between lexicographic_start (inclusive) and lexicographic_end
+ // (exclusive).
+ LexicographicEnd string `protobuf:"bytes,11,opt,name=lexicographic_end,json=lexicographicEnd,proto3" json:"lexicographic_end,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+}
+
+func (x *ListObjectsRequest) Reset() {
+ *x = ListObjectsRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[20]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return 0
}
-func (x *Object) GetStorageClass() string {
+func (x *ListObjectsRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListObjectsRequest) ProtoMessage() {}
+
+func (x *ListObjectsRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[20]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListObjectsRequest.ProtoReflect.Descriptor instead.
+func (*ListObjectsRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{20}
+}
+
+func (x *ListObjectsRequest) GetParent() string {
if x != nil {
- return x.StorageClass
+ return x.Parent
}
return ""
}
-func (x *Object) GetSize() int64 {
+func (x *ListObjectsRequest) GetPageSize() int32 {
if x != nil {
- return x.Size
+ return x.PageSize
}
return 0
}
-func (x *Object) GetContentEncoding() string {
+func (x *ListObjectsRequest) GetPageToken() string {
if x != nil {
- return x.ContentEncoding
+ return x.PageToken
}
return ""
}
-func (x *Object) GetContentDisposition() string {
+func (x *ListObjectsRequest) GetDelimiter() string {
if x != nil {
- return x.ContentDisposition
+ return x.Delimiter
}
return ""
}
-func (x *Object) GetCacheControl() string {
+func (x *ListObjectsRequest) GetIncludeTrailingDelimiter() bool {
if x != nil {
- return x.CacheControl
+ return x.IncludeTrailingDelimiter
}
- return ""
+ return false
}
-func (x *Object) GetAcl() []*ObjectAccessControl {
+func (x *ListObjectsRequest) GetPrefix() string {
if x != nil {
- return x.Acl
+ return x.Prefix
}
- return nil
+ return ""
}
-func (x *Object) GetContentLanguage() string {
+func (x *ListObjectsRequest) GetVersions() bool {
if x != nil {
- return x.ContentLanguage
+ return x.Versions
}
- return ""
+ return false
}
-func (x *Object) GetDeleteTime() *timestamppb.Timestamp {
+func (x *ListObjectsRequest) GetReadMask() *fieldmaskpb.FieldMask {
if x != nil {
- return x.DeleteTime
+ return x.ReadMask
}
return nil
}
-func (x *Object) GetContentType() string {
+func (x *ListObjectsRequest) GetLexicographicStart() string {
if x != nil {
- return x.ContentType
+ return x.LexicographicStart
}
return ""
}
-func (x *Object) GetCreateTime() *timestamppb.Timestamp {
- if x != nil {
- return x.CreateTime
- }
- return nil
-}
-
-func (x *Object) GetComponentCount() int32 {
+func (x *ListObjectsRequest) GetLexicographicEnd() string {
if x != nil {
- return x.ComponentCount
+ return x.LexicographicEnd
}
- return 0
+ return ""
}
-func (x *Object) GetChecksums() *ObjectChecksums {
+func (x *ListObjectsRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.Checksums
+ return x.CommonRequestParams
}
return nil
}
-func (x *Object) GetUpdateTime() *timestamppb.Timestamp {
- if x != nil {
- return x.UpdateTime
- }
- return nil
-}
+// Request object for `QueryWriteStatus`.
+type QueryWriteStatusRequest struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
-func (x *Object) GetKmsKey() string {
- if x != nil {
- return x.KmsKey
- }
- return ""
+ // Required. The name of the resume token for the object whose write status is being
+ // requested.
+ UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,2,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Object) GetUpdateStorageClassTime() *timestamppb.Timestamp {
- if x != nil {
- return x.UpdateStorageClassTime
+func (x *QueryWriteStatusRequest) Reset() {
+ *x = QueryWriteStatusRequest{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[21]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
}
- return nil
}
-func (x *Object) GetTemporaryHold() bool {
- if x != nil {
- return x.TemporaryHold
- }
- return false
+func (x *QueryWriteStatusRequest) String() string {
+ return protoimpl.X.MessageStringOf(x)
}
-func (x *Object) GetRetentionExpireTime() *timestamppb.Timestamp {
- if x != nil {
- return x.RetentionExpireTime
- }
- return nil
-}
+func (*QueryWriteStatusRequest) ProtoMessage() {}
-func (x *Object) GetMetadata() map[string]string {
- if x != nil {
- return x.Metadata
+func (x *QueryWriteStatusRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[21]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
}
- return nil
+ return mi.MessageOf(x)
}
-func (x *Object) GetEventBasedHold() bool {
- if x != nil && x.EventBasedHold != nil {
- return *x.EventBasedHold
- }
- return false
+// Deprecated: Use QueryWriteStatusRequest.ProtoReflect.Descriptor instead.
+func (*QueryWriteStatusRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{21}
}
-func (x *Object) GetOwner() *Owner {
+func (x *QueryWriteStatusRequest) GetUploadId() string {
if x != nil {
- return x.Owner
+ return x.UploadId
}
- return nil
+ return ""
}
-func (x *Object) GetCustomerEncryption() *Object_CustomerEncryption {
+func (x *QueryWriteStatusRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
if x != nil {
- return x.CustomerEncryption
+ return x.CommonObjectRequestParams
}
return nil
}
-func (x *Object) GetCustomTime() *timestamppb.Timestamp {
+func (x *QueryWriteStatusRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.CustomTime
+ return x.CommonRequestParams
}
return nil
}
-// An access-control entry.
-type ObjectAccessControl struct {
+// Response object for `QueryWriteStatus`.
+type QueryWriteStatusResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The access permission for the entity.
- Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
- // The ID of the access-control entry.
- Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
- // The entity holding the permission, in one of the following forms:
- // * `user-{userid}`
- // * `user-{email}`
- // * `group-{groupid}`
- // * `group-{email}`
- // * `domain-{domain}`
- // * `project-{team-projectid}`
- // * `allUsers`
- // * `allAuthenticatedUsers`
- // Examples:
- // * The user `liz@example.com` would be `user-liz@example.com`.
- // * The group `example@googlegroups.com` would be
- // `group-example@googlegroups.com`.
- // * All members of the Google Apps for Business domain `example.com` would be
- // `domain-example.com`.
- Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
- // The ID for the entity, if any.
- EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
- // The email address associated with the entity, if any.
- Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
- // The domain associated with the entity, if any.
- Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
- // The project team associated with the entity, if any.
- ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
+ // The response will set one of the following.
+ //
+ // Types that are assignable to WriteStatus:
+ // *QueryWriteStatusResponse_PersistedSize
+ // *QueryWriteStatusResponse_Resource
+ WriteStatus isQueryWriteStatusResponse_WriteStatus `protobuf_oneof:"write_status"`
}
-func (x *ObjectAccessControl) Reset() {
- *x = ObjectAccessControl{}
+func (x *QueryWriteStatusResponse) Reset() {
+ *x = QueryWriteStatusResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[17]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[22]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ObjectAccessControl) String() string {
+func (x *QueryWriteStatusResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ObjectAccessControl) ProtoMessage() {}
+func (*QueryWriteStatusResponse) ProtoMessage() {}
-func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[17]
+func (x *QueryWriteStatusResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[22]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2338,89 +2566,176 @@ func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ObjectAccessControl.ProtoReflect.Descriptor instead.
-func (*ObjectAccessControl) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{17}
+// Deprecated: Use QueryWriteStatusResponse.ProtoReflect.Descriptor instead.
+func (*QueryWriteStatusResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{22}
}
-func (x *ObjectAccessControl) GetRole() string {
- if x != nil {
- return x.Role
+func (m *QueryWriteStatusResponse) GetWriteStatus() isQueryWriteStatusResponse_WriteStatus {
+ if m != nil {
+ return m.WriteStatus
}
- return ""
+ return nil
}
-func (x *ObjectAccessControl) GetId() string {
- if x != nil {
- return x.Id
+func (x *QueryWriteStatusResponse) GetPersistedSize() int64 {
+ if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_PersistedSize); ok {
+ return x.PersistedSize
}
- return ""
+ return 0
}
-func (x *ObjectAccessControl) GetEntity() string {
- if x != nil {
- return x.Entity
+func (x *QueryWriteStatusResponse) GetResource() *Object {
+ if x, ok := x.GetWriteStatus().(*QueryWriteStatusResponse_Resource); ok {
+ return x.Resource
}
- return ""
+ return nil
}
-func (x *ObjectAccessControl) GetEntityId() string {
- if x != nil {
- return x.EntityId
- }
- return ""
+type isQueryWriteStatusResponse_WriteStatus interface {
+ isQueryWriteStatusResponse_WriteStatus()
}
-func (x *ObjectAccessControl) GetEmail() string {
- if x != nil {
- return x.Email
- }
- return ""
+type QueryWriteStatusResponse_PersistedSize struct {
+ // The total number of bytes that have been processed for the given object
+ // from all `WriteObject` calls. This is the correct value for the
+ // 'write_offset' field to use when resuming the `WriteObject` operation.
+ // Only set if the upload has not finalized.
+ PersistedSize int64 `protobuf:"varint,1,opt,name=persisted_size,json=persistedSize,proto3,oneof"`
}
-func (x *ObjectAccessControl) GetDomain() string {
- if x != nil {
- return x.Domain
- }
- return ""
+type QueryWriteStatusResponse_Resource struct {
+ // A resource containing the metadata for the uploaded object. Only set if
+ // the upload has finalized.
+ Resource *Object `protobuf:"bytes,2,opt,name=resource,proto3,oneof"`
}
-func (x *ObjectAccessControl) GetProjectTeam() *ProjectTeam {
- if x != nil {
- return x.ProjectTeam
- }
- return nil
-}
+func (*QueryWriteStatusResponse_PersistedSize) isQueryWriteStatusResponse_WriteStatus() {}
-// Represents the Viewers, Editors, or Owners of a given project.
-type ProjectTeam struct {
+func (*QueryWriteStatusResponse_Resource) isQueryWriteStatusResponse_WriteStatus() {}
+
+// Request message for RewriteObject.
+// If the source object is encrypted using a Customer-Supplied Encryption Key
+// the key information must be provided in the copy_source_encryption_algorithm,
+// copy_source_encryption_key_bytes, and copy_source_encryption_key_sha256_bytes
+// fields. If the destination object should be encrypted the keying information
+// should be provided in the encryption_algorithm, encryption_key_bytes, and
+// encryption_key_sha256_bytes fields of the
+// common_object_request_params.customer_encryption field.
+type RewriteObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The project number.
- ProjectNumber string `protobuf:"bytes,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
- // The team.
- Team string `protobuf:"bytes,2,opt,name=team,proto3" json:"team,omitempty"`
+ // Immutable. The name of the destination object. Nearly any sequence of unicode
+ // characters is valid. See
+ // [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
+ // Example: `test.txt`
+ // The `name` field by itself does not uniquely identify a Cloud Storage
+ // object. A Cloud Storage object is uniquely identified by the tuple of
+ // (bucket, object, generation).
+ DestinationName string `protobuf:"bytes,24,opt,name=destination_name,json=destinationName,proto3" json:"destination_name,omitempty"`
+ // Immutable. The name of the bucket containing The name of the destination object.
+ DestinationBucket string `protobuf:"bytes,25,opt,name=destination_bucket,json=destinationBucket,proto3" json:"destination_bucket,omitempty"`
+ // The name of the Cloud KMS key that will be used to encrypt the destination
+ // object. The Cloud KMS key must be located in same location as the object.
+ // If the parameter is not specified, the request uses the destination
+ // bucket's default encryption key, if any, or else the Google-managed
+ // encryption key.
+ DestinationKmsKey string `protobuf:"bytes,27,opt,name=destination_kms_key,json=destinationKmsKey,proto3" json:"destination_kms_key,omitempty"`
+ // Properties of the destination, post-rewrite object.
+ // The `name`, `bucket` and `kms_key` fields must not be populated (these
+ // values are specified in the `destination_name`, `destination_bucket`, and
+ // `destination_kms_key` fields).
+ // If `destination` is present it will be used to construct the destination
+ // object's metadata; otherwise the destination object's metadata will be
+ // copied from the source object.
+ Destination *Object `protobuf:"bytes,1,opt,name=destination,proto3" json:"destination,omitempty"`
+ // Required. Name of the bucket in which to find the source object.
+ SourceBucket string `protobuf:"bytes,2,opt,name=source_bucket,json=sourceBucket,proto3" json:"source_bucket,omitempty"`
+ // Required. Name of the source object.
+ SourceObject string `protobuf:"bytes,3,opt,name=source_object,json=sourceObject,proto3" json:"source_object,omitempty"`
+ // If present, selects a specific revision of the source object (as opposed to
+ // the latest version, the default).
+ SourceGeneration int64 `protobuf:"varint,4,opt,name=source_generation,json=sourceGeneration,proto3" json:"source_generation,omitempty"`
+ // Include this field (from the previous rewrite response) on each rewrite
+ // request after the first one, until the rewrite response 'done' flag is
+ // true. Calls that provide a rewriteToken can omit all other request fields,
+ // but if included those fields must match the values provided in the first
+ // rewrite request.
+ RewriteToken string `protobuf:"bytes,5,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"`
+ // Apply a predefined set of access controls to the destination object.
+ DestinationPredefinedAcl PredefinedObjectAcl `protobuf:"varint,6,opt,name=destination_predefined_acl,json=destinationPredefinedAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"destination_predefined_acl,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,7,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // does not match the given value. If no live object exists, the precondition
+ // fails. Setting to 0 makes the operation succeed only if there is a live
+ // version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,8,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the destination object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,9,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the destination object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,10,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // Makes the operation conditional on whether the source object's current
+ // generation matches the given value.
+ IfSourceGenerationMatch *int64 `protobuf:"varint,11,opt,name=if_source_generation_match,json=ifSourceGenerationMatch,proto3,oneof" json:"if_source_generation_match,omitempty"`
+ // Makes the operation conditional on whether the source object's current
+ // generation does not match the given value.
+ IfSourceGenerationNotMatch *int64 `protobuf:"varint,12,opt,name=if_source_generation_not_match,json=ifSourceGenerationNotMatch,proto3,oneof" json:"if_source_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the source object's current
+ // metageneration matches the given value.
+ IfSourceMetagenerationMatch *int64 `protobuf:"varint,13,opt,name=if_source_metageneration_match,json=ifSourceMetagenerationMatch,proto3,oneof" json:"if_source_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the source object's current
+ // metageneration does not match the given value.
+ IfSourceMetagenerationNotMatch *int64 `protobuf:"varint,14,opt,name=if_source_metageneration_not_match,json=ifSourceMetagenerationNotMatch,proto3,oneof" json:"if_source_metageneration_not_match,omitempty"`
+ // The maximum number of bytes that will be rewritten per rewrite request.
+ // Most callers
+ // shouldn't need to specify this parameter - it is primarily in place to
+ // support testing. If specified the value must be an integral multiple of
+ // 1 MiB (1048576). Also, this only applies to requests where the source and
+ // destination span locations and/or storage classes. Finally, this value must
+ // not change across rewrite calls else you'll get an error that the
+ // `rewriteToken` is invalid.
+ MaxBytesRewrittenPerCall int64 `protobuf:"varint,15,opt,name=max_bytes_rewritten_per_call,json=maxBytesRewrittenPerCall,proto3" json:"max_bytes_rewritten_per_call,omitempty"`
+ // The algorithm used to encrypt the source object, if any. Used if the source
+ // object was encrypted with a Customer-Supplied Encryption Key.
+ CopySourceEncryptionAlgorithm string `protobuf:"bytes,16,opt,name=copy_source_encryption_algorithm,json=copySourceEncryptionAlgorithm,proto3" json:"copy_source_encryption_algorithm,omitempty"`
+ // The raw bytes (not base64-encoded) AES-256 encryption key used to encrypt
+ // the source object, if it was encrypted with a Customer-Supplied Encryption
+ // Key.
+ CopySourceEncryptionKeyBytes []byte `protobuf:"bytes,21,opt,name=copy_source_encryption_key_bytes,json=copySourceEncryptionKeyBytes,proto3" json:"copy_source_encryption_key_bytes,omitempty"`
+ // The raw bytes (not base64-encoded) SHA256 hash of the encryption key used
+ // to encrypt the source object, if it was encrypted with a Customer-Supplied
+ // Encryption Key.
+ CopySourceEncryptionKeySha256Bytes []byte `protobuf:"bytes,22,opt,name=copy_source_encryption_key_sha256_bytes,json=copySourceEncryptionKeySha256Bytes,proto3" json:"copy_source_encryption_key_sha256_bytes,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,19,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,20,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *ProjectTeam) Reset() {
- *x = ProjectTeam{}
+func (x *RewriteObjectRequest) Reset() {
+ *x = RewriteObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[18]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[23]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *ProjectTeam) String() string {
+func (x *RewriteObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*ProjectTeam) ProtoMessage() {}
+func (*RewriteObjectRequest) ProtoMessage() {}
-func (x *ProjectTeam) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[18]
+func (x *RewriteObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[23]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2431,243 +2746,212 @@ func (x *ProjectTeam) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use ProjectTeam.ProtoReflect.Descriptor instead.
-func (*ProjectTeam) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{18}
+// Deprecated: Use RewriteObjectRequest.ProtoReflect.Descriptor instead.
+func (*RewriteObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{23}
}
-func (x *ProjectTeam) GetProjectNumber() string {
+func (x *RewriteObjectRequest) GetDestinationName() string {
if x != nil {
- return x.ProjectNumber
+ return x.DestinationName
}
return ""
}
-func (x *ProjectTeam) GetTeam() string {
+func (x *RewriteObjectRequest) GetDestinationBucket() string {
if x != nil {
- return x.Team
+ return x.DestinationBucket
}
return ""
}
-// The owner of a specific resource.
-type Owner struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The entity, in the form `user-`*userId*.
- Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
- // The ID for the entity.
- EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+func (x *RewriteObjectRequest) GetDestinationKmsKey() string {
+ if x != nil {
+ return x.DestinationKmsKey
+ }
+ return ""
}
-func (x *Owner) Reset() {
- *x = Owner{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[19]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *RewriteObjectRequest) GetDestination() *Object {
+ if x != nil {
+ return x.Destination
}
+ return nil
}
-func (x *Owner) String() string {
- return protoimpl.X.MessageStringOf(x)
+func (x *RewriteObjectRequest) GetSourceBucket() string {
+ if x != nil {
+ return x.SourceBucket
+ }
+ return ""
}
-func (*Owner) ProtoMessage() {}
-
-func (x *Owner) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[19]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *RewriteObjectRequest) GetSourceObject() string {
+ if x != nil {
+ return x.SourceObject
}
- return mi.MessageOf(x)
+ return ""
}
-// Deprecated: Use Owner.ProtoReflect.Descriptor instead.
-func (*Owner) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{19}
+func (x *RewriteObjectRequest) GetSourceGeneration() int64 {
+ if x != nil {
+ return x.SourceGeneration
+ }
+ return 0
}
-func (x *Owner) GetEntity() string {
+func (x *RewriteObjectRequest) GetRewriteToken() string {
if x != nil {
- return x.Entity
+ return x.RewriteToken
}
return ""
}
-func (x *Owner) GetEntityId() string {
+func (x *RewriteObjectRequest) GetDestinationPredefinedAcl() PredefinedObjectAcl {
if x != nil {
- return x.EntityId
+ return x.DestinationPredefinedAcl
}
- return ""
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
}
-// Specifies a requested range of bytes to download.
-type ContentRange struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // The starting offset of the object data.
- Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
- // The ending offset of the object data.
- End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
- // The complete length of the object data.
- CompleteLength int64 `protobuf:"varint,3,opt,name=complete_length,json=completeLength,proto3" json:"complete_length,omitempty"`
+func (x *RewriteObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
+ }
+ return 0
}
-func (x *ContentRange) Reset() {
- *x = ContentRange{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[20]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *RewriteObjectRequest) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
}
+ return 0
}
-func (x *ContentRange) String() string {
- return protoimpl.X.MessageStringOf(x)
+func (x *RewriteObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
+ }
+ return 0
}
-func (*ContentRange) ProtoMessage() {}
-
-func (x *ContentRange) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[20]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *RewriteObjectRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
}
- return mi.MessageOf(x)
+ return 0
}
-// Deprecated: Use ContentRange.ProtoReflect.Descriptor instead.
-func (*ContentRange) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{20}
+func (x *RewriteObjectRequest) GetIfSourceGenerationMatch() int64 {
+ if x != nil && x.IfSourceGenerationMatch != nil {
+ return *x.IfSourceGenerationMatch
+ }
+ return 0
}
-func (x *ContentRange) GetStart() int64 {
- if x != nil {
- return x.Start
+func (x *RewriteObjectRequest) GetIfSourceGenerationNotMatch() int64 {
+ if x != nil && x.IfSourceGenerationNotMatch != nil {
+ return *x.IfSourceGenerationNotMatch
}
return 0
}
-func (x *ContentRange) GetEnd() int64 {
- if x != nil {
- return x.End
+func (x *RewriteObjectRequest) GetIfSourceMetagenerationMatch() int64 {
+ if x != nil && x.IfSourceMetagenerationMatch != nil {
+ return *x.IfSourceMetagenerationMatch
}
return 0
}
-func (x *ContentRange) GetCompleteLength() int64 {
- if x != nil {
- return x.CompleteLength
+func (x *RewriteObjectRequest) GetIfSourceMetagenerationNotMatch() int64 {
+ if x != nil && x.IfSourceMetagenerationNotMatch != nil {
+ return *x.IfSourceMetagenerationNotMatch
}
return 0
}
-// Billing properties of a bucket.
-type Bucket_Billing struct {
- state protoimpl.MessageState
- sizeCache protoimpl.SizeCache
- unknownFields protoimpl.UnknownFields
-
- // When set to true, Requester Pays is enabled for this bucket.
- RequesterPays bool `protobuf:"varint,1,opt,name=requester_pays,json=requesterPays,proto3" json:"requester_pays,omitempty"`
+func (x *RewriteObjectRequest) GetMaxBytesRewrittenPerCall() int64 {
+ if x != nil {
+ return x.MaxBytesRewrittenPerCall
+ }
+ return 0
}
-func (x *Bucket_Billing) Reset() {
- *x = Bucket_Billing{}
- if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[21]
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- ms.StoreMessageInfo(mi)
+func (x *RewriteObjectRequest) GetCopySourceEncryptionAlgorithm() string {
+ if x != nil {
+ return x.CopySourceEncryptionAlgorithm
}
+ return ""
}
-func (x *Bucket_Billing) String() string {
- return protoimpl.X.MessageStringOf(x)
+func (x *RewriteObjectRequest) GetCopySourceEncryptionKeyBytes() []byte {
+ if x != nil {
+ return x.CopySourceEncryptionKeyBytes
+ }
+ return nil
}
-func (*Bucket_Billing) ProtoMessage() {}
-
-func (x *Bucket_Billing) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[21]
- if protoimpl.UnsafeEnabled && x != nil {
- ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
- if ms.LoadMessageInfo() == nil {
- ms.StoreMessageInfo(mi)
- }
- return ms
+func (x *RewriteObjectRequest) GetCopySourceEncryptionKeySha256Bytes() []byte {
+ if x != nil {
+ return x.CopySourceEncryptionKeySha256Bytes
}
- return mi.MessageOf(x)
+ return nil
}
-// Deprecated: Use Bucket_Billing.ProtoReflect.Descriptor instead.
-func (*Bucket_Billing) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 0}
+func (x *RewriteObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+ if x != nil {
+ return x.CommonObjectRequestParams
+ }
+ return nil
}
-func (x *Bucket_Billing) GetRequesterPays() bool {
+func (x *RewriteObjectRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.RequesterPays
+ return x.CommonRequestParams
}
- return false
+ return nil
}
-// Cross-Origin Response sharing (CORS) properties for a bucket.
-// For more on Cloud Storage and CORS, see
-// https://cloud.google.com/storage/docs/cross-origin.
-// For more on CORS in general, see https://tools.ietf.org/html/rfc6454.
-type Bucket_Cors struct {
+// A rewrite response.
+type RewriteResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The list of Origins eligible to receive CORS response headers. See
- // [https://tools.ietf.org/html/rfc6454][RFC 6454] for more on origins.
- // Note: "*" is permitted in the list of origins, and means "any Origin".
- Origin []string `protobuf:"bytes,1,rep,name=origin,proto3" json:"origin,omitempty"`
- // The list of HTTP methods on which to include CORS response headers,
- // (`GET`, `OPTIONS`, `POST`, etc) Note: "*" is permitted in the list of
- // methods, and means "any method".
- Method []string `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"`
- // The list of HTTP headers other than the
- // [https://www.w3.org/TR/cors/#simple-response-header][simple response
- // headers] to give permission for the user-agent to share across domains.
- ResponseHeader []string `protobuf:"bytes,3,rep,name=response_header,json=responseHeader,proto3" json:"response_header,omitempty"`
- // The value, in seconds, to return in the
- // [https://www.w3.org/TR/cors/#access-control-max-age-response-header][Access-Control-Max-Age
- // header] used in preflight responses.
- MaxAgeSeconds int32 `protobuf:"varint,4,opt,name=max_age_seconds,json=maxAgeSeconds,proto3" json:"max_age_seconds,omitempty"`
-}
-
-func (x *Bucket_Cors) Reset() {
- *x = Bucket_Cors{}
+ // The total bytes written so far, which can be used to provide a waiting user
+ // with a progress indicator. This property is always present in the response.
+ TotalBytesRewritten int64 `protobuf:"varint,1,opt,name=total_bytes_rewritten,json=totalBytesRewritten,proto3" json:"total_bytes_rewritten,omitempty"`
+ // The total size of the object being copied in bytes. This property is always
+ // present in the response.
+ ObjectSize int64 `protobuf:"varint,2,opt,name=object_size,json=objectSize,proto3" json:"object_size,omitempty"`
+ // `true` if the copy is finished; otherwise, `false` if
+ // the copy is in progress. This property is always present in the response.
+ Done bool `protobuf:"varint,3,opt,name=done,proto3" json:"done,omitempty"`
+ // A token to use in subsequent requests to continue copying data. This token
+ // is present in the response only when there is more data to copy.
+ RewriteToken string `protobuf:"bytes,4,opt,name=rewrite_token,json=rewriteToken,proto3" json:"rewrite_token,omitempty"`
+ // A resource containing the metadata for the copied-to object. This property
+ // is present in the response only when copying completes.
+ Resource *Object `protobuf:"bytes,5,opt,name=resource,proto3" json:"resource,omitempty"`
+}
+
+func (x *RewriteResponse) Reset() {
+ *x = RewriteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[22]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[24]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Cors) String() string {
+func (x *RewriteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Cors) ProtoMessage() {}
+func (*RewriteResponse) ProtoMessage() {}
-func (x *Bucket_Cors) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[22]
+func (x *RewriteResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[24]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2678,67 +2962,77 @@ func (x *Bucket_Cors) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Cors.ProtoReflect.Descriptor instead.
-func (*Bucket_Cors) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 1}
+// Deprecated: Use RewriteResponse.ProtoReflect.Descriptor instead.
+func (*RewriteResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{24}
}
-func (x *Bucket_Cors) GetOrigin() []string {
+func (x *RewriteResponse) GetTotalBytesRewritten() int64 {
if x != nil {
- return x.Origin
+ return x.TotalBytesRewritten
}
- return nil
+ return 0
}
-func (x *Bucket_Cors) GetMethod() []string {
+func (x *RewriteResponse) GetObjectSize() int64 {
if x != nil {
- return x.Method
+ return x.ObjectSize
}
- return nil
+ return 0
}
-func (x *Bucket_Cors) GetResponseHeader() []string {
+func (x *RewriteResponse) GetDone() bool {
if x != nil {
- return x.ResponseHeader
+ return x.Done
}
- return nil
+ return false
}
-func (x *Bucket_Cors) GetMaxAgeSeconds() int32 {
+func (x *RewriteResponse) GetRewriteToken() string {
if x != nil {
- return x.MaxAgeSeconds
+ return x.RewriteToken
}
- return 0
+ return ""
}
-// Encryption properties of a bucket.
-type Bucket_Encryption struct {
+func (x *RewriteResponse) GetResource() *Object {
+ if x != nil {
+ return x.Resource
+ }
+ return nil
+}
+
+// Request message StartResumableWrite.
+type StartResumableWriteRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A Cloud KMS key that will be used to encrypt objects inserted into this
- // bucket, if no encryption method is specified.
- DefaultKmsKey string `protobuf:"bytes,1,opt,name=default_kms_key,json=defaultKmsKey,proto3" json:"default_kms_key,omitempty"`
+ // The destination bucket, object, and metadata, as well as any preconditions.
+ WriteObjectSpec *WriteObjectSpec `protobuf:"bytes,1,opt,name=write_object_spec,json=writeObjectSpec,proto3" json:"write_object_spec,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,3,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,4,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_Encryption) Reset() {
- *x = Bucket_Encryption{}
+func (x *StartResumableWriteRequest) Reset() {
+ *x = StartResumableWriteRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[23]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[25]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Encryption) String() string {
+func (x *StartResumableWriteRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Encryption) ProtoMessage() {}
+func (*StartResumableWriteRequest) ProtoMessage() {}
-func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[23]
+func (x *StartResumableWriteRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[25]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2749,47 +3043,60 @@ func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Encryption.ProtoReflect.Descriptor instead.
-func (*Bucket_Encryption) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 2}
+// Deprecated: Use StartResumableWriteRequest.ProtoReflect.Descriptor instead.
+func (*StartResumableWriteRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{25}
}
-func (x *Bucket_Encryption) GetDefaultKmsKey() string {
+func (x *StartResumableWriteRequest) GetWriteObjectSpec() *WriteObjectSpec {
if x != nil {
- return x.DefaultKmsKey
+ return x.WriteObjectSpec
}
- return ""
+ return nil
}
-// Bucket restriction options.
-type Bucket_IamConfig struct {
- state protoimpl.MessageState
+func (x *StartResumableWriteRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+ if x != nil {
+ return x.CommonObjectRequestParams
+ }
+ return nil
+}
+
+func (x *StartResumableWriteRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
+
+// Response object for `StartResumableWrite`.
+type StartResumableWriteResponse struct {
+ state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Bucket restriction options currently enforced on the bucket.
- UniformBucketLevelAccess *Bucket_IamConfig_UniformBucketLevelAccess `protobuf:"bytes,1,opt,name=uniform_bucket_level_access,json=uniformBucketLevelAccess,proto3" json:"uniform_bucket_level_access,omitempty"`
- // Whether IAM will enforce public access prevention.
- PublicAccessPrevention Bucket_IamConfig_PublicAccessPrevention `protobuf:"varint,2,opt,name=public_access_prevention,json=publicAccessPrevention,proto3,enum=google.storage.v2.Bucket_IamConfig_PublicAccessPrevention" json:"public_access_prevention,omitempty"`
+ // The upload_id of the newly started resumable write operation. This
+ // value should be copied into the `WriteObjectRequest.upload_id` field.
+ UploadId string `protobuf:"bytes,1,opt,name=upload_id,json=uploadId,proto3" json:"upload_id,omitempty"`
}
-func (x *Bucket_IamConfig) Reset() {
- *x = Bucket_IamConfig{}
+func (x *StartResumableWriteResponse) Reset() {
+ *x = StartResumableWriteResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[24]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[26]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_IamConfig) String() string {
+func (x *StartResumableWriteResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_IamConfig) ProtoMessage() {}
+func (*StartResumableWriteResponse) ProtoMessage() {}
-func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[24]
+func (x *StartResumableWriteResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[26]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2800,54 +3107,81 @@ func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_IamConfig.ProtoReflect.Descriptor instead.
-func (*Bucket_IamConfig) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 3}
-}
-
-func (x *Bucket_IamConfig) GetUniformBucketLevelAccess() *Bucket_IamConfig_UniformBucketLevelAccess {
- if x != nil {
- return x.UniformBucketLevelAccess
- }
- return nil
+// Deprecated: Use StartResumableWriteResponse.ProtoReflect.Descriptor instead.
+func (*StartResumableWriteResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{26}
}
-func (x *Bucket_IamConfig) GetPublicAccessPrevention() Bucket_IamConfig_PublicAccessPrevention {
+func (x *StartResumableWriteResponse) GetUploadId() string {
if x != nil {
- return x.PublicAccessPrevention
+ return x.UploadId
}
- return Bucket_IamConfig_PUBLIC_ACCESS_PREVENTION_UNSPECIFIED
+ return ""
}
-// Lifecycle properties of a bucket.
-// For more information, see https://cloud.google.com/storage/docs/lifecycle.
-type Bucket_Lifecycle struct {
+// Request message for UpdateObject.
+type UpdateObjectRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // A lifecycle management rule, which is made of an action to take and the
- // condition(s) under which the action will be taken.
- Rule []*Bucket_Lifecycle_Rule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"`
+ // The object to update.
+ // The object's bucket and name fields are used to identify the object to
+ // update. If present, the object's generation field selects a specific
+ // revision of this object whose metadata should be updated. Otherwise,
+ // assumes the current, live version of the object.
+ Object *Object `protobuf:"bytes,1,opt,name=object,proto3" json:"object,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // matches the given value. Setting to 0 makes the operation succeed only if
+ // there are no live versions of the object.
+ IfGenerationMatch *int64 `protobuf:"varint,2,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+ // Makes the operation conditional on whether the object's current generation
+ // does not match the given value. If no live object exists, the precondition
+ // fails. Setting to 0 makes the operation succeed only if there is a live
+ // version of the object.
+ IfGenerationNotMatch *int64 `protobuf:"varint,3,opt,name=if_generation_not_match,json=ifGenerationNotMatch,proto3,oneof" json:"if_generation_not_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration matches the given value.
+ IfMetagenerationMatch *int64 `protobuf:"varint,4,opt,name=if_metageneration_match,json=ifMetagenerationMatch,proto3,oneof" json:"if_metageneration_match,omitempty"`
+ // Makes the operation conditional on whether the object's current
+ // metageneration does not match the given value.
+ IfMetagenerationNotMatch *int64 `protobuf:"varint,5,opt,name=if_metageneration_not_match,json=ifMetagenerationNotMatch,proto3,oneof" json:"if_metageneration_not_match,omitempty"`
+ // Apply a predefined set of access controls to this object.
+ PredefinedAcl PredefinedObjectAcl `protobuf:"varint,6,opt,name=predefined_acl,json=predefinedAcl,proto3,enum=google.storage.v2.PredefinedObjectAcl" json:"predefined_acl,omitempty"`
+ // List of fields to be updated.
+ //
+ // To specify ALL fields, equivalent to the JSON API's "update" function,
+ // specify a single field with the value `*`. Note: not recommended. If a new
+ // field is introduced at a later time, an older client updating with the `*`
+ // may accidentally reset the new field's value.
+ //
+ // Not specifying any fields is an error.
+ // Not specifying a field while setting that field to a non-default value is
+ // an error.
+ UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,7,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
+ // A set of parameters common to Storage API requests concerning an object.
+ CommonObjectRequestParams *CommonObjectRequestParams `protobuf:"bytes,8,opt,name=common_object_request_params,json=commonObjectRequestParams,proto3" json:"common_object_request_params,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,9,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_Lifecycle) Reset() {
- *x = Bucket_Lifecycle{}
+func (x *UpdateObjectRequest) Reset() {
+ *x = UpdateObjectRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[25]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[27]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Lifecycle) String() string {
+func (x *UpdateObjectRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Lifecycle) ProtoMessage() {}
+func (*UpdateObjectRequest) ProtoMessage() {}
-func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[25]
+func (x *UpdateObjectRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[27]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2858,47 +3192,103 @@ func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Lifecycle.ProtoReflect.Descriptor instead.
-func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 4}
+// Deprecated: Use UpdateObjectRequest.ProtoReflect.Descriptor instead.
+func (*UpdateObjectRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{27}
}
-func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule {
+func (x *UpdateObjectRequest) GetObject() *Object {
if x != nil {
- return x.Rule
+ return x.Object
}
return nil
}
-// Logging-related properties of a bucket.
-type Bucket_Logging struct {
+func (x *UpdateObjectRequest) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
+ }
+ return 0
+}
+
+func (x *UpdateObjectRequest) GetIfGenerationNotMatch() int64 {
+ if x != nil && x.IfGenerationNotMatch != nil {
+ return *x.IfGenerationNotMatch
+ }
+ return 0
+}
+
+func (x *UpdateObjectRequest) GetIfMetagenerationMatch() int64 {
+ if x != nil && x.IfMetagenerationMatch != nil {
+ return *x.IfMetagenerationMatch
+ }
+ return 0
+}
+
+func (x *UpdateObjectRequest) GetIfMetagenerationNotMatch() int64 {
+ if x != nil && x.IfMetagenerationNotMatch != nil {
+ return *x.IfMetagenerationNotMatch
+ }
+ return 0
+}
+
+func (x *UpdateObjectRequest) GetPredefinedAcl() PredefinedObjectAcl {
+ if x != nil {
+ return x.PredefinedAcl
+ }
+ return PredefinedObjectAcl_PREDEFINED_OBJECT_ACL_UNSPECIFIED
+}
+
+func (x *UpdateObjectRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
+ if x != nil {
+ return x.UpdateMask
+ }
+ return nil
+}
+
+func (x *UpdateObjectRequest) GetCommonObjectRequestParams() *CommonObjectRequestParams {
+ if x != nil {
+ return x.CommonObjectRequestParams
+ }
+ return nil
+}
+
+func (x *UpdateObjectRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
+
+// Request message for GetServiceAccount.
+type GetServiceAccountRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The destination bucket where the current bucket's logs should be placed.
- LogBucket string `protobuf:"bytes,1,opt,name=log_bucket,json=logBucket,proto3" json:"log_bucket,omitempty"`
- // A prefix for log object names.
- LogObjectPrefix string `protobuf:"bytes,2,opt,name=log_object_prefix,json=logObjectPrefix,proto3" json:"log_object_prefix,omitempty"`
+ // Required. Project ID.
+ Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_Logging) Reset() {
- *x = Bucket_Logging{}
+func (x *GetServiceAccountRequest) Reset() {
+ *x = GetServiceAccountRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[26]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[28]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Logging) String() string {
+func (x *GetServiceAccountRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Logging) ProtoMessage() {}
+func (*GetServiceAccountRequest) ProtoMessage() {}
-func (x *Bucket_Logging) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[26]
+func (x *GetServiceAccountRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[28]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2909,61 +3299,56 @@ func (x *Bucket_Logging) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Logging.ProtoReflect.Descriptor instead.
-func (*Bucket_Logging) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 5}
+// Deprecated: Use GetServiceAccountRequest.ProtoReflect.Descriptor instead.
+func (*GetServiceAccountRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{28}
}
-func (x *Bucket_Logging) GetLogBucket() string {
+func (x *GetServiceAccountRequest) GetProject() string {
if x != nil {
- return x.LogBucket
+ return x.Project
}
return ""
}
-func (x *Bucket_Logging) GetLogObjectPrefix() string {
+func (x *GetServiceAccountRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.LogObjectPrefix
+ return x.CommonRequestParams
}
- return ""
+ return nil
}
-// Retention policy properties of a bucket.
-type Bucket_RetentionPolicy struct {
+// Request message for CreateHmacKey.
+type CreateHmacKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Server-determined value that indicates the time from which policy was
- // enforced and effective. This value is in
- // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
- EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"`
- // Once locked, an object retention policy cannot be modified.
- IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
- // The duration in seconds that objects need to be retained. Retention
- // duration must be greater than zero and less than 100 years. Note that
- // enforcement of retention periods less than a day is not guaranteed. Such
- // periods should only be used for testing purposes.
- RetentionPeriod int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3" json:"retention_period,omitempty"`
+ // Required. The project that the HMAC-owning service account lives in.
+ Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
+ // Required. The service account to create the HMAC for.
+ ServiceAccountEmail string `protobuf:"bytes,2,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_RetentionPolicy) Reset() {
- *x = Bucket_RetentionPolicy{}
+func (x *CreateHmacKeyRequest) Reset() {
+ *x = CreateHmacKeyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[27]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[29]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_RetentionPolicy) String() string {
+func (x *CreateHmacKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_RetentionPolicy) ProtoMessage() {}
+func (*CreateHmacKeyRequest) ProtoMessage() {}
-func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[27]
+func (x *CreateHmacKeyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[29]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -2974,61 +3359,62 @@ func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_RetentionPolicy.ProtoReflect.Descriptor instead.
-func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 6}
+// Deprecated: Use CreateHmacKeyRequest.ProtoReflect.Descriptor instead.
+func (*CreateHmacKeyRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{29}
}
-func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamppb.Timestamp {
+func (x *CreateHmacKeyRequest) GetProject() string {
if x != nil {
- return x.EffectiveTime
+ return x.Project
}
- return nil
+ return ""
}
-func (x *Bucket_RetentionPolicy) GetIsLocked() bool {
+func (x *CreateHmacKeyRequest) GetServiceAccountEmail() string {
if x != nil {
- return x.IsLocked
+ return x.ServiceAccountEmail
}
- return false
+ return ""
}
-func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 {
+func (x *CreateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.RetentionPeriod
+ return x.CommonRequestParams
}
- return 0
+ return nil
}
-// Properties of a bucket related to versioning.
-// For more on Cloud Storage versioning, see
-// https://cloud.google.com/storage/docs/object-versioning.
-type Bucket_Versioning struct {
+// Create hmac response. The only time the secret for an HMAC will be returned.
+type CreateHmacKeyResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // While set to true, versioning is fully enabled for this bucket.
- Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+ // Key metadata.
+ Metadata *HmacKeyMetadata `protobuf:"bytes,1,opt,name=metadata,proto3" json:"metadata,omitempty"`
+ // HMAC key secret material.
+ // In raw bytes format (not base64-encoded).
+ SecretKeyBytes []byte `protobuf:"bytes,3,opt,name=secret_key_bytes,json=secretKeyBytes,proto3" json:"secret_key_bytes,omitempty"`
}
-func (x *Bucket_Versioning) Reset() {
- *x = Bucket_Versioning{}
+func (x *CreateHmacKeyResponse) Reset() {
+ *x = CreateHmacKeyResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[28]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[30]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Versioning) String() string {
+func (x *CreateHmacKeyResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Versioning) ProtoMessage() {}
+func (*CreateHmacKeyResponse) ProtoMessage() {}
-func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[28]
+func (x *CreateHmacKeyResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[30]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3039,56 +3425,56 @@ func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Versioning.ProtoReflect.Descriptor instead.
-func (*Bucket_Versioning) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 7}
+// Deprecated: Use CreateHmacKeyResponse.ProtoReflect.Descriptor instead.
+func (*CreateHmacKeyResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{30}
}
-func (x *Bucket_Versioning) GetEnabled() bool {
+func (x *CreateHmacKeyResponse) GetMetadata() *HmacKeyMetadata {
if x != nil {
- return x.Enabled
+ return x.Metadata
}
- return false
+ return nil
}
-// Properties of a bucket related to accessing the contents as a static
-// website. For more on hosting a static website via Cloud Storage, see
-// https://cloud.google.com/storage/docs/hosting-static-website.
-type Bucket_Website struct {
+func (x *CreateHmacKeyResponse) GetSecretKeyBytes() []byte {
+ if x != nil {
+ return x.SecretKeyBytes
+ }
+ return nil
+}
+
+// Request object to delete a given HMAC key.
+type DeleteHmacKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // If the requested object path is missing, the service will ensure the path
- // has a trailing '/', append this suffix, and attempt to retrieve the
- // resulting object. This allows the creation of `index.html`
- // objects to represent directory pages.
- MainPageSuffix string `protobuf:"bytes,1,opt,name=main_page_suffix,json=mainPageSuffix,proto3" json:"main_page_suffix,omitempty"`
- // If the requested object path is missing, and any
- // `mainPageSuffix` object is missing, if applicable, the service
- // will return the named object from this bucket as the content for a
- // [https://tools.ietf.org/html/rfc7231#section-6.5.4][404 Not Found]
- // result.
- NotFoundPage string `protobuf:"bytes,2,opt,name=not_found_page,json=notFoundPage,proto3" json:"not_found_page,omitempty"`
+ // Required. The identifying key for the HMAC to delete.
+ AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
+ // Required. The project id the HMAC key lies in.
+ Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_Website) Reset() {
- *x = Bucket_Website{}
+func (x *DeleteHmacKeyRequest) Reset() {
+ *x = DeleteHmacKeyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[29]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[31]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Website) String() string {
+func (x *DeleteHmacKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Website) ProtoMessage() {}
+func (*DeleteHmacKeyRequest) ProtoMessage() {}
-func (x *Bucket_Website) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[29]
+func (x *DeleteHmacKeyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[31]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3099,58 +3485,63 @@ func (x *Bucket_Website) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Website.ProtoReflect.Descriptor instead.
-func (*Bucket_Website) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 8}
+// Deprecated: Use DeleteHmacKeyRequest.ProtoReflect.Descriptor instead.
+func (*DeleteHmacKeyRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{31}
}
-func (x *Bucket_Website) GetMainPageSuffix() string {
+func (x *DeleteHmacKeyRequest) GetAccessId() string {
if x != nil {
- return x.MainPageSuffix
+ return x.AccessId
}
return ""
}
-func (x *Bucket_Website) GetNotFoundPage() string {
+func (x *DeleteHmacKeyRequest) GetProject() string {
if x != nil {
- return x.NotFoundPage
+ return x.Project
}
return ""
}
-// Settings for Uniform Bucket level access.
-// See https://cloud.google.com/storage/docs/uniform-bucket-level-access.
-type Bucket_IamConfig_UniformBucketLevelAccess struct {
+func (x *DeleteHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
+ }
+ return nil
+}
+
+// Request object to get metadata on a given HMAC key.
+type GetHmacKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // If set, access checks only use bucket-level IAM policies or above.
- Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
- // The deadline time for changing
- // `iamConfig.uniformBucketLevelAccess.enabled` from
- // true to false in [RFC 3339](https://tools.ietf.org/html/rfc3339).
- // Mutable until the specified deadline is reached, but not afterward.
- LockTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"`
+ // Required. The identifying key for the HMAC to delete.
+ AccessId string `protobuf:"bytes,1,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
+ // Required. The project id the HMAC key lies in.
+ Project string `protobuf:"bytes,2,opt,name=project,proto3" json:"project,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,3,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
}
-func (x *Bucket_IamConfig_UniformBucketLevelAccess) Reset() {
- *x = Bucket_IamConfig_UniformBucketLevelAccess{}
+func (x *GetHmacKeyRequest) Reset() {
+ *x = GetHmacKeyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[31]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[32]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_IamConfig_UniformBucketLevelAccess) String() string {
+func (x *GetHmacKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_IamConfig_UniformBucketLevelAccess) ProtoMessage() {}
+func (*GetHmacKeyRequest) ProtoMessage() {}
-func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[31]
+func (x *GetHmacKeyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[32]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3161,55 +3552,69 @@ func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect.
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_IamConfig_UniformBucketLevelAccess.ProtoReflect.Descriptor instead.
-func (*Bucket_IamConfig_UniformBucketLevelAccess) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 3, 0}
+// Deprecated: Use GetHmacKeyRequest.ProtoReflect.Descriptor instead.
+func (*GetHmacKeyRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{32}
}
-func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetEnabled() bool {
+func (x *GetHmacKeyRequest) GetAccessId() string {
if x != nil {
- return x.Enabled
+ return x.AccessId
}
- return false
+ return ""
}
-func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetLockTime() *timestamppb.Timestamp {
+func (x *GetHmacKeyRequest) GetProject() string {
if x != nil {
- return x.LockTime
+ return x.Project
+ }
+ return ""
+}
+
+func (x *GetHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
}
return nil
}
-// A lifecycle Rule, combining an action to take on an object and a
-// condition which will trigger that action.
-type Bucket_Lifecycle_Rule struct {
+// Request to fetch a list of HMAC keys under a given project.
+type ListHmacKeysRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The action to take.
- Action *Bucket_Lifecycle_Rule_Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"`
- // The condition(s) under which the action will be taken.
- Condition *Bucket_Lifecycle_Rule_Condition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"`
-}
-
-func (x *Bucket_Lifecycle_Rule) Reset() {
- *x = Bucket_Lifecycle_Rule{}
+ // Required. The project id to list HMAC keys for.
+ Project string `protobuf:"bytes,1,opt,name=project,proto3" json:"project,omitempty"`
+ // Optional. The maximum number of keys to return.
+ PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
+ // Optional. A previously returned token from ListHmacKeysResponse to get the next page.
+ PageToken string `protobuf:"bytes,3,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
+ // Optional. If set, filters to only return HMAC keys for specified service account.
+ ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
+ // Optional. If set, return deleted keys that have not yet been wiped out.
+ ShowDeletedKeys bool `protobuf:"varint,5,opt,name=show_deleted_keys,json=showDeletedKeys,proto3" json:"show_deleted_keys,omitempty"`
+ // Optional. A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,6,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+}
+
+func (x *ListHmacKeysRequest) Reset() {
+ *x = ListHmacKeysRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[32]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[33]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Lifecycle_Rule) String() string {
+func (x *ListHmacKeysRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Lifecycle_Rule) ProtoMessage() {}
+func (*ListHmacKeysRequest) ProtoMessage() {}
-func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[32]
+func (x *ListHmacKeysRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[33]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3220,56 +3625,83 @@ func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead.
-func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 4, 0}
+// Deprecated: Use ListHmacKeysRequest.ProtoReflect.Descriptor instead.
+func (*ListHmacKeysRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{33}
}
-func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action {
+func (x *ListHmacKeysRequest) GetProject() string {
if x != nil {
- return x.Action
+ return x.Project
}
- return nil
+ return ""
}
-func (x *Bucket_Lifecycle_Rule) GetCondition() *Bucket_Lifecycle_Rule_Condition {
+func (x *ListHmacKeysRequest) GetPageSize() int32 {
if x != nil {
- return x.Condition
+ return x.PageSize
+ }
+ return 0
+}
+
+func (x *ListHmacKeysRequest) GetPageToken() string {
+ if x != nil {
+ return x.PageToken
+ }
+ return ""
+}
+
+func (x *ListHmacKeysRequest) GetServiceAccountEmail() string {
+ if x != nil {
+ return x.ServiceAccountEmail
+ }
+ return ""
+}
+
+func (x *ListHmacKeysRequest) GetShowDeletedKeys() bool {
+ if x != nil {
+ return x.ShowDeletedKeys
+ }
+ return false
+}
+
+func (x *ListHmacKeysRequest) GetCommonRequestParams() *CommonRequestParams {
+ if x != nil {
+ return x.CommonRequestParams
}
return nil
}
-// An action to take on an object.
-type Bucket_Lifecycle_Rule_Action struct {
+// Hmac key list response with next page information.
+type ListHmacKeysResponse struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Type of the action. Currently, only `Delete` and
- // `SetStorageClass` are supported.
- Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
- // Target storage class. Required iff the type of the action is
- // SetStorageClass.
- StorageClass string `protobuf:"bytes,2,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
+ // The list of items.
+ HmacKeys []*HmacKeyMetadata `protobuf:"bytes,1,rep,name=hmac_keys,json=hmacKeys,proto3" json:"hmac_keys,omitempty"`
+ // The continuation token, used to page through large result sets. Provide
+ // this value in a subsequent request to return the next page of results.
+ NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
}
-func (x *Bucket_Lifecycle_Rule_Action) Reset() {
- *x = Bucket_Lifecycle_Rule_Action{}
+func (x *ListHmacKeysResponse) Reset() {
+ *x = ListHmacKeysResponse{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[33]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[34]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Lifecycle_Rule_Action) String() string {
+func (x *ListHmacKeysResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {}
+func (*ListHmacKeysResponse) ProtoMessage() {}
-func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[33]
+func (x *ListHmacKeysResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[34]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3280,88 +3712,59 @@ func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead.
-func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 4, 0, 0}
+// Deprecated: Use ListHmacKeysResponse.ProtoReflect.Descriptor instead.
+func (*ListHmacKeysResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{34}
}
-func (x *Bucket_Lifecycle_Rule_Action) GetType() string {
+func (x *ListHmacKeysResponse) GetHmacKeys() []*HmacKeyMetadata {
if x != nil {
- return x.Type
+ return x.HmacKeys
}
- return ""
+ return nil
}
-func (x *Bucket_Lifecycle_Rule_Action) GetStorageClass() string {
+func (x *ListHmacKeysResponse) GetNextPageToken() string {
if x != nil {
- return x.StorageClass
+ return x.NextPageToken
}
return ""
}
-// A condition of an object which triggers some action.
-type Bucket_Lifecycle_Rule_Condition struct {
+// Request object to update an HMAC key state.
+type UpdateHmacKeyRequest struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // Age of an object (in days). This condition is satisfied when an
- // object reaches the specified age.
- // A value of 0 indicates that all objects immediately match this
- // condition.
- AgeDays *int32 `protobuf:"varint,1,opt,name=age_days,json=ageDays,proto3,oneof" json:"age_days,omitempty"`
- // This condition is satisfied when an object is created before midnight
- // of the specified date in UTC.
- CreatedBefore *date.Date `protobuf:"bytes,2,opt,name=created_before,json=createdBefore,proto3" json:"created_before,omitempty"`
- // Relevant only for versioned objects. If the value is
- // `true`, this condition matches live objects; if the value
- // is `false`, it matches archived objects.
- IsLive *bool `protobuf:"varint,3,opt,name=is_live,json=isLive,proto3,oneof" json:"is_live,omitempty"`
- // Relevant only for versioned objects. If the value is N, this
- // condition is satisfied when there are at least N versions (including
- // the live version) newer than this version of the object.
- NumNewerVersions *int32 `protobuf:"varint,4,opt,name=num_newer_versions,json=numNewerVersions,proto3,oneof" json:"num_newer_versions,omitempty"`
- // Objects having any of the storage classes specified by this condition
- // will be matched. Values include `MULTI_REGIONAL`, `REGIONAL`,
- // `NEARLINE`, `COLDLINE`, `STANDARD`, and
- // `DURABLE_REDUCED_AVAILABILITY`.
- MatchesStorageClass []string `protobuf:"bytes,5,rep,name=matches_storage_class,json=matchesStorageClass,proto3" json:"matches_storage_class,omitempty"`
- // Number of days that have elapsed since the custom timestamp set on an
- // object.
- // The value of the field must be a nonnegative integer.
- DaysSinceCustomTime *int32 `protobuf:"varint,7,opt,name=days_since_custom_time,json=daysSinceCustomTime,proto3,oneof" json:"days_since_custom_time,omitempty"`
- // An object matches this condition if the custom timestamp set on the
- // object is before the specified date in UTC.
- CustomTimeBefore *date.Date `protobuf:"bytes,8,opt,name=custom_time_before,json=customTimeBefore,proto3" json:"custom_time_before,omitempty"`
- // This condition is relevant only for versioned objects. An object
- // version satisfies this condition only if these many days have been
- // passed since it became noncurrent. The value of the field must be a
- // nonnegative integer. If it's zero, the object version will become
- // eligible for Lifecycle action as soon as it becomes noncurrent.
- DaysSinceNoncurrentTime *int32 `protobuf:"varint,9,opt,name=days_since_noncurrent_time,json=daysSinceNoncurrentTime,proto3,oneof" json:"days_since_noncurrent_time,omitempty"`
- // This condition is relevant only for versioned objects. An object
- // version satisfies this condition only if it became noncurrent before
- // the specified date in UTC.
- NoncurrentTimeBefore *date.Date `protobuf:"bytes,10,opt,name=noncurrent_time_before,json=noncurrentTimeBefore,proto3" json:"noncurrent_time_before,omitempty"`
+ // Required. The HMAC key to update.
+ // If present, the hmac_key's `id` field will be used to identify the key.
+ // Otherwise, the hmac_key's access_id and project fields will be used to
+ // identify the key.
+ HmacKey *HmacKeyMetadata `protobuf:"bytes,1,opt,name=hmac_key,json=hmacKey,proto3" json:"hmac_key,omitempty"`
+ // A set of parameters common to all Storage API requests.
+ CommonRequestParams *CommonRequestParams `protobuf:"bytes,2,opt,name=common_request_params,json=commonRequestParams,proto3" json:"common_request_params,omitempty"`
+ // Update mask for hmac_key.
+ UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
}
-func (x *Bucket_Lifecycle_Rule_Condition) Reset() {
- *x = Bucket_Lifecycle_Rule_Condition{}
+func (x *UpdateHmacKeyRequest) Reset() {
+ *x = UpdateHmacKeyRequest{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[34]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[35]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Bucket_Lifecycle_Rule_Condition) String() string {
+func (x *UpdateHmacKeyRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {}
+func (*UpdateHmacKeyRequest) ProtoMessage() {}
-func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[34]
+func (x *UpdateHmacKeyRequest) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[35]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3372,103 +3775,66 @@ func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead.
-func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 4, 0, 1}
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetAgeDays() int32 {
- if x != nil && x.AgeDays != nil {
- return *x.AgeDays
- }
- return 0
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetCreatedBefore() *date.Date {
- if x != nil {
- return x.CreatedBefore
- }
- return nil
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetIsLive() bool {
- if x != nil && x.IsLive != nil {
- return *x.IsLive
- }
- return false
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetNumNewerVersions() int32 {
- if x != nil && x.NumNewerVersions != nil {
- return *x.NumNewerVersions
- }
- return 0
+// Deprecated: Use UpdateHmacKeyRequest.ProtoReflect.Descriptor instead.
+func (*UpdateHmacKeyRequest) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{35}
}
-func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesStorageClass() []string {
+func (x *UpdateHmacKeyRequest) GetHmacKey() *HmacKeyMetadata {
if x != nil {
- return x.MatchesStorageClass
+ return x.HmacKey
}
return nil
}
-func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceCustomTime() int32 {
- if x != nil && x.DaysSinceCustomTime != nil {
- return *x.DaysSinceCustomTime
- }
- return 0
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetCustomTimeBefore() *date.Date {
+func (x *UpdateHmacKeyRequest) GetCommonRequestParams() *CommonRequestParams {
if x != nil {
- return x.CustomTimeBefore
+ return x.CommonRequestParams
}
return nil
}
-func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceNoncurrentTime() int32 {
- if x != nil && x.DaysSinceNoncurrentTime != nil {
- return *x.DaysSinceNoncurrentTime
- }
- return 0
-}
-
-func (x *Bucket_Lifecycle_Rule_Condition) GetNoncurrentTimeBefore() *date.Date {
+func (x *UpdateHmacKeyRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
if x != nil {
- return x.NoncurrentTimeBefore
+ return x.UpdateMask
}
return nil
}
-// Describes the customer-specified mechanism used to store the data at rest.
-type Object_CustomerEncryption struct {
+// Parameters that can be passed to any object request.
+type CommonObjectRequestParams struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
- // The encryption algorithm.
+ // Encryption algorithm used with the Customer-Supplied Encryption Keys
+ // feature.
EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
- // SHA256 hash value of the encryption key.
- KeySha256 string `protobuf:"bytes,2,opt,name=key_sha256,json=keySha256,proto3" json:"key_sha256,omitempty"`
+ // Encryption key used with the Customer-Supplied Encryption Keys feature.
+ // In raw bytes format (not base64-encoded).
+ EncryptionKeyBytes []byte `protobuf:"bytes,4,opt,name=encryption_key_bytes,json=encryptionKeyBytes,proto3" json:"encryption_key_bytes,omitempty"`
+ // SHA256 hash of encryption key used with the Customer-Supplied Encryption
+ // Keys feature.
+ EncryptionKeySha256Bytes []byte `protobuf:"bytes,5,opt,name=encryption_key_sha256_bytes,json=encryptionKeySha256Bytes,proto3" json:"encryption_key_sha256_bytes,omitempty"`
}
-func (x *Object_CustomerEncryption) Reset() {
- *x = Object_CustomerEncryption{}
+func (x *CommonObjectRequestParams) Reset() {
+ *x = CommonObjectRequestParams{}
if protoimpl.UnsafeEnabled {
- mi := &file_google_storage_v2_storage_proto_msgTypes[35]
+ mi := &file_google_storage_v2_storage_proto_msgTypes[36]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
}
-func (x *Object_CustomerEncryption) String() string {
+func (x *CommonObjectRequestParams) String() string {
return protoimpl.X.MessageStringOf(x)
}
-func (*Object_CustomerEncryption) ProtoMessage() {}
+func (*CommonObjectRequestParams) ProtoMessage() {}
-func (x *Object_CustomerEncryption) ProtoReflect() protoreflect.Message {
- mi := &file_google_storage_v2_storage_proto_msgTypes[35]
+func (x *CommonObjectRequestParams) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[36]
if protoimpl.UnsafeEnabled && x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
@@ -3479,31 +3845,2755 @@ func (x *Object_CustomerEncryption) ProtoReflect() protoreflect.Message {
return mi.MessageOf(x)
}
-// Deprecated: Use Object_CustomerEncryption.ProtoReflect.Descriptor instead.
-func (*Object_CustomerEncryption) Descriptor() ([]byte, []int) {
- return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{16, 0}
+// Deprecated: Use CommonObjectRequestParams.ProtoReflect.Descriptor instead.
+func (*CommonObjectRequestParams) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{36}
}
-func (x *Object_CustomerEncryption) GetEncryptionAlgorithm() string {
+func (x *CommonObjectRequestParams) GetEncryptionAlgorithm() string {
if x != nil {
return x.EncryptionAlgorithm
}
return ""
}
-func (x *Object_CustomerEncryption) GetKeySha256() string {
+func (x *CommonObjectRequestParams) GetEncryptionKeyBytes() []byte {
if x != nil {
- return x.KeySha256
+ return x.EncryptionKeyBytes
}
- return ""
+ return nil
}
-var File_google_storage_v2_storage_proto protoreflect.FileDescriptor
+func (x *CommonObjectRequestParams) GetEncryptionKeySha256Bytes() []byte {
+ if x != nil {
+ return x.EncryptionKeySha256Bytes
+ }
+ return nil
+}
-var file_google_storage_v2_storage_proto_rawDesc = []byte{
- 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
- 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+// Parameters that can be passed to any request.
+type CommonRequestParams struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. Required when using buckets with Requestor Pays feature enabled.
+ UserProject string `protobuf:"bytes,1,opt,name=user_project,json=userProject,proto3" json:"user_project,omitempty"`
+}
+
+func (x *CommonRequestParams) Reset() {
+ *x = CommonRequestParams{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[37]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CommonRequestParams) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CommonRequestParams) ProtoMessage() {}
+
+func (x *CommonRequestParams) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[37]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CommonRequestParams.ProtoReflect.Descriptor instead.
+func (*CommonRequestParams) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{37}
+}
+
+func (x *CommonRequestParams) GetUserProject() string {
+ if x != nil {
+ return x.UserProject
+ }
+ return ""
+}
+
+// Shared constants.
+type ServiceConstants struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+}
+
+func (x *ServiceConstants) Reset() {
+ *x = ServiceConstants{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[38]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServiceConstants) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServiceConstants) ProtoMessage() {}
+
+func (x *ServiceConstants) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[38]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServiceConstants.ProtoReflect.Descriptor instead.
+func (*ServiceConstants) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{38}
+}
+
+// A bucket.
+type Bucket struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Immutable. The name of the bucket.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Output only. The user-chosen part of the bucket name. The `{bucket}` portion of the
+ // `name` field. For globally unique buckets, this is equal to the "bucket
+ // name" of other Cloud Storage APIs. Example: "pub".
+ BucketId string `protobuf:"bytes,2,opt,name=bucket_id,json=bucketId,proto3" json:"bucket_id,omitempty"`
+ // Immutable. The project which owns this bucket.
+ Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
+ // Output only. The metadata generation of this bucket.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
+ // Immutable. The location of the bucket. Object data for objects in the bucket resides
+ // in physical storage within this region. Defaults to `US`. See the
+ // [https://developers.google.com/storage/docs/concepts-techniques#specifyinglocations"][developer's
+ // guide] for the authoritative list. Attempting to update this field after
+ // the bucket is created will result in an error.
+ Location string `protobuf:"bytes,5,opt,name=location,proto3" json:"location,omitempty"`
+ // Output only. The location type of the bucket (region, dual-region, multi-region, etc).
+ LocationType string `protobuf:"bytes,6,opt,name=location_type,json=locationType,proto3" json:"location_type,omitempty"`
+ // The bucket's default storage class, used whenever no storageClass is
+ // specified for a newly-created object. This defines how objects in the
+ // bucket are stored and determines the SLA and the cost of storage.
+ // If this value is not specified when the bucket is created, it will default
+ // to `STANDARD`. For more information, see
+ // https://developers.google.com/storage/docs/storage-classes.
+ StorageClass string `protobuf:"bytes,7,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
+ // The recovery point objective for cross-region replication of the bucket.
+ // Applicable only for dual- and multi-region buckets. "DEFAULT" uses default
+ // replication. "ASYNC_TURBO" enables turbo replication, valid for dual-region
+ // buckets only. If rpo is not specified when the bucket is created, it
+ // defaults to "DEFAULT". For more information, see
+ // https://cloud.google.com/storage/docs/turbo-replication.
+ Rpo string `protobuf:"bytes,27,opt,name=rpo,proto3" json:"rpo,omitempty"`
+ // Access controls on the bucket.
+ // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
+ // requests to set, read, or modify acl is an error.
+ Acl []*BucketAccessControl `protobuf:"bytes,8,rep,name=acl,proto3" json:"acl,omitempty"`
+ // Default access controls to apply to new objects when no ACL is provided.
+ // If iamConfig.uniformBucketLevelAccess is enabled on this bucket,
+ // requests to set, read, or modify acl is an error.
+ DefaultObjectAcl []*ObjectAccessControl `protobuf:"bytes,9,rep,name=default_object_acl,json=defaultObjectAcl,proto3" json:"default_object_acl,omitempty"`
+ // The bucket's lifecycle config. See
+ // [https://developers.google.com/storage/docs/lifecycle]Lifecycle Management]
+ // for more information.
+ Lifecycle *Bucket_Lifecycle `protobuf:"bytes,10,opt,name=lifecycle,proto3" json:"lifecycle,omitempty"`
+ // Output only. The creation time of the bucket in
+ // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ CreateTime *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // The bucket's [https://www.w3.org/TR/cors/][Cross-Origin Resource Sharing]
+ // (CORS) config.
+ Cors []*Bucket_Cors `protobuf:"bytes,12,rep,name=cors,proto3" json:"cors,omitempty"`
+ // Output only. The modification time of the bucket.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ UpdateTime *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+ // The default value for event-based hold on newly created objects in this
+ // bucket. Event-based hold is a way to retain objects indefinitely until an
+ // event occurs, signified by the
+ // hold's release. After being released, such objects will be subject to
+ // bucket-level retention (if any). One sample use case of this flag is for
+ // banks to hold loan documents for at least 3 years after loan is paid in
+ // full. Here, bucket-level retention is 3 years and the event is loan being
+ // paid in full. In this example, these objects will be held intact for any
+ // number of years until the event has occurred (event-based hold on the
+ // object is released) and then 3 more years after that. That means retention
+ // duration of the objects begins from the moment event-based hold
+ // transitioned from true to false. Objects under event-based hold cannot be
+ // deleted, overwritten or archived until the hold is removed.
+ DefaultEventBasedHold bool `protobuf:"varint,14,opt,name=default_event_based_hold,json=defaultEventBasedHold,proto3" json:"default_event_based_hold,omitempty"`
+ // User-provided labels, in key/value pairs.
+ Labels map[string]string `protobuf:"bytes,15,rep,name=labels,proto3" json:"labels,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // The bucket's website config, controlling how the service behaves
+ // when accessing bucket contents as a web site. See the
+ // [https://cloud.google.com/storage/docs/static-website][Static Website
+ // Examples] for more information.
+ Website *Bucket_Website `protobuf:"bytes,16,opt,name=website,proto3" json:"website,omitempty"`
+ // The bucket's versioning config.
+ Versioning *Bucket_Versioning `protobuf:"bytes,17,opt,name=versioning,proto3" json:"versioning,omitempty"`
+ // The bucket's logging config, which defines the destination bucket
+ // and name prefix (if any) for the current bucket's logs.
+ Logging *Bucket_Logging `protobuf:"bytes,18,opt,name=logging,proto3" json:"logging,omitempty"`
+ // Output only. The owner of the bucket. This is always the project team's owner group.
+ Owner *Owner `protobuf:"bytes,19,opt,name=owner,proto3" json:"owner,omitempty"`
+ // Encryption config for a bucket.
+ Encryption *Bucket_Encryption `protobuf:"bytes,20,opt,name=encryption,proto3" json:"encryption,omitempty"`
+ // The bucket's billing config.
+ Billing *Bucket_Billing `protobuf:"bytes,21,opt,name=billing,proto3" json:"billing,omitempty"`
+ // The bucket's retention policy. The retention policy enforces a minimum
+ // retention time for all objects contained in the bucket, based on their
+ // creation time. Any attempt to overwrite or delete objects younger than the
+ // retention period will result in a PERMISSION_DENIED error. An unlocked
+ // retention policy can be modified or removed from the bucket via a
+ // storage.buckets.update operation. A locked retention policy cannot be
+ // removed or shortened in duration for the lifetime of the bucket.
+ // Attempting to remove or decrease period of a locked retention policy will
+ // result in a PERMISSION_DENIED error.
+ RetentionPolicy *Bucket_RetentionPolicy `protobuf:"bytes,22,opt,name=retention_policy,json=retentionPolicy,proto3" json:"retention_policy,omitempty"`
+ // The bucket's IAM config.
+ IamConfig *Bucket_IamConfig `protobuf:"bytes,23,opt,name=iam_config,json=iamConfig,proto3" json:"iam_config,omitempty"`
+ // Reserved for future use.
+ SatisfiesPzs bool `protobuf:"varint,25,opt,name=satisfies_pzs,json=satisfiesPzs,proto3" json:"satisfies_pzs,omitempty"`
+ // Configuration that, if present, specifies the data placement for a Custom
+ // Dual Region.
+ CustomPlacementConfig *Bucket_CustomPlacementConfig `protobuf:"bytes,26,opt,name=custom_placement_config,json=customPlacementConfig,proto3" json:"custom_placement_config,omitempty"`
+}
+
+func (x *Bucket) Reset() {
+ *x = Bucket{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[39]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket) ProtoMessage() {}
+
+func (x *Bucket) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[39]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket.ProtoReflect.Descriptor instead.
+func (*Bucket) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39}
+}
+
+func (x *Bucket) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *Bucket) GetBucketId() string {
+ if x != nil {
+ return x.BucketId
+ }
+ return ""
+}
+
+func (x *Bucket) GetProject() string {
+ if x != nil {
+ return x.Project
+ }
+ return ""
+}
+
+func (x *Bucket) GetMetageneration() int64 {
+ if x != nil {
+ return x.Metageneration
+ }
+ return 0
+}
+
+func (x *Bucket) GetLocation() string {
+ if x != nil {
+ return x.Location
+ }
+ return ""
+}
+
+func (x *Bucket) GetLocationType() string {
+ if x != nil {
+ return x.LocationType
+ }
+ return ""
+}
+
+func (x *Bucket) GetStorageClass() string {
+ if x != nil {
+ return x.StorageClass
+ }
+ return ""
+}
+
+func (x *Bucket) GetRpo() string {
+ if x != nil {
+ return x.Rpo
+ }
+ return ""
+}
+
+func (x *Bucket) GetAcl() []*BucketAccessControl {
+ if x != nil {
+ return x.Acl
+ }
+ return nil
+}
+
+func (x *Bucket) GetDefaultObjectAcl() []*ObjectAccessControl {
+ if x != nil {
+ return x.DefaultObjectAcl
+ }
+ return nil
+}
+
+func (x *Bucket) GetLifecycle() *Bucket_Lifecycle {
+ if x != nil {
+ return x.Lifecycle
+ }
+ return nil
+}
+
+func (x *Bucket) GetCreateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CreateTime
+ }
+ return nil
+}
+
+func (x *Bucket) GetCors() []*Bucket_Cors {
+ if x != nil {
+ return x.Cors
+ }
+ return nil
+}
+
+func (x *Bucket) GetUpdateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.UpdateTime
+ }
+ return nil
+}
+
+func (x *Bucket) GetDefaultEventBasedHold() bool {
+ if x != nil {
+ return x.DefaultEventBasedHold
+ }
+ return false
+}
+
+func (x *Bucket) GetLabels() map[string]string {
+ if x != nil {
+ return x.Labels
+ }
+ return nil
+}
+
+func (x *Bucket) GetWebsite() *Bucket_Website {
+ if x != nil {
+ return x.Website
+ }
+ return nil
+}
+
+func (x *Bucket) GetVersioning() *Bucket_Versioning {
+ if x != nil {
+ return x.Versioning
+ }
+ return nil
+}
+
+func (x *Bucket) GetLogging() *Bucket_Logging {
+ if x != nil {
+ return x.Logging
+ }
+ return nil
+}
+
+func (x *Bucket) GetOwner() *Owner {
+ if x != nil {
+ return x.Owner
+ }
+ return nil
+}
+
+func (x *Bucket) GetEncryption() *Bucket_Encryption {
+ if x != nil {
+ return x.Encryption
+ }
+ return nil
+}
+
+func (x *Bucket) GetBilling() *Bucket_Billing {
+ if x != nil {
+ return x.Billing
+ }
+ return nil
+}
+
+func (x *Bucket) GetRetentionPolicy() *Bucket_RetentionPolicy {
+ if x != nil {
+ return x.RetentionPolicy
+ }
+ return nil
+}
+
+func (x *Bucket) GetIamConfig() *Bucket_IamConfig {
+ if x != nil {
+ return x.IamConfig
+ }
+ return nil
+}
+
+func (x *Bucket) GetSatisfiesPzs() bool {
+ if x != nil {
+ return x.SatisfiesPzs
+ }
+ return false
+}
+
+func (x *Bucket) GetCustomPlacementConfig() *Bucket_CustomPlacementConfig {
+ if x != nil {
+ return x.CustomPlacementConfig
+ }
+ return nil
+}
+
+// An access-control entry.
+type BucketAccessControl struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The access permission for the entity.
+ Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
+ // The ID of the access-control entry.
+ Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+ // The entity holding the permission, in one of the following forms:
+ // * `user-{userid}`
+ // * `user-{email}`
+ // * `group-{groupid}`
+ // * `group-{email}`
+ // * `domain-{domain}`
+ // * `project-{team-projectid}`
+ // * `allUsers`
+ // * `allAuthenticatedUsers`
+ // Examples:
+ // * The user `liz@example.com` would be `user-liz@example.com`.
+ // * The group `example@googlegroups.com` would be
+ // `group-example@googlegroups.com`
+ // * All members of the Google Apps for Business domain `example.com` would be
+ // `domain-example.com`
+ Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
+ // The ID for the entity, if any.
+ EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ // The email address associated with the entity, if any.
+ Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
+ // The domain associated with the entity, if any.
+ Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
+ // The project team associated with the entity, if any.
+ ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
+}
+
+func (x *BucketAccessControl) Reset() {
+ *x = BucketAccessControl{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[40]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *BucketAccessControl) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*BucketAccessControl) ProtoMessage() {}
+
+func (x *BucketAccessControl) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[40]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use BucketAccessControl.ProtoReflect.Descriptor instead.
+func (*BucketAccessControl) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{40}
+}
+
+func (x *BucketAccessControl) GetRole() string {
+ if x != nil {
+ return x.Role
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetEntity() string {
+ if x != nil {
+ return x.Entity
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetEntityId() string {
+ if x != nil {
+ return x.EntityId
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetEmail() string {
+ if x != nil {
+ return x.Email
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetDomain() string {
+ if x != nil {
+ return x.Domain
+ }
+ return ""
+}
+
+func (x *BucketAccessControl) GetProjectTeam() *ProjectTeam {
+ if x != nil {
+ return x.ProjectTeam
+ }
+ return nil
+}
+
+// Message used to convey content being read or written, along with an optional
+// checksum.
+type ChecksummedData struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The data.
+ Content []byte `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
+ // If set, the CRC32C digest of the content field.
+ Crc32C *uint32 `protobuf:"fixed32,2,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
+}
+
+func (x *ChecksummedData) Reset() {
+ *x = ChecksummedData{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[41]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ChecksummedData) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ChecksummedData) ProtoMessage() {}
+
+func (x *ChecksummedData) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[41]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ChecksummedData.ProtoReflect.Descriptor instead.
+func (*ChecksummedData) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{41}
+}
+
+func (x *ChecksummedData) GetContent() []byte {
+ if x != nil {
+ return x.Content
+ }
+ return nil
+}
+
+func (x *ChecksummedData) GetCrc32C() uint32 {
+ if x != nil && x.Crc32C != nil {
+ return *x.Crc32C
+ }
+ return 0
+}
+
+// Message used for storing full (not subrange) object checksums.
+type ObjectChecksums struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // CRC32C digest of the object data. Computed by the Cloud Storage service for
+ // all written objects.
+ // If set in an WriteObjectRequest, service will validate that the stored
+ // object matches this checksum.
+ Crc32C *uint32 `protobuf:"fixed32,1,opt,name=crc32c,proto3,oneof" json:"crc32c,omitempty"`
+ // 128 bit MD5 hash of the object data.
+ // For more information about using the MD5 hash, see
+ // [https://cloud.google.com/storage/docs/hashes-etags#json-api][Hashes and
+ // ETags: Best Practices].
+ // Not all objects will provide an MD5 hash. For example, composite objects
+ // provide only crc32c hashes.
+ // This value is equivalent to running `cat object.txt | openssl md5 -binary`
+ Md5Hash []byte `protobuf:"bytes,2,opt,name=md5_hash,json=md5Hash,proto3" json:"md5_hash,omitempty"`
+}
+
+func (x *ObjectChecksums) Reset() {
+ *x = ObjectChecksums{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[42]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObjectChecksums) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObjectChecksums) ProtoMessage() {}
+
+func (x *ObjectChecksums) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[42]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObjectChecksums.ProtoReflect.Descriptor instead.
+func (*ObjectChecksums) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{42}
+}
+
+func (x *ObjectChecksums) GetCrc32C() uint32 {
+ if x != nil && x.Crc32C != nil {
+ return *x.Crc32C
+ }
+ return 0
+}
+
+func (x *ObjectChecksums) GetMd5Hash() []byte {
+ if x != nil {
+ return x.Md5Hash
+ }
+ return nil
+}
+
+// Hmac Key Metadata, which includes all information other than the secret.
+type HmacKeyMetadata struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Resource name ID of the key in the format /.
+ Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
+ // Globally unique id for keys.
+ AccessId string `protobuf:"bytes,2,opt,name=access_id,json=accessId,proto3" json:"access_id,omitempty"`
+ // The project ID that the hmac key is contained in.
+ Project string `protobuf:"bytes,3,opt,name=project,proto3" json:"project,omitempty"`
+ // Email of the service account the key authenticates as.
+ ServiceAccountEmail string `protobuf:"bytes,4,opt,name=service_account_email,json=serviceAccountEmail,proto3" json:"service_account_email,omitempty"`
+ // State of the key. One of ACTIVE, INACTIVE, or DELETED.
+ State string `protobuf:"bytes,5,opt,name=state,proto3" json:"state,omitempty"`
+ // The creation time of the HMAC key in RFC 3339 format.
+ CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // The last modification time of the HMAC key metadata in RFC 3339 format.
+ UpdateTime *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+}
+
+func (x *HmacKeyMetadata) Reset() {
+ *x = HmacKeyMetadata{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[43]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *HmacKeyMetadata) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*HmacKeyMetadata) ProtoMessage() {}
+
+func (x *HmacKeyMetadata) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[43]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use HmacKeyMetadata.ProtoReflect.Descriptor instead.
+func (*HmacKeyMetadata) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{43}
+}
+
+func (x *HmacKeyMetadata) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *HmacKeyMetadata) GetAccessId() string {
+ if x != nil {
+ return x.AccessId
+ }
+ return ""
+}
+
+func (x *HmacKeyMetadata) GetProject() string {
+ if x != nil {
+ return x.Project
+ }
+ return ""
+}
+
+func (x *HmacKeyMetadata) GetServiceAccountEmail() string {
+ if x != nil {
+ return x.ServiceAccountEmail
+ }
+ return ""
+}
+
+func (x *HmacKeyMetadata) GetState() string {
+ if x != nil {
+ return x.State
+ }
+ return ""
+}
+
+func (x *HmacKeyMetadata) GetCreateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CreateTime
+ }
+ return nil
+}
+
+func (x *HmacKeyMetadata) GetUpdateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.UpdateTime
+ }
+ return nil
+}
+
+// A directive to publish Pub/Sub notifications upon changes to a bucket.
+type Notification struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The resource name of this notification.
+ // Format:
+ // `projects/{project}/buckets/{bucket}/notificationConfigs/{notification}`
+ // The `{project}` portion may be `_` for globally unique buckets.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Required. The Pub/Sub topic to which this subscription publishes. Formatted as:
+ // '//pubsub.googleapis.com/projects/{project-identifier}/topics/{my-topic}'
+ Topic string `protobuf:"bytes,2,opt,name=topic,proto3" json:"topic,omitempty"`
+ // Optional. If present, only send notifications about listed event types. If empty,
+ // sent notifications for all event types.
+ EventTypes []string `protobuf:"bytes,3,rep,name=event_types,json=eventTypes,proto3" json:"event_types,omitempty"`
+ // Optional. An optional list of additional attributes to attach to each Pub/Sub
+ // message published for this notification subscription.
+ CustomAttributes map[string]string `protobuf:"bytes,4,rep,name=custom_attributes,json=customAttributes,proto3" json:"custom_attributes,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Optional. If present, only apply this notification config to object names that
+ // begin with this prefix.
+ ObjectNamePrefix string `protobuf:"bytes,5,opt,name=object_name_prefix,json=objectNamePrefix,proto3" json:"object_name_prefix,omitempty"`
+ // Required. The desired content of the Payload.
+ PayloadFormat string `protobuf:"bytes,6,opt,name=payload_format,json=payloadFormat,proto3" json:"payload_format,omitempty"`
+}
+
+func (x *Notification) Reset() {
+ *x = Notification{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[44]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Notification) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Notification) ProtoMessage() {}
+
+func (x *Notification) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[44]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Notification.ProtoReflect.Descriptor instead.
+func (*Notification) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{44}
+}
+
+func (x *Notification) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *Notification) GetTopic() string {
+ if x != nil {
+ return x.Topic
+ }
+ return ""
+}
+
+func (x *Notification) GetEventTypes() []string {
+ if x != nil {
+ return x.EventTypes
+ }
+ return nil
+}
+
+func (x *Notification) GetCustomAttributes() map[string]string {
+ if x != nil {
+ return x.CustomAttributes
+ }
+ return nil
+}
+
+func (x *Notification) GetObjectNamePrefix() string {
+ if x != nil {
+ return x.ObjectNamePrefix
+ }
+ return ""
+}
+
+func (x *Notification) GetPayloadFormat() string {
+ if x != nil {
+ return x.PayloadFormat
+ }
+ return ""
+}
+
+// Describes the Customer-Supplied Encryption Key mechanism used to store an
+// Object's data at rest.
+type CustomerEncryption struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The encryption algorithm.
+ EncryptionAlgorithm string `protobuf:"bytes,1,opt,name=encryption_algorithm,json=encryptionAlgorithm,proto3" json:"encryption_algorithm,omitempty"`
+ // SHA256 hash value of the encryption key.
+ // In raw bytes format (not base64-encoded).
+ KeySha256Bytes []byte `protobuf:"bytes,3,opt,name=key_sha256_bytes,json=keySha256Bytes,proto3" json:"key_sha256_bytes,omitempty"`
+}
+
+func (x *CustomerEncryption) Reset() {
+ *x = CustomerEncryption{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[45]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *CustomerEncryption) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*CustomerEncryption) ProtoMessage() {}
+
+func (x *CustomerEncryption) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[45]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use CustomerEncryption.ProtoReflect.Descriptor instead.
+func (*CustomerEncryption) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{45}
+}
+
+func (x *CustomerEncryption) GetEncryptionAlgorithm() string {
+ if x != nil {
+ return x.EncryptionAlgorithm
+ }
+ return ""
+}
+
+func (x *CustomerEncryption) GetKeySha256Bytes() []byte {
+ if x != nil {
+ return x.KeySha256Bytes
+ }
+ return nil
+}
+
+// An object.
+type Object struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Immutable. The name of this object. Nearly any sequence of unicode characters is
+ // valid. See
+ // [Guidelines](https://cloud.google.com/storage/docs/naming-objects).
+ // Example: `test.txt`
+ // The `name` field by itself does not uniquely identify a Cloud Storage
+ // object. A Cloud Storage object is uniquely identified by the tuple of
+ // (bucket, object, generation).
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // Immutable. The name of the bucket containing this object.
+ Bucket string `protobuf:"bytes,2,opt,name=bucket,proto3" json:"bucket,omitempty"`
+ // Immutable. The content generation of this object. Used for object versioning.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ Generation int64 `protobuf:"varint,3,opt,name=generation,proto3" json:"generation,omitempty"`
+ // Output only. The version of the metadata for this generation of this object. Used for
+ // preconditions and for detecting changes in metadata. A metageneration
+ // number is only meaningful in the context of a particular generation of a
+ // particular object.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ Metageneration int64 `protobuf:"varint,4,opt,name=metageneration,proto3" json:"metageneration,omitempty"`
+ // Storage class of the object.
+ StorageClass string `protobuf:"bytes,5,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
+ // Output only. Content-Length of the object data in bytes, matching
+ // [https://tools.ietf.org/html/rfc7230#section-3.3.2][RFC 7230 §3.3.2].
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ Size int64 `protobuf:"varint,6,opt,name=size,proto3" json:"size,omitempty"`
+ // Content-Encoding of the object data, matching
+ // [https://tools.ietf.org/html/rfc7231#section-3.1.2.2][RFC 7231 §3.1.2.2]
+ ContentEncoding string `protobuf:"bytes,7,opt,name=content_encoding,json=contentEncoding,proto3" json:"content_encoding,omitempty"`
+ // Content-Disposition of the object data, matching
+ // [https://tools.ietf.org/html/rfc6266][RFC 6266].
+ ContentDisposition string `protobuf:"bytes,8,opt,name=content_disposition,json=contentDisposition,proto3" json:"content_disposition,omitempty"`
+ // Cache-Control directive for the object data, matching
+ // [https://tools.ietf.org/html/rfc7234#section-5.2"][RFC 7234 §5.2].
+ // If omitted, and the object is accessible to all anonymous users, the
+ // default will be `public, max-age=3600`.
+ CacheControl string `protobuf:"bytes,9,opt,name=cache_control,json=cacheControl,proto3" json:"cache_control,omitempty"`
+ // Access controls on the object.
+ // If iamConfig.uniformBucketLevelAccess is enabled on the parent
+ // bucket, requests to set, read, or modify acl is an error.
+ Acl []*ObjectAccessControl `protobuf:"bytes,10,rep,name=acl,proto3" json:"acl,omitempty"`
+ // Content-Language of the object data, matching
+ // [https://tools.ietf.org/html/rfc7231#section-3.1.3.2][RFC 7231 §3.1.3.2].
+ ContentLanguage string `protobuf:"bytes,11,opt,name=content_language,json=contentLanguage,proto3" json:"content_language,omitempty"`
+ // Output only. The deletion time of the object. Will be returned if and only if this
+ // version of the object has been deleted.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ DeleteTime *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=delete_time,json=deleteTime,proto3" json:"delete_time,omitempty"`
+ // Content-Type of the object data, matching
+ // [https://tools.ietf.org/html/rfc7231#section-3.1.1.5][RFC 7231 §3.1.1.5].
+ // If an object is stored without a Content-Type, it is served as
+ // `application/octet-stream`.
+ ContentType string `protobuf:"bytes,13,opt,name=content_type,json=contentType,proto3" json:"content_type,omitempty"`
+ // Output only. The creation time of the object.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ CreateTime *timestamppb.Timestamp `protobuf:"bytes,14,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
+ // Output only. Number of underlying components that make up this object. Components are
+ // accumulated by compose operations.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ ComponentCount int32 `protobuf:"varint,15,opt,name=component_count,json=componentCount,proto3" json:"component_count,omitempty"`
+ // Output only. Hashes for the data part of this object.
+ Checksums *ObjectChecksums `protobuf:"bytes,16,opt,name=checksums,proto3" json:"checksums,omitempty"`
+ // Output only. The modification time of the object metadata.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ UpdateTime *timestamppb.Timestamp `protobuf:"bytes,17,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty"`
+ // Cloud KMS Key used to encrypt this object, if the object is encrypted by
+ // such a key.
+ KmsKey string `protobuf:"bytes,18,opt,name=kms_key,json=kmsKey,proto3" json:"kms_key,omitempty"`
+ // Output only. The time at which the object's storage class was last changed. When the
+ // object is initially created, it will be set to time_created.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ UpdateStorageClassTime *timestamppb.Timestamp `protobuf:"bytes,19,opt,name=update_storage_class_time,json=updateStorageClassTime,proto3" json:"update_storage_class_time,omitempty"`
+ // Whether an object is under temporary hold. While this flag is set to true,
+ // the object is protected against deletion and overwrites. A common use case
+ // of this flag is regulatory investigations where objects need to be retained
+ // while the investigation is ongoing. Note that unlike event-based hold,
+ // temporary hold does not impact retention expiration time of an object.
+ TemporaryHold bool `protobuf:"varint,20,opt,name=temporary_hold,json=temporaryHold,proto3" json:"temporary_hold,omitempty"`
+ // A server-determined value that specifies the earliest time that the
+ // object's retention period expires. This value is in
+ // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
+ // Note 1: This field is not provided for objects with an active event-based
+ // hold, since retention expiration is unknown until the hold is removed.
+ // Note 2: This value can be provided even when temporary hold is set (so that
+ // the user can reason about policy without having to first unset the
+ // temporary hold).
+ RetentionExpireTime *timestamppb.Timestamp `protobuf:"bytes,21,opt,name=retention_expire_time,json=retentionExpireTime,proto3" json:"retention_expire_time,omitempty"`
+ // User-provided metadata, in key/value pairs.
+ Metadata map[string]string `protobuf:"bytes,22,rep,name=metadata,proto3" json:"metadata,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
+ // Whether an object is under event-based hold.
+ // An event-based hold is a way to force the retention of an object until
+ // after some event occurs. Once the hold is released by explicitly setting
+ // this field to false, the object will become subject to any bucket-level
+ // retention policy, except that the retention duration will be calculated
+ // from the time the event based hold was lifted, rather than the time the
+ // object was created.
+ //
+ // In a WriteObject request, not setting this field implies that the value
+ // should be taken from the parent bucket's "default_event_based_hold" field.
+ // In a response, this field will always be set to true or false.
+ EventBasedHold *bool `protobuf:"varint,23,opt,name=event_based_hold,json=eventBasedHold,proto3,oneof" json:"event_based_hold,omitempty"`
+ // Output only. The owner of the object. This will always be the uploader of the object.
+ // Attempting to set or update this field will result in a
+ // [FieldViolation][google.rpc.BadRequest.FieldViolation].
+ Owner *Owner `protobuf:"bytes,24,opt,name=owner,proto3" json:"owner,omitempty"`
+ // Metadata of Customer-Supplied Encryption Key, if the object is encrypted by
+ // such a key.
+ CustomerEncryption *CustomerEncryption `protobuf:"bytes,25,opt,name=customer_encryption,json=customerEncryption,proto3" json:"customer_encryption,omitempty"`
+ // A user-specified timestamp set on an object.
+ CustomTime *timestamppb.Timestamp `protobuf:"bytes,26,opt,name=custom_time,json=customTime,proto3" json:"custom_time,omitempty"`
+}
+
+func (x *Object) Reset() {
+ *x = Object{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[46]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Object) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Object) ProtoMessage() {}
+
+func (x *Object) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[46]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Object.ProtoReflect.Descriptor instead.
+func (*Object) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{46}
+}
+
+func (x *Object) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *Object) GetBucket() string {
+ if x != nil {
+ return x.Bucket
+ }
+ return ""
+}
+
+func (x *Object) GetGeneration() int64 {
+ if x != nil {
+ return x.Generation
+ }
+ return 0
+}
+
+func (x *Object) GetMetageneration() int64 {
+ if x != nil {
+ return x.Metageneration
+ }
+ return 0
+}
+
+func (x *Object) GetStorageClass() string {
+ if x != nil {
+ return x.StorageClass
+ }
+ return ""
+}
+
+func (x *Object) GetSize() int64 {
+ if x != nil {
+ return x.Size
+ }
+ return 0
+}
+
+func (x *Object) GetContentEncoding() string {
+ if x != nil {
+ return x.ContentEncoding
+ }
+ return ""
+}
+
+func (x *Object) GetContentDisposition() string {
+ if x != nil {
+ return x.ContentDisposition
+ }
+ return ""
+}
+
+func (x *Object) GetCacheControl() string {
+ if x != nil {
+ return x.CacheControl
+ }
+ return ""
+}
+
+func (x *Object) GetAcl() []*ObjectAccessControl {
+ if x != nil {
+ return x.Acl
+ }
+ return nil
+}
+
+func (x *Object) GetContentLanguage() string {
+ if x != nil {
+ return x.ContentLanguage
+ }
+ return ""
+}
+
+func (x *Object) GetDeleteTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.DeleteTime
+ }
+ return nil
+}
+
+func (x *Object) GetContentType() string {
+ if x != nil {
+ return x.ContentType
+ }
+ return ""
+}
+
+func (x *Object) GetCreateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CreateTime
+ }
+ return nil
+}
+
+func (x *Object) GetComponentCount() int32 {
+ if x != nil {
+ return x.ComponentCount
+ }
+ return 0
+}
+
+func (x *Object) GetChecksums() *ObjectChecksums {
+ if x != nil {
+ return x.Checksums
+ }
+ return nil
+}
+
+func (x *Object) GetUpdateTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.UpdateTime
+ }
+ return nil
+}
+
+func (x *Object) GetKmsKey() string {
+ if x != nil {
+ return x.KmsKey
+ }
+ return ""
+}
+
+func (x *Object) GetUpdateStorageClassTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.UpdateStorageClassTime
+ }
+ return nil
+}
+
+func (x *Object) GetTemporaryHold() bool {
+ if x != nil {
+ return x.TemporaryHold
+ }
+ return false
+}
+
+func (x *Object) GetRetentionExpireTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.RetentionExpireTime
+ }
+ return nil
+}
+
+func (x *Object) GetMetadata() map[string]string {
+ if x != nil {
+ return x.Metadata
+ }
+ return nil
+}
+
+func (x *Object) GetEventBasedHold() bool {
+ if x != nil && x.EventBasedHold != nil {
+ return *x.EventBasedHold
+ }
+ return false
+}
+
+func (x *Object) GetOwner() *Owner {
+ if x != nil {
+ return x.Owner
+ }
+ return nil
+}
+
+func (x *Object) GetCustomerEncryption() *CustomerEncryption {
+ if x != nil {
+ return x.CustomerEncryption
+ }
+ return nil
+}
+
+func (x *Object) GetCustomTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.CustomTime
+ }
+ return nil
+}
+
+// An access-control entry.
+type ObjectAccessControl struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The access permission for the entity.
+ Role string `protobuf:"bytes,1,opt,name=role,proto3" json:"role,omitempty"`
+ // The ID of the access-control entry.
+ Id string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
+ // The entity holding the permission, in one of the following forms:
+ // * `user-{userid}`
+ // * `user-{email}`
+ // * `group-{groupid}`
+ // * `group-{email}`
+ // * `domain-{domain}`
+ // * `project-{team-projectid}`
+ // * `allUsers`
+ // * `allAuthenticatedUsers`
+ // Examples:
+ // * The user `liz@example.com` would be `user-liz@example.com`.
+ // * The group `example@googlegroups.com` would be
+ // `group-example@googlegroups.com`.
+ // * All members of the Google Apps for Business domain `example.com` would be
+ // `domain-example.com`.
+ Entity string `protobuf:"bytes,3,opt,name=entity,proto3" json:"entity,omitempty"`
+ // The ID for the entity, if any.
+ EntityId string `protobuf:"bytes,4,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+ // The email address associated with the entity, if any.
+ Email string `protobuf:"bytes,5,opt,name=email,proto3" json:"email,omitempty"`
+ // The domain associated with the entity, if any.
+ Domain string `protobuf:"bytes,6,opt,name=domain,proto3" json:"domain,omitempty"`
+ // The project team associated with the entity, if any.
+ ProjectTeam *ProjectTeam `protobuf:"bytes,7,opt,name=project_team,json=projectTeam,proto3" json:"project_team,omitempty"`
+}
+
+func (x *ObjectAccessControl) Reset() {
+ *x = ObjectAccessControl{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[47]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ObjectAccessControl) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ObjectAccessControl) ProtoMessage() {}
+
+func (x *ObjectAccessControl) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[47]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ObjectAccessControl.ProtoReflect.Descriptor instead.
+func (*ObjectAccessControl) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{47}
+}
+
+func (x *ObjectAccessControl) GetRole() string {
+ if x != nil {
+ return x.Role
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetId() string {
+ if x != nil {
+ return x.Id
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetEntity() string {
+ if x != nil {
+ return x.Entity
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetEntityId() string {
+ if x != nil {
+ return x.EntityId
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetEmail() string {
+ if x != nil {
+ return x.Email
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetDomain() string {
+ if x != nil {
+ return x.Domain
+ }
+ return ""
+}
+
+func (x *ObjectAccessControl) GetProjectTeam() *ProjectTeam {
+ if x != nil {
+ return x.ProjectTeam
+ }
+ return nil
+}
+
+// The result of a call to Objects.ListObjects
+type ListObjectsResponse struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The list of items.
+ Objects []*Object `protobuf:"bytes,1,rep,name=objects,proto3" json:"objects,omitempty"`
+ // The list of prefixes of objects matching-but-not-listed up to and including
+ // the requested delimiter.
+ Prefixes []string `protobuf:"bytes,2,rep,name=prefixes,proto3" json:"prefixes,omitempty"`
+ // The continuation token, used to page through large result sets. Provide
+ // this value in a subsequent request to return the next page of results.
+ NextPageToken string `protobuf:"bytes,3,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
+}
+
+func (x *ListObjectsResponse) Reset() {
+ *x = ListObjectsResponse{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[48]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ListObjectsResponse) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ListObjectsResponse) ProtoMessage() {}
+
+func (x *ListObjectsResponse) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[48]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ListObjectsResponse.ProtoReflect.Descriptor instead.
+func (*ListObjectsResponse) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{48}
+}
+
+func (x *ListObjectsResponse) GetObjects() []*Object {
+ if x != nil {
+ return x.Objects
+ }
+ return nil
+}
+
+func (x *ListObjectsResponse) GetPrefixes() []string {
+ if x != nil {
+ return x.Prefixes
+ }
+ return nil
+}
+
+func (x *ListObjectsResponse) GetNextPageToken() string {
+ if x != nil {
+ return x.NextPageToken
+ }
+ return ""
+}
+
+// Represents the Viewers, Editors, or Owners of a given project.
+type ProjectTeam struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The project number.
+ ProjectNumber string `protobuf:"bytes,1,opt,name=project_number,json=projectNumber,proto3" json:"project_number,omitempty"`
+ // The team.
+ Team string `protobuf:"bytes,2,opt,name=team,proto3" json:"team,omitempty"`
+}
+
+func (x *ProjectTeam) Reset() {
+ *x = ProjectTeam{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[49]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ProjectTeam) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ProjectTeam) ProtoMessage() {}
+
+func (x *ProjectTeam) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[49]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ProjectTeam.ProtoReflect.Descriptor instead.
+func (*ProjectTeam) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{49}
+}
+
+func (x *ProjectTeam) GetProjectNumber() string {
+ if x != nil {
+ return x.ProjectNumber
+ }
+ return ""
+}
+
+func (x *ProjectTeam) GetTeam() string {
+ if x != nil {
+ return x.Team
+ }
+ return ""
+}
+
+// A service account, owned by Cloud Storage, which may be used when taking
+// action on behalf of a given project, for example to publish Pub/Sub
+// notifications or to retrieve security keys.
+type ServiceAccount struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The ID of the notification.
+ EmailAddress string `protobuf:"bytes,1,opt,name=email_address,json=emailAddress,proto3" json:"email_address,omitempty"`
+}
+
+func (x *ServiceAccount) Reset() {
+ *x = ServiceAccount{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[50]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ServiceAccount) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ServiceAccount) ProtoMessage() {}
+
+func (x *ServiceAccount) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[50]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ServiceAccount.ProtoReflect.Descriptor instead.
+func (*ServiceAccount) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{50}
+}
+
+func (x *ServiceAccount) GetEmailAddress() string {
+ if x != nil {
+ return x.EmailAddress
+ }
+ return ""
+}
+
+// The owner of a specific resource.
+type Owner struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The entity, in the form `user-`*userId*.
+ Entity string `protobuf:"bytes,1,opt,name=entity,proto3" json:"entity,omitempty"`
+ // The ID for the entity.
+ EntityId string `protobuf:"bytes,2,opt,name=entity_id,json=entityId,proto3" json:"entity_id,omitempty"`
+}
+
+func (x *Owner) Reset() {
+ *x = Owner{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[51]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Owner) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Owner) ProtoMessage() {}
+
+func (x *Owner) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[51]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Owner.ProtoReflect.Descriptor instead.
+func (*Owner) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{51}
+}
+
+func (x *Owner) GetEntity() string {
+ if x != nil {
+ return x.Entity
+ }
+ return ""
+}
+
+func (x *Owner) GetEntityId() string {
+ if x != nil {
+ return x.EntityId
+ }
+ return ""
+}
+
+// Specifies a requested range of bytes to download.
+type ContentRange struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The starting offset of the object data.
+ Start int64 `protobuf:"varint,1,opt,name=start,proto3" json:"start,omitempty"`
+ // The ending offset of the object data.
+ End int64 `protobuf:"varint,2,opt,name=end,proto3" json:"end,omitempty"`
+ // The complete length of the object data.
+ CompleteLength int64 `protobuf:"varint,3,opt,name=complete_length,json=completeLength,proto3" json:"complete_length,omitempty"`
+}
+
+func (x *ContentRange) Reset() {
+ *x = ContentRange{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[52]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ContentRange) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ContentRange) ProtoMessage() {}
+
+func (x *ContentRange) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[52]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ContentRange.ProtoReflect.Descriptor instead.
+func (*ContentRange) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{52}
+}
+
+func (x *ContentRange) GetStart() int64 {
+ if x != nil {
+ return x.Start
+ }
+ return 0
+}
+
+func (x *ContentRange) GetEnd() int64 {
+ if x != nil {
+ return x.End
+ }
+ return 0
+}
+
+func (x *ContentRange) GetCompleteLength() int64 {
+ if x != nil {
+ return x.CompleteLength
+ }
+ return 0
+}
+
+// Description of a source object for a composition request.
+type ComposeObjectRequest_SourceObject struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Required. The source object's name. All source objects must reside in the same
+ // bucket.
+ Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
+ // The generation of this object to use as the source.
+ Generation int64 `protobuf:"varint,2,opt,name=generation,proto3" json:"generation,omitempty"`
+ // Conditions that must be met for this operation to execute.
+ ObjectPreconditions *ComposeObjectRequest_SourceObject_ObjectPreconditions `protobuf:"bytes,3,opt,name=object_preconditions,json=objectPreconditions,proto3" json:"object_preconditions,omitempty"`
+}
+
+func (x *ComposeObjectRequest_SourceObject) Reset() {
+ *x = ComposeObjectRequest_SourceObject{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[53]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ComposeObjectRequest_SourceObject) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ComposeObjectRequest_SourceObject) ProtoMessage() {}
+
+func (x *ComposeObjectRequest_SourceObject) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[53]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ComposeObjectRequest_SourceObject.ProtoReflect.Descriptor instead.
+func (*ComposeObjectRequest_SourceObject) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 0}
+}
+
+func (x *ComposeObjectRequest_SourceObject) GetName() string {
+ if x != nil {
+ return x.Name
+ }
+ return ""
+}
+
+func (x *ComposeObjectRequest_SourceObject) GetGeneration() int64 {
+ if x != nil {
+ return x.Generation
+ }
+ return 0
+}
+
+func (x *ComposeObjectRequest_SourceObject) GetObjectPreconditions() *ComposeObjectRequest_SourceObject_ObjectPreconditions {
+ if x != nil {
+ return x.ObjectPreconditions
+ }
+ return nil
+}
+
+// Preconditions for a source object of a composition request.
+type ComposeObjectRequest_SourceObject_ObjectPreconditions struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Only perform the composition if the generation of the source object
+ // that would be used matches this value. If this value and a generation
+ // are both specified, they must be the same value or the call will fail.
+ IfGenerationMatch *int64 `protobuf:"varint,1,opt,name=if_generation_match,json=ifGenerationMatch,proto3,oneof" json:"if_generation_match,omitempty"`
+}
+
+func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) Reset() {
+ *x = ComposeObjectRequest_SourceObject_ObjectPreconditions{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[54]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoMessage() {}
+
+func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[54]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use ComposeObjectRequest_SourceObject_ObjectPreconditions.ProtoReflect.Descriptor instead.
+func (*ComposeObjectRequest_SourceObject_ObjectPreconditions) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{12, 0, 0}
+}
+
+func (x *ComposeObjectRequest_SourceObject_ObjectPreconditions) GetIfGenerationMatch() int64 {
+ if x != nil && x.IfGenerationMatch != nil {
+ return *x.IfGenerationMatch
+ }
+ return 0
+}
+
+// Billing properties of a bucket.
+type Bucket_Billing struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // When set to true, Requester Pays is enabled for this bucket.
+ RequesterPays bool `protobuf:"varint,1,opt,name=requester_pays,json=requesterPays,proto3" json:"requester_pays,omitempty"`
+}
+
+func (x *Bucket_Billing) Reset() {
+ *x = Bucket_Billing{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[55]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Billing) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Billing) ProtoMessage() {}
+
+func (x *Bucket_Billing) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[55]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Billing.ProtoReflect.Descriptor instead.
+func (*Bucket_Billing) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 0}
+}
+
+func (x *Bucket_Billing) GetRequesterPays() bool {
+ if x != nil {
+ return x.RequesterPays
+ }
+ return false
+}
+
+// Cross-Origin Response sharing (CORS) properties for a bucket.
+// For more on Cloud Storage and CORS, see
+// https://cloud.google.com/storage/docs/cross-origin.
+// For more on CORS in general, see https://tools.ietf.org/html/rfc6454.
+type Bucket_Cors struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The list of Origins eligible to receive CORS response headers. See
+ // [https://tools.ietf.org/html/rfc6454][RFC 6454] for more on origins.
+ // Note: "*" is permitted in the list of origins, and means "any Origin".
+ Origin []string `protobuf:"bytes,1,rep,name=origin,proto3" json:"origin,omitempty"`
+ // The list of HTTP methods on which to include CORS response headers,
+ // (`GET`, `OPTIONS`, `POST`, etc) Note: "*" is permitted in the list of
+ // methods, and means "any method".
+ Method []string `protobuf:"bytes,2,rep,name=method,proto3" json:"method,omitempty"`
+ // The list of HTTP headers other than the
+ // [https://www.w3.org/TR/cors/#simple-response-header][simple response
+ // headers] to give permission for the user-agent to share across domains.
+ ResponseHeader []string `protobuf:"bytes,3,rep,name=response_header,json=responseHeader,proto3" json:"response_header,omitempty"`
+ // The value, in seconds, to return in the
+ // [https://www.w3.org/TR/cors/#access-control-max-age-response-header][Access-Control-Max-Age
+ // header] used in preflight responses.
+ MaxAgeSeconds int32 `protobuf:"varint,4,opt,name=max_age_seconds,json=maxAgeSeconds,proto3" json:"max_age_seconds,omitempty"`
+}
+
+func (x *Bucket_Cors) Reset() {
+ *x = Bucket_Cors{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[56]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Cors) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Cors) ProtoMessage() {}
+
+func (x *Bucket_Cors) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[56]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Cors.ProtoReflect.Descriptor instead.
+func (*Bucket_Cors) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 1}
+}
+
+func (x *Bucket_Cors) GetOrigin() []string {
+ if x != nil {
+ return x.Origin
+ }
+ return nil
+}
+
+func (x *Bucket_Cors) GetMethod() []string {
+ if x != nil {
+ return x.Method
+ }
+ return nil
+}
+
+func (x *Bucket_Cors) GetResponseHeader() []string {
+ if x != nil {
+ return x.ResponseHeader
+ }
+ return nil
+}
+
+func (x *Bucket_Cors) GetMaxAgeSeconds() int32 {
+ if x != nil {
+ return x.MaxAgeSeconds
+ }
+ return 0
+}
+
+// Encryption properties of a bucket.
+type Bucket_Encryption struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The name of the Cloud KMS key that will be used to encrypt objects
+ // inserted into this bucket, if no encryption method is specified.
+ DefaultKmsKey string `protobuf:"bytes,1,opt,name=default_kms_key,json=defaultKmsKey,proto3" json:"default_kms_key,omitempty"`
+}
+
+func (x *Bucket_Encryption) Reset() {
+ *x = Bucket_Encryption{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[57]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Encryption) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Encryption) ProtoMessage() {}
+
+func (x *Bucket_Encryption) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[57]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Encryption.ProtoReflect.Descriptor instead.
+func (*Bucket_Encryption) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 2}
+}
+
+func (x *Bucket_Encryption) GetDefaultKmsKey() string {
+ if x != nil {
+ return x.DefaultKmsKey
+ }
+ return ""
+}
+
+// Bucket restriction options.
+type Bucket_IamConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Bucket restriction options currently enforced on the bucket.
+ UniformBucketLevelAccess *Bucket_IamConfig_UniformBucketLevelAccess `protobuf:"bytes,1,opt,name=uniform_bucket_level_access,json=uniformBucketLevelAccess,proto3" json:"uniform_bucket_level_access,omitempty"`
+ // Whether IAM will enforce public access prevention.
+ PublicAccessPrevention Bucket_IamConfig_PublicAccessPrevention `protobuf:"varint,2,opt,name=public_access_prevention,json=publicAccessPrevention,proto3,enum=google.storage.v2.Bucket_IamConfig_PublicAccessPrevention" json:"public_access_prevention,omitempty"`
+}
+
+func (x *Bucket_IamConfig) Reset() {
+ *x = Bucket_IamConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[58]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_IamConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_IamConfig) ProtoMessage() {}
+
+func (x *Bucket_IamConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[58]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_IamConfig.ProtoReflect.Descriptor instead.
+func (*Bucket_IamConfig) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 3}
+}
+
+func (x *Bucket_IamConfig) GetUniformBucketLevelAccess() *Bucket_IamConfig_UniformBucketLevelAccess {
+ if x != nil {
+ return x.UniformBucketLevelAccess
+ }
+ return nil
+}
+
+func (x *Bucket_IamConfig) GetPublicAccessPrevention() Bucket_IamConfig_PublicAccessPrevention {
+ if x != nil {
+ return x.PublicAccessPrevention
+ }
+ return Bucket_IamConfig_PUBLIC_ACCESS_PREVENTION_UNSPECIFIED
+}
+
+// Lifecycle properties of a bucket.
+// For more information, see https://cloud.google.com/storage/docs/lifecycle.
+type Bucket_Lifecycle struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // A lifecycle management rule, which is made of an action to take and the
+ // condition(s) under which the action will be taken.
+ Rule []*Bucket_Lifecycle_Rule `protobuf:"bytes,1,rep,name=rule,proto3" json:"rule,omitempty"`
+}
+
+func (x *Bucket_Lifecycle) Reset() {
+ *x = Bucket_Lifecycle{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[59]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Lifecycle) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Lifecycle) ProtoMessage() {}
+
+func (x *Bucket_Lifecycle) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[59]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Lifecycle.ProtoReflect.Descriptor instead.
+func (*Bucket_Lifecycle) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4}
+}
+
+func (x *Bucket_Lifecycle) GetRule() []*Bucket_Lifecycle_Rule {
+ if x != nil {
+ return x.Rule
+ }
+ return nil
+}
+
+// Logging-related properties of a bucket.
+type Bucket_Logging struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The destination bucket where the current bucket's logs should be placed.
+ LogBucket string `protobuf:"bytes,1,opt,name=log_bucket,json=logBucket,proto3" json:"log_bucket,omitempty"`
+ // A prefix for log object names.
+ LogObjectPrefix string `protobuf:"bytes,2,opt,name=log_object_prefix,json=logObjectPrefix,proto3" json:"log_object_prefix,omitempty"`
+}
+
+func (x *Bucket_Logging) Reset() {
+ *x = Bucket_Logging{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[60]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Logging) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Logging) ProtoMessage() {}
+
+func (x *Bucket_Logging) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[60]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Logging.ProtoReflect.Descriptor instead.
+func (*Bucket_Logging) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 5}
+}
+
+func (x *Bucket_Logging) GetLogBucket() string {
+ if x != nil {
+ return x.LogBucket
+ }
+ return ""
+}
+
+func (x *Bucket_Logging) GetLogObjectPrefix() string {
+ if x != nil {
+ return x.LogObjectPrefix
+ }
+ return ""
+}
+
+// Retention policy properties of a bucket.
+type Bucket_RetentionPolicy struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Server-determined value that indicates the time from which policy was
+ // enforced and effective. This value is in
+ // [https://tools.ietf.org/html/rfc3339][RFC 3339] format.
+ EffectiveTime *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=effective_time,json=effectiveTime,proto3" json:"effective_time,omitempty"`
+ // Once locked, an object retention policy cannot be modified.
+ IsLocked bool `protobuf:"varint,2,opt,name=is_locked,json=isLocked,proto3" json:"is_locked,omitempty"`
+ // The duration in seconds that objects need to be retained. Retention
+ // duration must be greater than zero and less than 100 years. Note that
+ // enforcement of retention periods less than a day is not guaranteed. Such
+ // periods should only be used for testing purposes.
+ RetentionPeriod int64 `protobuf:"varint,3,opt,name=retention_period,json=retentionPeriod,proto3" json:"retention_period,omitempty"`
+}
+
+func (x *Bucket_RetentionPolicy) Reset() {
+ *x = Bucket_RetentionPolicy{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[61]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_RetentionPolicy) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_RetentionPolicy) ProtoMessage() {}
+
+func (x *Bucket_RetentionPolicy) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[61]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_RetentionPolicy.ProtoReflect.Descriptor instead.
+func (*Bucket_RetentionPolicy) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 6}
+}
+
+func (x *Bucket_RetentionPolicy) GetEffectiveTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.EffectiveTime
+ }
+ return nil
+}
+
+func (x *Bucket_RetentionPolicy) GetIsLocked() bool {
+ if x != nil {
+ return x.IsLocked
+ }
+ return false
+}
+
+func (x *Bucket_RetentionPolicy) GetRetentionPeriod() int64 {
+ if x != nil {
+ return x.RetentionPeriod
+ }
+ return 0
+}
+
+// Properties of a bucket related to versioning.
+// For more on Cloud Storage versioning, see
+// https://cloud.google.com/storage/docs/object-versioning.
+type Bucket_Versioning struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // While set to true, versioning is fully enabled for this bucket.
+ Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+}
+
+func (x *Bucket_Versioning) Reset() {
+ *x = Bucket_Versioning{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[62]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Versioning) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Versioning) ProtoMessage() {}
+
+func (x *Bucket_Versioning) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[62]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Versioning.ProtoReflect.Descriptor instead.
+func (*Bucket_Versioning) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 7}
+}
+
+func (x *Bucket_Versioning) GetEnabled() bool {
+ if x != nil {
+ return x.Enabled
+ }
+ return false
+}
+
+// Properties of a bucket related to accessing the contents as a static
+// website. For more on hosting a static website via Cloud Storage, see
+// https://cloud.google.com/storage/docs/hosting-static-website.
+type Bucket_Website struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // If the requested object path is missing, the service will ensure the path
+ // has a trailing '/', append this suffix, and attempt to retrieve the
+ // resulting object. This allows the creation of `index.html`
+ // objects to represent directory pages.
+ MainPageSuffix string `protobuf:"bytes,1,opt,name=main_page_suffix,json=mainPageSuffix,proto3" json:"main_page_suffix,omitempty"`
+ // If the requested object path is missing, and any
+ // `mainPageSuffix` object is missing, if applicable, the service
+ // will return the named object from this bucket as the content for a
+ // [https://tools.ietf.org/html/rfc7231#section-6.5.4][404 Not Found]
+ // result.
+ NotFoundPage string `protobuf:"bytes,2,opt,name=not_found_page,json=notFoundPage,proto3" json:"not_found_page,omitempty"`
+}
+
+func (x *Bucket_Website) Reset() {
+ *x = Bucket_Website{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[63]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Website) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Website) ProtoMessage() {}
+
+func (x *Bucket_Website) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[63]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Website.ProtoReflect.Descriptor instead.
+func (*Bucket_Website) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 8}
+}
+
+func (x *Bucket_Website) GetMainPageSuffix() string {
+ if x != nil {
+ return x.MainPageSuffix
+ }
+ return ""
+}
+
+func (x *Bucket_Website) GetNotFoundPage() string {
+ if x != nil {
+ return x.NotFoundPage
+ }
+ return ""
+}
+
+// Configuration for Custom Dual Regions. It should specify precisely two
+// eligible regions within the same Multiregion.
+type Bucket_CustomPlacementConfig struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // List of locations to use for data placement.
+ DataLocations []string `protobuf:"bytes,1,rep,name=data_locations,json=dataLocations,proto3" json:"data_locations,omitempty"`
+}
+
+func (x *Bucket_CustomPlacementConfig) Reset() {
+ *x = Bucket_CustomPlacementConfig{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[64]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_CustomPlacementConfig) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_CustomPlacementConfig) ProtoMessage() {}
+
+func (x *Bucket_CustomPlacementConfig) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[64]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_CustomPlacementConfig.ProtoReflect.Descriptor instead.
+func (*Bucket_CustomPlacementConfig) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 9}
+}
+
+func (x *Bucket_CustomPlacementConfig) GetDataLocations() []string {
+ if x != nil {
+ return x.DataLocations
+ }
+ return nil
+}
+
+// Settings for Uniform Bucket level access.
+// See https://cloud.google.com/storage/docs/uniform-bucket-level-access.
+type Bucket_IamConfig_UniformBucketLevelAccess struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // If set, access checks only use bucket-level IAM policies or above.
+ Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
+ // The deadline time for changing
+ // `iamConfig.uniformBucketLevelAccess.enabled` from
+ // true to false in [RFC 3339](https://tools.ietf.org/html/rfc3339).
+ // Mutable until the specified deadline is reached, but not afterward.
+ LockTime *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=lock_time,json=lockTime,proto3" json:"lock_time,omitempty"`
+}
+
+func (x *Bucket_IamConfig_UniformBucketLevelAccess) Reset() {
+ *x = Bucket_IamConfig_UniformBucketLevelAccess{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[66]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_IamConfig_UniformBucketLevelAccess) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_IamConfig_UniformBucketLevelAccess) ProtoMessage() {}
+
+func (x *Bucket_IamConfig_UniformBucketLevelAccess) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[66]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_IamConfig_UniformBucketLevelAccess.ProtoReflect.Descriptor instead.
+func (*Bucket_IamConfig_UniformBucketLevelAccess) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 3, 0}
+}
+
+func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetEnabled() bool {
+ if x != nil {
+ return x.Enabled
+ }
+ return false
+}
+
+func (x *Bucket_IamConfig_UniformBucketLevelAccess) GetLockTime() *timestamppb.Timestamp {
+ if x != nil {
+ return x.LockTime
+ }
+ return nil
+}
+
+// A lifecycle Rule, combining an action to take on an object and a
+// condition which will trigger that action.
+type Bucket_Lifecycle_Rule struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // The action to take.
+ Action *Bucket_Lifecycle_Rule_Action `protobuf:"bytes,1,opt,name=action,proto3" json:"action,omitempty"`
+ // The condition(s) under which the action will be taken.
+ Condition *Bucket_Lifecycle_Rule_Condition `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"`
+}
+
+func (x *Bucket_Lifecycle_Rule) Reset() {
+ *x = Bucket_Lifecycle_Rule{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[67]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Lifecycle_Rule) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Lifecycle_Rule) ProtoMessage() {}
+
+func (x *Bucket_Lifecycle_Rule) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[67]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Lifecycle_Rule.ProtoReflect.Descriptor instead.
+func (*Bucket_Lifecycle_Rule) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0}
+}
+
+func (x *Bucket_Lifecycle_Rule) GetAction() *Bucket_Lifecycle_Rule_Action {
+ if x != nil {
+ return x.Action
+ }
+ return nil
+}
+
+func (x *Bucket_Lifecycle_Rule) GetCondition() *Bucket_Lifecycle_Rule_Condition {
+ if x != nil {
+ return x.Condition
+ }
+ return nil
+}
+
+// An action to take on an object.
+type Bucket_Lifecycle_Rule_Action struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Type of the action. Currently, only `Delete`, `SetStorageClass`, and
+ // `AbortIncompleteMultipartUpload` are supported.
+ Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
+ // Target storage class. Required iff the type of the action is
+ // SetStorageClass.
+ StorageClass string `protobuf:"bytes,2,opt,name=storage_class,json=storageClass,proto3" json:"storage_class,omitempty"`
+}
+
+func (x *Bucket_Lifecycle_Rule_Action) Reset() {
+ *x = Bucket_Lifecycle_Rule_Action{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[68]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Lifecycle_Rule_Action) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Lifecycle_Rule_Action) ProtoMessage() {}
+
+func (x *Bucket_Lifecycle_Rule_Action) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[68]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Lifecycle_Rule_Action.ProtoReflect.Descriptor instead.
+func (*Bucket_Lifecycle_Rule_Action) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0, 0}
+}
+
+func (x *Bucket_Lifecycle_Rule_Action) GetType() string {
+ if x != nil {
+ return x.Type
+ }
+ return ""
+}
+
+func (x *Bucket_Lifecycle_Rule_Action) GetStorageClass() string {
+ if x != nil {
+ return x.StorageClass
+ }
+ return ""
+}
+
+// A condition of an object which triggers some action.
+type Bucket_Lifecycle_Rule_Condition struct {
+ state protoimpl.MessageState
+ sizeCache protoimpl.SizeCache
+ unknownFields protoimpl.UnknownFields
+
+ // Age of an object (in days). This condition is satisfied when an
+ // object reaches the specified age.
+ // A value of 0 indicates that all objects immediately match this
+ // condition.
+ AgeDays *int32 `protobuf:"varint,1,opt,name=age_days,json=ageDays,proto3,oneof" json:"age_days,omitempty"`
+ // This condition is satisfied when an object is created before midnight
+ // of the specified date in UTC.
+ CreatedBefore *date.Date `protobuf:"bytes,2,opt,name=created_before,json=createdBefore,proto3" json:"created_before,omitempty"`
+ // Relevant only for versioned objects. If the value is
+ // `true`, this condition matches live objects; if the value
+ // is `false`, it matches archived objects.
+ IsLive *bool `protobuf:"varint,3,opt,name=is_live,json=isLive,proto3,oneof" json:"is_live,omitempty"`
+ // Relevant only for versioned objects. If the value is N, this
+ // condition is satisfied when there are at least N versions (including
+ // the live version) newer than this version of the object.
+ NumNewerVersions *int32 `protobuf:"varint,4,opt,name=num_newer_versions,json=numNewerVersions,proto3,oneof" json:"num_newer_versions,omitempty"`
+ // Objects having any of the storage classes specified by this condition
+ // will be matched. Values include `MULTI_REGIONAL`, `REGIONAL`,
+ // `NEARLINE`, `COLDLINE`, `STANDARD`, and
+ // `DURABLE_REDUCED_AVAILABILITY`.
+ MatchesStorageClass []string `protobuf:"bytes,5,rep,name=matches_storage_class,json=matchesStorageClass,proto3" json:"matches_storage_class,omitempty"`
+ // Number of days that have elapsed since the custom timestamp set on an
+ // object.
+ // The value of the field must be a nonnegative integer.
+ DaysSinceCustomTime *int32 `protobuf:"varint,7,opt,name=days_since_custom_time,json=daysSinceCustomTime,proto3,oneof" json:"days_since_custom_time,omitempty"`
+ // An object matches this condition if the custom timestamp set on the
+ // object is before the specified date in UTC.
+ CustomTimeBefore *date.Date `protobuf:"bytes,8,opt,name=custom_time_before,json=customTimeBefore,proto3" json:"custom_time_before,omitempty"`
+ // This condition is relevant only for versioned objects. An object
+ // version satisfies this condition only if these many days have been
+ // passed since it became noncurrent. The value of the field must be a
+ // nonnegative integer. If it's zero, the object version will become
+ // eligible for Lifecycle action as soon as it becomes noncurrent.
+ DaysSinceNoncurrentTime *int32 `protobuf:"varint,9,opt,name=days_since_noncurrent_time,json=daysSinceNoncurrentTime,proto3,oneof" json:"days_since_noncurrent_time,omitempty"`
+ // This condition is relevant only for versioned objects. An object
+ // version satisfies this condition only if it became noncurrent before
+ // the specified date in UTC.
+ NoncurrentTimeBefore *date.Date `protobuf:"bytes,10,opt,name=noncurrent_time_before,json=noncurrentTimeBefore,proto3" json:"noncurrent_time_before,omitempty"`
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) Reset() {
+ *x = Bucket_Lifecycle_Rule_Condition{}
+ if protoimpl.UnsafeEnabled {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[69]
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ ms.StoreMessageInfo(mi)
+ }
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) String() string {
+ return protoimpl.X.MessageStringOf(x)
+}
+
+func (*Bucket_Lifecycle_Rule_Condition) ProtoMessage() {}
+
+func (x *Bucket_Lifecycle_Rule_Condition) ProtoReflect() protoreflect.Message {
+ mi := &file_google_storage_v2_storage_proto_msgTypes[69]
+ if protoimpl.UnsafeEnabled && x != nil {
+ ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
+ if ms.LoadMessageInfo() == nil {
+ ms.StoreMessageInfo(mi)
+ }
+ return ms
+ }
+ return mi.MessageOf(x)
+}
+
+// Deprecated: Use Bucket_Lifecycle_Rule_Condition.ProtoReflect.Descriptor instead.
+func (*Bucket_Lifecycle_Rule_Condition) Descriptor() ([]byte, []int) {
+ return file_google_storage_v2_storage_proto_rawDescGZIP(), []int{39, 4, 0, 1}
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetAgeDays() int32 {
+ if x != nil && x.AgeDays != nil {
+ return *x.AgeDays
+ }
+ return 0
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetCreatedBefore() *date.Date {
+ if x != nil {
+ return x.CreatedBefore
+ }
+ return nil
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetIsLive() bool {
+ if x != nil && x.IsLive != nil {
+ return *x.IsLive
+ }
+ return false
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetNumNewerVersions() int32 {
+ if x != nil && x.NumNewerVersions != nil {
+ return *x.NumNewerVersions
+ }
+ return 0
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetMatchesStorageClass() []string {
+ if x != nil {
+ return x.MatchesStorageClass
+ }
+ return nil
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceCustomTime() int32 {
+ if x != nil && x.DaysSinceCustomTime != nil {
+ return *x.DaysSinceCustomTime
+ }
+ return 0
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetCustomTimeBefore() *date.Date {
+ if x != nil {
+ return x.CustomTimeBefore
+ }
+ return nil
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetDaysSinceNoncurrentTime() int32 {
+ if x != nil && x.DaysSinceNoncurrentTime != nil {
+ return *x.DaysSinceNoncurrentTime
+ }
+ return 0
+}
+
+func (x *Bucket_Lifecycle_Rule_Condition) GetNoncurrentTimeBefore() *date.Date {
+ if x != nil {
+ return x.NoncurrentTimeBefore
+ }
+ return nil
+}
+
+var File_google_storage_v2_storage_proto protoreflect.FileDescriptor
+
+var file_google_storage_v2_storage_proto_rawDesc = []byte{
+ 0x0a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2f, 0x76, 0x32, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x12, 0x11, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
0x65, 0x2e, 0x76, 0x32, 0x1a, 0x17, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69,
0x2f, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, 0x6c, 0x64, 0x5f,
@@ -3520,491 +6610,1353 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x16, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x74, 0x79,
- 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x9c, 0x06,
- 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73,
- 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66,
- 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d,
- 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69,
- 0x6d, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03,
- 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
- 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63,
- 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
- 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
- 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
- 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
- 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74,
- 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f,
- 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f,
- 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
- 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
- 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
- 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
- 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48,
- 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16,
- 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
- 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e,
- 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c,
- 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a,
- 0x12, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f,
- 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d,
- 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74,
- 0x61, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61,
- 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65,
- 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73,
- 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
- 0x73, 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e,
- 0x67, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e,
- 0x74, 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65,
- 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf9,
- 0x03, 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
- 0x65, 0x63, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x70, 0x72, 0x65,
- 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65,
- 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a,
- 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
- 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01,
- 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
- 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f,
+ 0x70, 0x65, 0x2f, 0x64, 0x61, 0x74, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xe9, 0x02,
+ 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x00, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a,
+ 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01,
+ 0x28, 0x03, 0x48, 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
+ 0x01, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x1a, 0x0a,
+ 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66,
+ 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xb2, 0x03, 0x0a, 0x10, 0x47, 0x65,
+ 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41,
+ 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f,
0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
- 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x15, 0x69, 0x66,
0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61,
0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74,
0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f,
- 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x18, 0x69,
0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
- 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69,
- 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
- 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a,
- 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
- 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69,
- 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd4, 0x04, 0x0a, 0x12, 0x57,
- 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
- 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64,
- 0x12, 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d,
+ 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c,
+ 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x02, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73,
+ 0x6b, 0x88, 0x01, 0x01, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xf6,
+ 0x02, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b,
+ 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e,
+ 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72,
+ 0x65, 0x6e, 0x74, 0x12, 0x36, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x42, 0x03,
+ 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
+ 0xe0, 0x41, 0x02, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a,
+ 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66,
+ 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70,
+ 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x69, 0x0a, 0x1d,
+ 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75,
+ 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e,
+ 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x1a, 0x70, 0x72, 0x65,
+ 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x22, 0xdd, 0x02, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4b,
+ 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
+ 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70,
+ 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08,
+ 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61,
+ 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69,
+ 0x78, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x12,
+ 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x05, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00,
+ 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x5a, 0x0a,
+ 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0x72, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x33,
+ 0x0a, 0x07, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x07, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65,
+ 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65,
+ 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf5, 0x01, 0x0a, 0x20,
+ 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12,
+ 0x36, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03,
+ 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x22, 0xd8, 0x04, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48,
- 0x00, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
- 0x65, 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73,
- 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77,
- 0x72, 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x68,
- 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75,
- 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63,
- 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18,
- 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
- 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69,
- 0x6e, 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x6d, 0x0a,
- 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15,
- 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70,
- 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x3b,
+ 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x00, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x01, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x4d, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63,
+ 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64,
+ 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x6c, 0x52,
+ 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x69,
+ 0x0a, 0x1d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x64, 0x65, 0x66,
+ 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66,
+ 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x1a, 0x70,
+ 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
+ 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61,
+ 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e,
+ 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0x5c,
+ 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3f, 0x0a, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2b, 0xe0, 0x41, 0x02, 0xfa, 0x41,
+ 0x25, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x53, 0x0a, 0x16,
+ 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x39, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x04, 0x6e, 0x61, 0x6d,
+ 0x65, 0x22, 0xa4, 0x01, 0x0a, 0x19, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69,
+ 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x48,
+ 0x0a, 0x0c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x69,
+ 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x95, 0x01, 0x0a, 0x18, 0x4c, 0x69, 0x73,
+ 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61,
+ 0x72, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a,
+ 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a,
+ 0x65, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18,
+ 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x22, 0x8a, 0x01, 0x0a, 0x19, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x45,
+ 0x0a, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18,
+ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0d, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
+ 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
+ 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf8, 0x07,
+ 0x0a, 0x14, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
- 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73,
- 0x74, 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74,
- 0x61, 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x63, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x03, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x53, 0x69,
- 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48,
- 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77,
- 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0x86, 0x02, 0x0a, 0x17,
- 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61,
- 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
- 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x64, 0x65, 0x73,
+ 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x5b, 0x0a, 0x0e, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x34, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x64, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f,
+ 0x61, 0x63, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72,
+ 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63,
+ 0x6c, 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72,
+ 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69,
+ 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
+ 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28,
+ 0x03, 0x48, 0x01, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a,
+ 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26,
+ 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79,
+ 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x6d,
+ 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a,
+ 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f,
+ 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x1a, 0xa8, 0x02, 0x0a, 0x0c, 0x53, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61,
+ 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x04, 0x6e,
+ 0x61, 0x6d, 0x65, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x7b, 0x0a, 0x14, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x48, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72,
+ 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x13, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73,
+ 0x1a, 0x62, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x63, 0x6f, 0x6e,
+ 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14,
+ 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18,
+ 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xb9, 0x05, 0x0a, 0x13, 0x44, 0x65, 0x6c,
+ 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a,
+ 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70,
+ 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75,
+ 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17,
+ 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
+ 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66,
+ 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d,
0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32,
0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
- 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72,
- 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x5f, 0x73,
- 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x0d, 0x63, 0x6f, 0x6d,
- 0x6d, 0x69, 0x74, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65,
- 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67,
+ 0x72, 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18,
+ 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e,
+ 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f,
+ 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x22, 0x9c, 0x06, 0x0a, 0x11, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x62, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x72, 0x65,
+ 0x61, 0x64, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x0a, 0x72, 0x65, 0x61, 0x64, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x72,
+ 0x65, 0x61, 0x64, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x52,
+ 0x09, 0x72, 0x65, 0x61, 0x64, 0x4c, 0x69, 0x6d, 0x69, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15,
+ 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52,
+ 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f,
+ 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65,
+ 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04, 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61,
+ 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a,
+ 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66,
+ 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74,
+ 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d,
+ 0x61, 0x73, 0x6b, 0x22, 0xe5, 0x05, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x12, 0x1e, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68,
+ 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01,
+ 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63,
+ 0x68, 0x88, 0x01, 0x01, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
+ 0x3c, 0x0a, 0x09, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x0a, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
+ 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x04,
+ 0x52, 0x08, 0x72, 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a,
+ 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a,
+ 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x0c, 0x0a,
+ 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x22, 0xaf, 0x02, 0x0a, 0x12,
+ 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x10, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65,
+ 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67,
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00, 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75,
- 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x22, 0xb7, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73,
- 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65,
- 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65,
- 0x63, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70,
- 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d,
- 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
- 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
- 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b,
+ 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61,
+ 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74,
+ 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63,
+ 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52,
+ 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73,
+ 0x12, 0x44, 0x0a, 0x0d, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x72, 0x61, 0x6e, 0x67,
+ 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x52, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
+ 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x35, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x22, 0xf9, 0x03,
+ 0x0a, 0x0f, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65,
+ 0x63, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x0e, 0x70, 0x72, 0x65, 0x64,
+ 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e,
0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65,
- 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
- 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x3a, 0x0a,
- 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57,
- 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x1b, 0x0a, 0x09,
- 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f,
- 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
- 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e,
- 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74,
- 0x65, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
- 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b,
- 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73,
- 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28,
- 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79,
- 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66,
+ 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a, 0x0a, 0x17,
+ 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
+ 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69, 0x66, 0x4d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74,
+ 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d,
+ 0x61, 0x74, 0x63, 0x68, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18, 0x69, 0x66,
+ 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f,
+ 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a,
+ 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66,
+ 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22, 0xd4, 0x04, 0x0a, 0x12, 0x57, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x12, 0x1d, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x12,
+ 0x50, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f,
+ 0x73, 0x70, 0x65, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x48, 0x00,
+ 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x53, 0x70, 0x65,
+ 0x63, 0x12, 0x26, 0x0a, 0x0c, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0b, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x12, 0x4f, 0x0a, 0x10, 0x63, 0x68, 0x65,
+ 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x5f, 0x64, 0x61, 0x74, 0x61, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d,
+ 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x48, 0x01, 0x52, 0x0f, 0x63, 0x68, 0x65, 0x63, 0x6b,
+ 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x4d, 0x0a, 0x10, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x06,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43,
+ 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x52, 0x0f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x21, 0x0a, 0x0c, 0x66, 0x69, 0x6e,
+ 0x69, 0x73, 0x68, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x08, 0x52,
+ 0x0b, 0x66, 0x69, 0x6e, 0x69, 0x73, 0x68, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x6d, 0x0a, 0x1c,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
- 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0c, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d,
- 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
- 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
- 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x75,
- 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53,
- 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22,
- 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41,
- 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44,
- 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14, 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43,
- 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12,
- 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55,
- 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a,
- 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45,
- 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80, 0xc0, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f,
- 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f,
- 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53,
- 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a, 0x25, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f,
- 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44,
- 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12,
- 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45,
- 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a,
- 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41,
- 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54,
- 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54,
- 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01, 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f,
- 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49,
- 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12,
- 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45,
- 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45,
- 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a, 0x22, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46,
- 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41,
- 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d,
- 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f,
- 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45,
- 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33,
- 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49,
- 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42,
- 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48,
- 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a, 0x18, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c,
- 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52, 0x49, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10,
- 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f,
- 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48,
- 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53,
- 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53,
- 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a, 0x29, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43,
- 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45,
- 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54,
- 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a, 0x1a, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b,
- 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58, 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59,
- 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10, 0x01, 0x22, 0xfb, 0x1b, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03,
- 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a,
- 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33,
- 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73,
- 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e,
- 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04,
- 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67,
- 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63,
- 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05,
- 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28,
- 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
- 0x54, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f,
- 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c,
- 0x18, 0x08, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65,
- 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03,
- 0x61, 0x63, 0x6c, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f,
- 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
- 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66,
- 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c,
- 0x65, 0x52, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b,
- 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0,
- 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32,
- 0x0a, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
- 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f,
- 0x72, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d,
- 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
- 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
- 0x54, 0x69, 0x6d, 0x65, 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64,
- 0x18, 0x0e, 0x20, 0x01, 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45,
- 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a,
- 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e,
+ 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0f, 0x0a, 0x0d, 0x66, 0x69, 0x72, 0x73, 0x74,
+ 0x5f, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x42, 0x06, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61,
+ 0x22, 0x87, 0x01, 0x0a, 0x13, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73,
+ 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a,
+ 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00,
+ 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xa5, 0x04, 0x0a, 0x12, 0x4c,
+ 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x12, 0x3d, 0x0a, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x25, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x1f, 0x12, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x12, 0x1b, 0x0a, 0x09, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x05, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x1d, 0x0a,
+ 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1c, 0x0a, 0x09,
+ 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x09, 0x64, 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x3c, 0x0a, 0x1a, 0x69, 0x6e,
+ 0x63, 0x6c, 0x75, 0x64, 0x65, 0x5f, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x5f, 0x64,
+ 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x18,
+ 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x54, 0x72, 0x61, 0x69, 0x6c, 0x69, 0x6e, 0x67, 0x44,
+ 0x65, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x70, 0x72, 0x65, 0x66,
+ 0x69, 0x78, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78,
+ 0x12, 0x1a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x07, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x3c, 0x0a, 0x09,
+ 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x48, 0x00, 0x52, 0x08, 0x72,
+ 0x65, 0x61, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x88, 0x01, 0x01, 0x12, 0x2f, 0x0a, 0x13, 0x6c, 0x65,
+ 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x73, 0x74, 0x61, 0x72,
+ 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67,
+ 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x53, 0x74, 0x61, 0x72, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x6c,
+ 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72, 0x61, 0x70, 0x68, 0x69, 0x63, 0x5f, 0x65, 0x6e, 0x64,
+ 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x10, 0x6c, 0x65, 0x78, 0x69, 0x63, 0x6f, 0x67, 0x72,
+ 0x61, 0x70, 0x68, 0x69, 0x63, 0x45, 0x6e, 0x64, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
+ 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x42, 0x0c, 0x0a, 0x0a, 0x5f, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6d, 0x61,
+ 0x73, 0x6b, 0x22, 0x86, 0x02, 0x0a, 0x17, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20,
+ 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64,
+ 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12,
+ 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x8c, 0x01, 0x0a, 0x18,
+ 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x0e, 0x70, 0x65, 0x72, 0x73,
+ 0x69, 0x73, 0x74, 0x65, 0x64, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x00, 0x52, 0x0d, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65, 0x64, 0x53, 0x69, 0x7a,
+ 0x65, 0x12, 0x37, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x48, 0x00,
+ 0x52, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x42, 0x0e, 0x0a, 0x0c, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x22, 0xc2, 0x0e, 0x0a, 0x14, 0x52,
+ 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x2e, 0x0a, 0x10, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x18, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x05, 0x52, 0x0f, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x12, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x19, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x11, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a, 0x13, 0x64, 0x65, 0x73,
+ 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79,
+ 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f,
+ 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x11,
+ 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x6d, 0x73, 0x4b, 0x65,
+ 0x79, 0x12, 0x3b, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28,
+ 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x28, 0x0a, 0x0d, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42,
+ 0x03, 0xe0, 0x41, 0x02, 0x52, 0x0c, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x11, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x52, 0x10, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x23, 0x0a, 0x0d, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54,
+ 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x64, 0x0a, 0x1a, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61,
+ 0x63, 0x6c, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65,
+ 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c,
+ 0x52, 0x18, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x72, 0x65,
+ 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63,
+ 0x68, 0x18, 0x07, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12,
+ 0x3a, 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x08, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69,
+ 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x09, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15,
+ 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52,
+ 0x18, 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x40, 0x0a, 0x1a,
+ 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x03,
+ 0x48, 0x04, 0x52, 0x17, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x47,
+ 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x18, 0x0c, 0x20, 0x01, 0x28, 0x03, 0x48, 0x05, 0x52, 0x1a, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x48, 0x0a, 0x1e, 0x69, 0x66, 0x5f, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x06, 0x52, 0x1b, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01,
+ 0x01, 0x12, 0x4f, 0x0a, 0x22, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x03, 0x48, 0x07, 0x52,
+ 0x1e, 0x69, 0x66, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
+ 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88,
+ 0x01, 0x01, 0x12, 0x3e, 0x0a, 0x1c, 0x6d, 0x61, 0x78, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x5f,
+ 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x5f, 0x63, 0x61,
+ 0x6c, 0x6c, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x03, 0x52, 0x18, 0x6d, 0x61, 0x78, 0x42, 0x79, 0x74,
+ 0x65, 0x73, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x50, 0x65, 0x72, 0x43, 0x61,
+ 0x6c, 0x6c, 0x12, 0x47, 0x0a, 0x20, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67,
+ 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x10, 0x20, 0x01, 0x28, 0x09, 0x52, 0x1d, 0x63, 0x6f,
+ 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x46, 0x0a, 0x20, 0x63,
+ 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18,
+ 0x15, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x1c, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x42, 0x79,
+ 0x74, 0x65, 0x73, 0x12, 0x53, 0x0a, 0x27, 0x63, 0x6f, 0x70, 0x79, 0x5f, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65,
+ 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x16,
+ 0x20, 0x01, 0x28, 0x0c, 0x52, 0x22, 0x63, 0x6f, 0x70, 0x79, 0x53, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61,
+ 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73,
+ 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13,
+ 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f,
+ 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f,
+ 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d,
+ 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67,
+ 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61,
+ 0x74, 0x63, 0x68, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65,
+ 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x21, 0x0a, 0x1f, 0x5f, 0x69, 0x66, 0x5f, 0x73, 0x6f, 0x75,
+ 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x25, 0x0a, 0x23, 0x5f, 0x69, 0x66, 0x5f,
+ 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x22,
+ 0xd6, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f,
+ 0x6e, 0x73, 0x65, 0x12, 0x32, 0x0a, 0x15, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x62, 0x79, 0x74,
+ 0x65, 0x73, 0x5f, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x03, 0x52, 0x13, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x42, 0x79, 0x74, 0x65, 0x73, 0x52, 0x65,
+ 0x77, 0x72, 0x69, 0x74, 0x74, 0x65, 0x6e, 0x12, 0x1f, 0x0a, 0x0b, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x6f, 0x6e, 0x65,
+ 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x52, 0x04, 0x64, 0x6f, 0x6e, 0x65, 0x12, 0x23, 0x0a, 0x0d,
+ 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x04, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x0c, 0x72, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x12, 0x35, 0x0a, 0x08, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x18, 0x05, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x08,
+ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0xb7, 0x02, 0x0a, 0x1a, 0x53, 0x74, 0x61,
+ 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4e, 0x0a, 0x11, 0x77, 0x72, 0x69, 0x74, 0x65,
+ 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x73, 0x70, 0x65, 0x63, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x52, 0x0f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x53, 0x70, 0x65, 0x63, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45,
- 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07,
- 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e,
+ 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x22, 0x3a, 0x0a, 0x1b, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d,
+ 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x49, 0x64, 0x22, 0x81,
+ 0x06, 0x0a, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x31, 0x0a, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x06, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x33, 0x0a, 0x13, 0x69, 0x66, 0x5f,
+ 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x11, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3a,
+ 0x0a, 0x17, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48,
+ 0x01, 0x52, 0x14, 0x69, 0x66, 0x47, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4e,
+ 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x3b, 0x0a, 0x17, 0x69, 0x66,
+ 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x48, 0x02, 0x52, 0x15, 0x69,
+ 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d,
+ 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x42, 0x0a, 0x1b, 0x69, 0x66, 0x5f, 0x6d, 0x65,
+ 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x18, 0x05, 0x20, 0x01, 0x28, 0x03, 0x48, 0x03, 0x52, 0x18,
+ 0x69, 0x66, 0x4d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x4e, 0x6f, 0x74, 0x4d, 0x61, 0x74, 0x63, 0x68, 0x88, 0x01, 0x01, 0x12, 0x4d, 0x0a, 0x0e, 0x70,
+ 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x06, 0x20,
+ 0x01, 0x28, 0x0e, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e,
+ 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x52, 0x0d, 0x70, 0x72, 0x65,
+ 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x41, 0x63, 0x6c, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
+ 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
+ 0x66, 0x2e, 0x46, 0x69, 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x4d, 0x61, 0x73, 0x6b, 0x12, 0x6d, 0x0a, 0x1c, 0x63, 0x6f, 0x6d, 0x6d, 0x6f,
+ 0x6e, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65,
- 0x52, 0x07, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72,
- 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e,
+ 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x19, 0x63, 0x6f, 0x6d,
+ 0x6d, 0x6f, 0x6e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18,
+ 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x42, 0x16, 0x0a, 0x14, 0x5f, 0x69, 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69,
+ 0x66, 0x5f, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74,
+ 0x5f, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x42, 0x1a, 0x0a, 0x18, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65,
+ 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x42, 0x1e, 0x0a, 0x1c, 0x5f, 0x69, 0x66, 0x5f, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6e, 0x6f, 0x74, 0x5f, 0x6d, 0x61, 0x74,
+ 0x63, 0x68, 0x22, 0xc5, 0x01, 0x0a, 0x18, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
+ 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72,
+ 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a,
+ 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e,
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
- 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
- 0x69, 0x6e, 0x67, 0x52, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12,
- 0x3b, 0x0a, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67,
- 0x69, 0x6e, 0x67, 0x52, 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05,
- 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f,
+ 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50,
+ 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0xfa, 0x01, 0x0a, 0x14, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01,
+ 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67,
+ 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
+ 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41,
+ 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x5a, 0x0a, 0x15, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x81, 0x01, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
+ 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d,
+ 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x12, 0x28, 0x0a, 0x10, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, 0x5f, 0x6b, 0x65, 0x79, 0x5f,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x73, 0x65, 0x63,
+ 0x72, 0x65, 0x74, 0x4b, 0x65, 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xe3, 0x01, 0x0a, 0x14,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x08, 0x61, 0x63,
+ 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63,
+ 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a,
+ 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61,
+ 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70, 0x72,
+ 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f,
+ 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x18, 0x03,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52, 0x13, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x22, 0xe0, 0x01, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52,
+ 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa,
+ 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63,
+ 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
+ 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52,
+ 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f, 0x6d, 0x6d,
+ 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x52,
+ 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x22, 0xf5, 0x02, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x4d, 0x0a, 0x07,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0,
+ 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f,
+ 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x20, 0x0a, 0x09, 0x70,
+ 0x61, 0x67, 0x65, 0x5f, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03,
+ 0xe0, 0x41, 0x01, 0x52, 0x08, 0x70, 0x61, 0x67, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x12, 0x22, 0x0a,
+ 0x0a, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x09, 0x70, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65,
+ 0x6e, 0x12, 0x37, 0x0a, 0x15, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
+ 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63,
+ 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x2f, 0x0a, 0x11, 0x73, 0x68,
+ 0x6f, 0x77, 0x5f, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x6b, 0x65, 0x79, 0x73, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x08, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0f, 0x73, 0x68, 0x6f, 0x77,
+ 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x5f, 0x0a, 0x15, 0x63,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61,
+ 0x72, 0x61, 0x6d, 0x73, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43,
+ 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61,
+ 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x22, 0x7f, 0x0a, 0x14,
+ 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x3f, 0x0a, 0x09, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79,
+ 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63,
+ 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x52, 0x08, 0x68, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61,
+ 0x67, 0x65, 0x5f, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d,
+ 0x6e, 0x65, 0x78, 0x74, 0x50, 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0xf3, 0x01,
+ 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x42, 0x0a, 0x08, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b,
+ 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x42, 0x03, 0xe0, 0x41,
+ 0x02, 0x52, 0x07, 0x68, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x15, 0x63, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x5f, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x5f, 0x70, 0x61, 0x72,
+ 0x61, 0x6d, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
+ 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x52, 0x13, 0x63, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x46, 0x69,
+ 0x65, 0x6c, 0x64, 0x4d, 0x61, 0x73, 0x6b, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4d,
+ 0x61, 0x73, 0x6b, 0x22, 0xbf, 0x01, 0x0a, 0x19, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d,
+ 0x73, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f,
+ 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72,
+ 0x69, 0x74, 0x68, 0x6d, 0x12, 0x30, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20, 0x01,
+ 0x28, 0x0c, 0x52, 0x12, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65,
+ 0x79, 0x42, 0x79, 0x74, 0x65, 0x73, 0x12, 0x3d, 0x0a, 0x1b, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70,
+ 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f,
+ 0x62, 0x79, 0x74, 0x65, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x18, 0x65, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x4b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36,
+ 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0x6d, 0x0a, 0x13, 0x43, 0x6f, 0x6d, 0x6d, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x50, 0x61, 0x72, 0x61, 0x6d, 0x73, 0x12, 0x56, 0x0a, 0x0c,
+ 0x75, 0x73, 0x65, 0x72, 0x5f, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x02, 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75,
+ 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
+ 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x0b, 0x75, 0x73, 0x65, 0x72, 0x50, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x22, 0xca, 0x05, 0x0a, 0x10, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
+ 0x43, 0x6f, 0x6e, 0x73, 0x74, 0x61, 0x6e, 0x74, 0x73, 0x22, 0xb5, 0x05, 0x0a, 0x06, 0x56, 0x61,
+ 0x6c, 0x75, 0x65, 0x73, 0x12, 0x16, 0x0a, 0x12, 0x56, 0x41, 0x4c, 0x55, 0x45, 0x53, 0x5f, 0x55,
+ 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x1b, 0x0a, 0x14,
+ 0x4d, 0x41, 0x58, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42,
+ 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x1c, 0x0a, 0x15, 0x4d, 0x41, 0x58,
+ 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45, 0x5f, 0x43, 0x48, 0x55, 0x4e, 0x4b, 0x5f, 0x42, 0x59, 0x54,
+ 0x45, 0x53, 0x10, 0x80, 0x80, 0x80, 0x01, 0x12, 0x19, 0x0a, 0x12, 0x4d, 0x41, 0x58, 0x5f, 0x4f,
+ 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x4d, 0x42, 0x10, 0x80, 0x80,
+ 0xc0, 0x02, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f,
+ 0x4e, 0x41, 0x4d, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x08, 0x12, 0x2a, 0x0a,
+ 0x25, 0x4d, 0x41, 0x58, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41,
+ 0x44, 0x41, 0x54, 0x41, 0x5f, 0x46, 0x49, 0x45, 0x4c, 0x44, 0x5f, 0x56, 0x41, 0x4c, 0x55, 0x45,
+ 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x20, 0x12, 0x29, 0x0a, 0x24, 0x4d, 0x41, 0x58,
+ 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41,
+ 0x5f, 0x54, 0x4f, 0x54, 0x41, 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45,
+ 0x53, 0x10, 0x80, 0x40, 0x12, 0x2a, 0x0a, 0x24, 0x4d, 0x41, 0x58, 0x5f, 0x42, 0x55, 0x43, 0x4b,
+ 0x45, 0x54, 0x5f, 0x4d, 0x45, 0x54, 0x41, 0x44, 0x41, 0x54, 0x41, 0x5f, 0x54, 0x4f, 0x54, 0x41,
+ 0x4c, 0x5f, 0x53, 0x49, 0x5a, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0xa0, 0x01,
+ 0x12, 0x27, 0x0a, 0x23, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41,
+ 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x4f, 0x4e, 0x46, 0x49, 0x47, 0x53, 0x5f, 0x50, 0x45, 0x52,
+ 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x22, 0x0a, 0x1e, 0x4d, 0x41, 0x58,
+ 0x5f, 0x4c, 0x49, 0x46, 0x45, 0x43, 0x59, 0x43, 0x4c, 0x45, 0x5f, 0x52, 0x55, 0x4c, 0x45, 0x53,
+ 0x5f, 0x50, 0x45, 0x52, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x10, 0x64, 0x12, 0x26, 0x0a,
+ 0x22, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f,
+ 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55,
+ 0x54, 0x45, 0x53, 0x10, 0x05, 0x12, 0x31, 0x0a, 0x2c, 0x4d, 0x41, 0x58, 0x5f, 0x4e, 0x4f, 0x54,
+ 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53, 0x54, 0x4f, 0x4d,
+ 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x4c,
+ 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x02, 0x12, 0x33, 0x0a, 0x2e, 0x4d, 0x41, 0x58, 0x5f,
+ 0x4e, 0x4f, 0x54, 0x49, 0x46, 0x49, 0x43, 0x41, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x43, 0x55, 0x53,
+ 0x54, 0x4f, 0x4d, 0x5f, 0x41, 0x54, 0x54, 0x52, 0x49, 0x42, 0x55, 0x54, 0x45, 0x5f, 0x56, 0x41,
+ 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x80, 0x08, 0x12, 0x1c, 0x0a,
+ 0x18, 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x45, 0x4e, 0x54, 0x52,
+ 0x49, 0x45, 0x53, 0x5f, 0x43, 0x4f, 0x55, 0x4e, 0x54, 0x10, 0x40, 0x12, 0x1f, 0x0a, 0x1b, 0x4d,
+ 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56, 0x41,
+ 0x4c, 0x55, 0x45, 0x5f, 0x4c, 0x45, 0x4e, 0x47, 0x54, 0x48, 0x10, 0x3f, 0x12, 0x1f, 0x0a, 0x1a,
+ 0x4d, 0x41, 0x58, 0x5f, 0x4c, 0x41, 0x42, 0x45, 0x4c, 0x53, 0x5f, 0x4b, 0x45, 0x59, 0x5f, 0x56,
+ 0x41, 0x4c, 0x55, 0x45, 0x5f, 0x42, 0x59, 0x54, 0x45, 0x53, 0x10, 0x80, 0x01, 0x12, 0x2e, 0x0a,
+ 0x29, 0x4d, 0x41, 0x58, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x49, 0x44, 0x53, 0x5f,
+ 0x50, 0x45, 0x52, 0x5f, 0x44, 0x45, 0x4c, 0x45, 0x54, 0x45, 0x5f, 0x4f, 0x42, 0x4a, 0x45, 0x43,
+ 0x54, 0x53, 0x5f, 0x52, 0x45, 0x51, 0x55, 0x45, 0x53, 0x54, 0x10, 0xe8, 0x07, 0x12, 0x1e, 0x0a,
+ 0x1a, 0x53, 0x50, 0x4c, 0x49, 0x54, 0x5f, 0x54, 0x4f, 0x4b, 0x45, 0x4e, 0x5f, 0x4d, 0x41, 0x58,
+ 0x5f, 0x56, 0x41, 0x4c, 0x49, 0x44, 0x5f, 0x44, 0x41, 0x59, 0x53, 0x10, 0x0e, 0x1a, 0x02, 0x10,
+ 0x01, 0x22, 0x9b, 0x1d, 0x0a, 0x06, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x17, 0x0a, 0x04,
+ 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52,
+ 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x09, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f,
+ 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x08, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x49, 0x64, 0x12, 0x4d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x33, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x2d,
+ 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x6d,
+ 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x70,
+ 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65,
+ 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03,
+ 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x1f, 0x0a, 0x08, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0d, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03,
+ 0x52, 0x0c, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x54, 0x79, 0x70, 0x65, 0x12, 0x23,
+ 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c,
+ 0x61, 0x73, 0x73, 0x12, 0x10, 0x0a, 0x03, 0x72, 0x70, 0x6f, 0x18, 0x1b, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x03, 0x72, 0x70, 0x6f, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x08, 0x20, 0x03,
+ 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12,
+ 0x54, 0x0a, 0x12, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x5f, 0x61, 0x63, 0x6c, 0x18, 0x09, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
- 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65,
- 0x72, 0x12, 0x44, 0x0a, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
- 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x2e, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63,
- 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69,
- 0x6e, 0x67, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x52, 0x10, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12, 0x41, 0x0a, 0x09, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63,
+ 0x6c, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x2e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c,
- 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f,
- 0x6e, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74,
- 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e,
- 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61,
- 0x6d, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e,
- 0x66, 0x69, 0x67, 0x52, 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x28,
- 0x0a, 0x0d, 0x7a, 0x6f, 0x6e, 0x65, 0x5f, 0x61, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x18,
- 0x18, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0c, 0x7a, 0x6f, 0x6e, 0x65,
- 0x41, 0x66, 0x66, 0x69, 0x6e, 0x69, 0x74, 0x79, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61, 0x74, 0x69,
- 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28, 0x08, 0x52,
- 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x1a, 0x30, 0x0a,
- 0x07, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75,
- 0x65, 0x73, 0x74, 0x65, 0x72, 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
- 0x52, 0x0d, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x73, 0x1a,
- 0x87, 0x01, 0x0a, 0x04, 0x43, 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67,
- 0x69, 0x6e, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e,
- 0x12, 0x16, 0x0a, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09,
- 0x52, 0x06, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70,
- 0x6f, 0x6e, 0x73, 0x65, 0x5f, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28,
- 0x09, 0x52, 0x0e, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65,
- 0x72, 0x12, 0x26, 0x0a, 0x0f, 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63,
- 0x6f, 0x6e, 0x64, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41,
- 0x67, 0x65, 0x53, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, 0x0a, 0x0a, 0x45, 0x6e, 0x63,
- 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75,
- 0x6c, 0x74, 0x5f, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
- 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43,
- 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c,
- 0x74, 0x4b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x1a, 0xbf, 0x03, 0x0a, 0x09, 0x49, 0x61, 0x6d, 0x43,
- 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d,
- 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e,
- 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76,
- 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72,
- 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65,
- 0x73, 0x73, 0x12, 0x74, 0x0a, 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63,
- 0x65, 0x73, 0x73, 0x5f, 0x70, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x0e, 0x32, 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x52, 0x09, 0x6c,
+ 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x32, 0x0a, 0x04, 0x63, 0x6f,
+ 0x72, 0x73, 0x18, 0x0c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x6f, 0x72, 0x73, 0x52, 0x04, 0x63, 0x6f, 0x72, 0x73, 0x12, 0x40,
+ 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0d, 0x20,
+ 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f,
+ 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42,
+ 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x37, 0x0a, 0x18, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x65, 0x76, 0x65, 0x6e,
+ 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x0e, 0x20, 0x01,
+ 0x28, 0x08, 0x52, 0x15, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x45, 0x76, 0x65, 0x6e, 0x74,
+ 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x3d, 0x0a, 0x06, 0x6c, 0x61, 0x62,
+ 0x65, 0x6c, 0x73, 0x18, 0x0f, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x12, 0x3b, 0x0a, 0x07, 0x77, 0x65, 0x62, 0x73,
+ 0x69, 0x74, 0x65, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x52, 0x07, 0x77, 0x65,
+ 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x44, 0x0a, 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e,
+ 0x69, 0x6e, 0x67, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x52,
+ 0x0a, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x3b, 0x0a, 0x07, 0x6c,
+ 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x18, 0x12, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x52,
+ 0x07, 0x6c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65,
+ 0x72, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65,
+ 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x44, 0x0a,
+ 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28,
+ 0x0b, 0x32, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x45, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0a, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74,
+ 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x18, 0x15,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
- 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63,
- 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
- 0x52, 0x16, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66,
- 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37,
- 0x0a, 0x09, 0x6c, 0x6f, 0x63, 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
- 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c,
- 0x6f, 0x63, 0x6b, 0x54, 0x69, 0x6d, 0x65, 0x22, 0x50, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69,
- 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x28, 0x0a, 0x24, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x45,
- 0x53, 0x53, 0x5f, 0x50, 0x52, 0x45, 0x56, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e,
- 0x53, 0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45,
- 0x4e, 0x46, 0x4f, 0x52, 0x43, 0x45, 0x44, 0x10, 0x01, 0x1a, 0x8d, 0x07, 0x0a, 0x09, 0x4c, 0x69,
- 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18,
- 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52,
- 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a, 0xc1, 0x06, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x47,
- 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79,
- 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52,
- 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69,
- 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67,
+ 0x12, 0x54, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x18, 0x16, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e,
- 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09,
- 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74,
- 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xda, 0x04, 0x0a,
- 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67,
- 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07,
- 0x61, 0x67, 0x65, 0x44, 0x61, 0x79, 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0e, 0x63, 0x72,
- 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65,
- 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65,
- 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c, 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18,
- 0x03, 0x20, 0x01, 0x28, 0x08, 0x48, 0x01, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x88,
- 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f,
- 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02,
- 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e, 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f,
- 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12, 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73,
- 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05,
- 0x20, 0x03, 0x28, 0x09, 0x52, 0x13, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x16, 0x64, 0x61, 0x79,
- 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74,
- 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x13, 0x64, 0x61, 0x79,
- 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65,
- 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69,
- 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32,
- 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61,
- 0x74, 0x65, 0x52, 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65,
- 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40, 0x0a, 0x1a, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e,
- 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69,
- 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01, 0x28, 0x05, 0x48, 0x04, 0x52, 0x17, 0x64, 0x61, 0x79, 0x73,
- 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54,
- 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x47, 0x0a, 0x16, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65,
- 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x14, 0x6e, 0x6f, 0x6e, 0x63, 0x75,
- 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x42,
- 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x0a, 0x08,
- 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x75, 0x6d,
- 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42,
- 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63,
- 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x64,
- 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72,
- 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x1a, 0x54, 0x0a, 0x07, 0x4c, 0x6f, 0x67,
- 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x75, 0x63, 0x6b,
- 0x65, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x42, 0x75, 0x63,
- 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a, 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63,
- 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f,
- 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a,
- 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c,
- 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a, 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65,
- 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
+ 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x42, 0x0a, 0x0a, 0x69, 0x61, 0x6d, 0x5f, 0x63, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x18, 0x17, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x23, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x52,
+ 0x09, 0x69, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x61,
+ 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x5f, 0x70, 0x7a, 0x73, 0x18, 0x19, 0x20, 0x01, 0x28,
+ 0x08, 0x52, 0x0c, 0x73, 0x61, 0x74, 0x69, 0x73, 0x66, 0x69, 0x65, 0x73, 0x50, 0x7a, 0x73, 0x12,
+ 0x67, 0x0a, 0x17, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x6d,
+ 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x43, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69,
+ 0x67, 0x52, 0x15, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65,
+ 0x6e, 0x74, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x1a, 0x30, 0x0a, 0x07, 0x42, 0x69, 0x6c, 0x6c,
+ 0x69, 0x6e, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x65, 0x72,
+ 0x5f, 0x70, 0x61, 0x79, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x72, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x65, 0x72, 0x50, 0x61, 0x79, 0x73, 0x1a, 0x87, 0x01, 0x0a, 0x04, 0x43,
+ 0x6f, 0x72, 0x73, 0x12, 0x16, 0x0a, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x18, 0x01, 0x20,
+ 0x03, 0x28, 0x09, 0x52, 0x06, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x12, 0x16, 0x0a, 0x06, 0x6d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x06, 0x6d, 0x65, 0x74,
+ 0x68, 0x6f, 0x64, 0x12, 0x27, 0x0a, 0x0f, 0x72, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x5f,
+ 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x72, 0x65,
+ 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x48, 0x65, 0x61, 0x64, 0x65, 0x72, 0x12, 0x26, 0x0a, 0x0f,
+ 0x6d, 0x61, 0x78, 0x5f, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x65, 0x63, 0x6f, 0x6e, 0x64, 0x73, 0x18,
+ 0x04, 0x20, 0x01, 0x28, 0x05, 0x52, 0x0d, 0x6d, 0x61, 0x78, 0x41, 0x67, 0x65, 0x53, 0x65, 0x63,
+ 0x6f, 0x6e, 0x64, 0x73, 0x1a, 0x5c, 0x0a, 0x0a, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x4e, 0x0a, 0x0f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x5f, 0x6b, 0x6d,
+ 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23,
+ 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f,
+ 0x4b, 0x65, 0x79, 0x52, 0x0d, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x4b, 0x6d, 0x73, 0x4b,
+ 0x65, 0x79, 0x1a, 0xce, 0x03, 0x0a, 0x09, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67,
+ 0x12, 0x7b, 0x0a, 0x1b, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x5f, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x5f, 0x6c, 0x65, 0x76, 0x65, 0x6c, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x55, 0x6e, 0x69, 0x66, 0x6f,
+ 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63,
+ 0x65, 0x73, 0x73, 0x52, 0x18, 0x75, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12, 0x74, 0x0a,
+ 0x18, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x70,
+ 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
+ 0x3a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x49, 0x61, 0x6d, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x2e, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73,
+ 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x16, 0x70, 0x75, 0x62,
+ 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74,
+ 0x69, 0x6f, 0x6e, 0x1a, 0x6d, 0x0a, 0x18, 0x55, 0x6e, 0x69, 0x66, 0x6f, 0x72, 0x6d, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x4c, 0x65, 0x76, 0x65, 0x6c, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x12,
+ 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08,
+ 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x37, 0x0a, 0x09, 0x6c, 0x6f, 0x63,
+ 0x6b, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
+ 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x08, 0x6c, 0x6f, 0x63, 0x6b, 0x54, 0x69,
+ 0x6d, 0x65, 0x22, 0x5f, 0x0a, 0x16, 0x50, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x41, 0x63, 0x63, 0x65,
+ 0x73, 0x73, 0x50, 0x72, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x24,
+ 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x41, 0x43, 0x43, 0x45, 0x53, 0x53, 0x5f, 0x50, 0x52,
+ 0x45, 0x56, 0x45, 0x4e, 0x54, 0x49, 0x4f, 0x4e, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
+ 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x0c, 0x0a, 0x08, 0x45, 0x4e, 0x46, 0x4f, 0x52, 0x43,
+ 0x45, 0x44, 0x10, 0x01, 0x12, 0x0d, 0x0a, 0x09, 0x49, 0x4e, 0x48, 0x45, 0x52, 0x49, 0x54, 0x45,
+ 0x44, 0x10, 0x02, 0x1a, 0x8d, 0x07, 0x0a, 0x09, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c,
+ 0x65, 0x12, 0x3c, 0x0a, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
+ 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63,
+ 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x52, 0x04, 0x72, 0x75, 0x6c, 0x65, 0x1a,
+ 0xc1, 0x06, 0x0a, 0x04, 0x52, 0x75, 0x6c, 0x65, 0x12, 0x47, 0x0a, 0x06, 0x61, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x2e, 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75,
+ 0x6c, 0x65, 0x2e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x06, 0x61, 0x63, 0x74, 0x69, 0x6f,
+ 0x6e, 0x12, 0x50, 0x0a, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x32, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2e,
+ 0x4c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x2e, 0x52, 0x75, 0x6c, 0x65, 0x2e, 0x43,
+ 0x6f, 0x6e, 0x64, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x09, 0x63, 0x6f, 0x6e, 0x64, 0x69, 0x74,
+ 0x69, 0x6f, 0x6e, 0x1a, 0x41, 0x0a, 0x06, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a,
+ 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70,
+ 0x65, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61,
+ 0x73, 0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x1a, 0xda, 0x04, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x64, 0x69,
+ 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x1e, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x48, 0x00, 0x52, 0x07, 0x61, 0x67, 0x65, 0x44, 0x61, 0x79,
+ 0x73, 0x88, 0x01, 0x01, 0x12, 0x38, 0x0a, 0x0e, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f,
+ 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52,
+ 0x0d, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x1c,
+ 0x0a, 0x07, 0x69, 0x73, 0x5f, 0x6c, 0x69, 0x76, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x08, 0x48,
+ 0x01, 0x52, 0x06, 0x69, 0x73, 0x4c, 0x69, 0x76, 0x65, 0x88, 0x01, 0x01, 0x12, 0x31, 0x0a, 0x12,
+ 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x18, 0x04, 0x20, 0x01, 0x28, 0x05, 0x48, 0x02, 0x52, 0x10, 0x6e, 0x75, 0x6d, 0x4e,
+ 0x65, 0x77, 0x65, 0x72, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x88, 0x01, 0x01, 0x12,
+ 0x32, 0x0a, 0x15, 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x03, 0x28, 0x09, 0x52, 0x13,
+ 0x6d, 0x61, 0x74, 0x63, 0x68, 0x65, 0x73, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c,
+ 0x61, 0x73, 0x73, 0x12, 0x38, 0x0a, 0x16, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63,
+ 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x07, 0x20,
+ 0x01, 0x28, 0x05, 0x48, 0x03, 0x52, 0x13, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01, 0x12, 0x3f, 0x0a,
+ 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66,
+ 0x6f, 0x72, 0x65, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44, 0x61, 0x74, 0x65, 0x52, 0x10, 0x63, 0x75,
+ 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x12, 0x40,
+ 0x0a, 0x1a, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e,
+ 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x09, 0x20, 0x01,
+ 0x28, 0x05, 0x48, 0x04, 0x52, 0x17, 0x64, 0x61, 0x79, 0x73, 0x53, 0x69, 0x6e, 0x63, 0x65, 0x4e,
+ 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x88, 0x01, 0x01,
+ 0x12, 0x47, 0x0a, 0x16, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x5f, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b,
+ 0x32, 0x11, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x44,
+ 0x61, 0x74, 0x65, 0x52, 0x14, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x54,
+ 0x69, 0x6d, 0x65, 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x42, 0x0b, 0x0a, 0x09, 0x5f, 0x61, 0x67,
+ 0x65, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x42, 0x0a, 0x0a, 0x08, 0x5f, 0x69, 0x73, 0x5f, 0x6c, 0x69,
+ 0x76, 0x65, 0x42, 0x15, 0x0a, 0x13, 0x5f, 0x6e, 0x75, 0x6d, 0x5f, 0x6e, 0x65, 0x77, 0x65, 0x72,
+ 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x19, 0x0a, 0x17, 0x5f, 0x64, 0x61,
+ 0x79, 0x73, 0x5f, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x5f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
+ 0x74, 0x69, 0x6d, 0x65, 0x42, 0x1d, 0x0a, 0x1b, 0x5f, 0x64, 0x61, 0x79, 0x73, 0x5f, 0x73, 0x69,
+ 0x6e, 0x63, 0x65, 0x5f, 0x6e, 0x6f, 0x6e, 0x63, 0x75, 0x72, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x74,
+ 0x69, 0x6d, 0x65, 0x1a, 0x54, 0x0a, 0x07, 0x4c, 0x6f, 0x67, 0x67, 0x69, 0x6e, 0x67, 0x12, 0x1d,
+ 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x5f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x09, 0x6c, 0x6f, 0x67, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x2a, 0x0a,
+ 0x11, 0x6c, 0x6f, 0x67, 0x5f, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x70, 0x72, 0x65, 0x66,
+ 0x69, 0x78, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x6c, 0x6f, 0x67, 0x4f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x50, 0x72, 0x65, 0x66, 0x69, 0x78, 0x1a, 0x9c, 0x01, 0x0a, 0x0f, 0x52, 0x65,
+ 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x41, 0x0a,
+ 0x0e, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69, 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63, 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a,
+ 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f,
+ 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69,
+ 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x26, 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73,
+ 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
+ 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64,
+ 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d,
+ 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73, 0x75, 0x66, 0x66, 0x69, 0x78, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69, 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53,
+ 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x6e, 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75,
+ 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e,
+ 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x67, 0x65, 0x1a, 0x3e, 0x0a, 0x15, 0x43,
+ 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x50, 0x6c, 0x61, 0x63, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x43, 0x6f,
+ 0x6e, 0x66, 0x69, 0x67, 0x12, 0x25, 0x0a, 0x0e, 0x64, 0x61, 0x74, 0x61, 0x5f, 0x6c, 0x6f, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0d, 0x64, 0x61,
+ 0x74, 0x61, 0x4c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x1a, 0x39, 0x0a, 0x0b, 0x4c,
+ 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65,
+ 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05,
+ 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c,
+ 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47, 0xea, 0x41, 0x44, 0x0a, 0x1d, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22,
+ 0xdf, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73,
+ 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69,
+ 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74,
+ 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64,
+ 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64,
+ 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e,
+ 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41,
+ 0x0a, 0x0c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61,
+ 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64,
+ 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18,
+ 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b,
+ 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00,
+ 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f,
+ 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63,
+ 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63,
+ 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08, 0x6d, 0x64, 0x35, 0x5f, 0x68, 0x61,
+ 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x6d, 0x64, 0x35, 0x48, 0x61, 0x73,
+ 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0xce, 0x02, 0x0a,
+ 0x0f, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
+ 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
+ 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20,
+ 0x01, 0x28, 0x09, 0x52, 0x08, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x49, 0x64, 0x12, 0x4a, 0x0a,
+ 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x30,
+ 0xfa, 0x41, 0x2d, 0x0a, 0x2b, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72,
+ 0x63, 0x65, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x72, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x32, 0x0a, 0x15, 0x73, 0x65, 0x72,
+ 0x76, 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61,
+ 0x69, 0x6c, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63,
+ 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x45, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a,
+ 0x05, 0x73, 0x74, 0x61, 0x74, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x73, 0x74,
+ 0x61, 0x74, 0x65, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65,
+ 0x12, 0x3b, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x22, 0xe7, 0x03,
+ 0x0a, 0x0c, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x17,
+ 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
+ 0x02, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x74, 0x6f, 0x70, 0x69, 0x63,
+ 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x02, 0x52, 0x05, 0x74, 0x6f, 0x70,
+ 0x69, 0x63, 0x12, 0x24, 0x0a, 0x0b, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65,
+ 0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52, 0x0a, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x73, 0x12, 0x67, 0x0a, 0x11, 0x63, 0x75, 0x73, 0x74,
+ 0x6f, 0x6d, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x04, 0x20,
+ 0x03, 0x28, 0x0b, 0x32, 0x35, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69,
+ 0x62, 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, 0x41, 0x01, 0x52,
+ 0x10, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65,
+ 0x73, 0x12, 0x31, 0x0a, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x61, 0x6d, 0x65,
+ 0x5f, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0,
+ 0x41, 0x01, 0x52, 0x10, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x61, 0x6d, 0x65, 0x50, 0x72,
+ 0x65, 0x66, 0x69, 0x78, 0x12, 0x2a, 0x0a, 0x0e, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x5f,
+ 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41,
+ 0x02, 0x52, 0x0d, 0x70, 0x61, 0x79, 0x6c, 0x6f, 0x61, 0x64, 0x46, 0x6f, 0x72, 0x6d, 0x61, 0x74,
+ 0x1a, 0x43, 0x0a, 0x15, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62,
+ 0x75, 0x74, 0x65, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76,
+ 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75,
+ 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x70, 0xea, 0x41, 0x6d, 0x0a, 0x23, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63,
+ 0x6f, 0x6d, 0x2f, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x46, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x7d, 0x2f, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x43, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x73, 0x2f, 0x7b, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x22, 0x71, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f,
+ 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a,
+ 0x14, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f,
+ 0x72, 0x69, 0x74, 0x68, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63,
+ 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
+ 0x12, 0x28, 0x0a, 0x10, 0x6b, 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x5f, 0x62,
+ 0x79, 0x74, 0x65, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x0e, 0x6b, 0x65, 0x79, 0x53,
+ 0x68, 0x61, 0x32, 0x35, 0x36, 0x42, 0x79, 0x74, 0x65, 0x73, 0x22, 0xd8, 0x0b, 0x0a, 0x06, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20,
+ 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d,
+ 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25,
+ 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42,
+ 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x0a,
+ 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28,
+ 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69,
+ 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
+ 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12,
+ 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73,
+ 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43,
+ 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01,
+ 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a,
+ 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e,
+ 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18,
+ 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69,
+ 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63,
+ 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09,
+ 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38,
+ 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74,
+ 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74,
+ 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75,
+ 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69,
+ 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
+ 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
+ 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e,
+ 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61,
+ 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
+ 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a,
+ 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f,
+ 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20,
+ 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e,
+ 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63,
+ 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42,
+ 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12,
+ 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d,
+ 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73, 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x12, 0x20, 0x01,
+ 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d,
+ 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d,
+ 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b,
+ 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
+ 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
+ 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
+ 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25,
+ 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64,
+ 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72,
+ 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e, 0x0a, 0x15, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69,
+ 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15,
+ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
+ 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
+ 0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72,
+ 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79,
+ 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x76,
+ 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17,
+ 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73,
+ 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88, 0x01, 0x01, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e,
+ 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
+ 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e,
+ 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x56,
+ 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x25, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
+ 0x6f, 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72,
+ 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
+ 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
- 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0d, 0x65, 0x66, 0x66, 0x65, 0x63, 0x74, 0x69,
- 0x76, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x1b, 0x0a, 0x09, 0x69, 0x73, 0x5f, 0x6c, 0x6f, 0x63,
- 0x6b, 0x65, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x69, 0x73, 0x4c, 0x6f, 0x63,
- 0x6b, 0x65, 0x64, 0x12, 0x29, 0x0a, 0x10, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e,
- 0x5f, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0f, 0x72,
- 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x1a, 0x26,
- 0x0a, 0x0a, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x69, 0x6e, 0x67, 0x12, 0x18, 0x0a, 0x07,
- 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65,
- 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x1a, 0x59, 0x0a, 0x07, 0x57, 0x65, 0x62, 0x73, 0x69, 0x74,
- 0x65, 0x12, 0x28, 0x0a, 0x10, 0x6d, 0x61, 0x69, 0x6e, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x73,
- 0x75, 0x66, 0x66, 0x69, 0x78, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x61, 0x69,
- 0x6e, 0x50, 0x61, 0x67, 0x65, 0x53, 0x75, 0x66, 0x66, 0x69, 0x78, 0x12, 0x24, 0x0a, 0x0e, 0x6e,
- 0x6f, 0x74, 0x5f, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x18, 0x02, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6e, 0x6f, 0x74, 0x46, 0x6f, 0x75, 0x6e, 0x64, 0x50, 0x61, 0x67,
- 0x65, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79,
- 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b,
- 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x3a, 0x47, 0xea, 0x41,
- 0x44, 0x0a, 0x1d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x12, 0x23, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x62, 0x75,
- 0x63, 0x6b, 0x65, 0x74, 0x7d, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54,
+ 0x69, 0x6d, 0x65, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45,
+ 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
+ 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18,
+ 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01,
+ 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64,
+ 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xdf, 0x01, 0x0a, 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a,
0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c,
0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69,
@@ -4018,227 +7970,297 @@ var file_google_storage_v2_storage_proto_rawDesc = []byte{
0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f,
0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50,
0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a,
- 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x53, 0x0a, 0x0f, 0x43, 0x68, 0x65, 0x63, 0x6b,
- 0x73, 0x75, 0x6d, 0x6d, 0x65, 0x64, 0x44, 0x61, 0x74, 0x61, 0x12, 0x18, 0x0a, 0x07, 0x63, 0x6f,
- 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07, 0x63, 0x6f, 0x6e,
- 0x74, 0x65, 0x6e, 0x74, 0x12, 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x07, 0x48, 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01,
- 0x01, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x22, 0x54, 0x0a, 0x0f,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12,
- 0x1b, 0x0a, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x18, 0x01, 0x20, 0x01, 0x28, 0x07, 0x48,
- 0x00, 0x52, 0x06, 0x63, 0x72, 0x63, 0x33, 0x32, 0x63, 0x88, 0x01, 0x01, 0x12, 0x19, 0x0a, 0x08,
- 0x6d, 0x64, 0x35, 0x5f, 0x68, 0x61, 0x73, 0x68, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x07,
- 0x6d, 0x64, 0x35, 0x48, 0x61, 0x73, 0x68, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x63, 0x72, 0x63, 0x33,
- 0x32, 0x63, 0x22, 0xc7, 0x0c, 0x0a, 0x06, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x17, 0x0a,
- 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x05,
- 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3d, 0x0a, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74,
- 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x25, 0xe0, 0x41, 0x05, 0xfa, 0x41, 0x1f, 0x0a, 0x1d,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70,
- 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x06, 0x62,
- 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x0a, 0x0a, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74,
- 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x05, 0x52, 0x0a,
- 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2b, 0x0a, 0x0e, 0x6d, 0x65,
- 0x74, 0x61, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01,
- 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x74, 0x61, 0x67, 0x65, 0x6e,
- 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61, 0x73, 0x73, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61, 0x73, 0x73, 0x12, 0x17, 0x0a, 0x04,
- 0x73, 0x69, 0x7a, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x03, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
- 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74,
- 0x5f, 0x65, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67, 0x18, 0x07, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x0f, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x45, 0x6e, 0x63, 0x6f, 0x64, 0x69, 0x6e, 0x67,
- 0x12, 0x2f, 0x0a, 0x13, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x64, 0x69, 0x73, 0x70,
- 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x09, 0x52, 0x12, 0x63,
- 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x44, 0x69, 0x73, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x69, 0x6f,
- 0x6e, 0x12, 0x23, 0x0a, 0x0d, 0x63, 0x61, 0x63, 0x68, 0x65, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72,
- 0x6f, 0x6c, 0x18, 0x09, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x63, 0x61, 0x63, 0x68, 0x65, 0x43,
- 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x38, 0x0a, 0x03, 0x61, 0x63, 0x6c, 0x18, 0x0a, 0x20,
- 0x03, 0x28, 0x0b, 0x32, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63,
- 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x52, 0x03, 0x61, 0x63, 0x6c,
- 0x12, 0x29, 0x0a, 0x10, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x6c, 0x61, 0x6e, 0x67,
- 0x75, 0x61, 0x67, 0x65, 0x18, 0x0b, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0f, 0x63, 0x6f, 0x6e, 0x74,
- 0x65, 0x6e, 0x74, 0x4c, 0x61, 0x6e, 0x67, 0x75, 0x61, 0x67, 0x65, 0x12, 0x40, 0x0a, 0x0b, 0x64,
- 0x65, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x0c, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62,
- 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41,
- 0x03, 0x52, 0x0a, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x21, 0x0a,
- 0x0c, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x5f, 0x74, 0x79, 0x70, 0x65, 0x18, 0x0d, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x0b, 0x63, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x54, 0x79, 0x70, 0x65,
- 0x12, 0x40, 0x0a, 0x0b, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18,
- 0x0e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
- 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
- 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x54, 0x69,
- 0x6d, 0x65, 0x12, 0x2c, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x5f,
- 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x0f, 0x20, 0x01, 0x28, 0x05, 0x42, 0x03, 0xe0, 0x41, 0x03,
- 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6f, 0x6e, 0x65, 0x6e, 0x74, 0x43, 0x6f, 0x75, 0x6e, 0x74,
- 0x12, 0x45, 0x0a, 0x09, 0x63, 0x68, 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x18, 0x10, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x43, 0x68,
- 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x09, 0x63, 0x68,
- 0x65, 0x63, 0x6b, 0x73, 0x75, 0x6d, 0x73, 0x12, 0x40, 0x0a, 0x0b, 0x75, 0x70, 0x64, 0x61, 0x74,
- 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x11, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0a, 0x75,
- 0x70, 0x64, 0x61, 0x74, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x3f, 0x0a, 0x07, 0x6b, 0x6d, 0x73,
- 0x5f, 0x6b, 0x65, 0x79, 0x18, 0x12, 0x20, 0x01, 0x28, 0x09, 0x42, 0x26, 0xfa, 0x41, 0x23, 0x0a,
- 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
- 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b,
- 0x65, 0x79, 0x52, 0x06, 0x6b, 0x6d, 0x73, 0x4b, 0x65, 0x79, 0x12, 0x5a, 0x0a, 0x19, 0x75, 0x70,
- 0x64, 0x61, 0x74, 0x65, 0x5f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x63, 0x6c, 0x61,
- 0x73, 0x73, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x13, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
- 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x16,
- 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x43, 0x6c, 0x61,
- 0x73, 0x73, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0e, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72,
- 0x61, 0x72, 0x79, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x08, 0x52, 0x0d,
- 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x48, 0x6f, 0x6c, 0x64, 0x12, 0x4e, 0x0a,
- 0x15, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x65, 0x78, 0x70, 0x69, 0x72,
- 0x65, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x15, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
- 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
- 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x13, 0x72, 0x65, 0x74, 0x65, 0x6e, 0x74,
- 0x69, 0x6f, 0x6e, 0x45, 0x78, 0x70, 0x69, 0x72, 0x65, 0x54, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a,
- 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x18, 0x16, 0x20, 0x03, 0x28, 0x0b, 0x32,
- 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x4d, 0x65, 0x74, 0x61, 0x64,
- 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x08, 0x6d, 0x65, 0x74, 0x61, 0x64, 0x61,
- 0x74, 0x61, 0x12, 0x2d, 0x0a, 0x10, 0x65, 0x76, 0x65, 0x6e, 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65,
- 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x18, 0x17, 0x20, 0x01, 0x28, 0x08, 0x48, 0x00, 0x52, 0x0e,
- 0x65, 0x76, 0x65, 0x6e, 0x74, 0x42, 0x61, 0x73, 0x65, 0x64, 0x48, 0x6f, 0x6c, 0x64, 0x88, 0x01,
- 0x01, 0x12, 0x33, 0x0a, 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x18, 0x18, 0x20, 0x01, 0x28, 0x0b,
- 0x32, 0x18, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
- 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x77, 0x6e, 0x65, 0x72, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52,
- 0x05, 0x6f, 0x77, 0x6e, 0x65, 0x72, 0x12, 0x5d, 0x0a, 0x13, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d,
- 0x65, 0x72, 0x5f, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x19, 0x20,
- 0x01, 0x28, 0x0b, 0x32, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x43,
- 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f,
- 0x6e, 0x52, 0x12, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e, 0x63, 0x72, 0x79,
- 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3b, 0x0a, 0x0b, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f,
- 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
- 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x0a, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x54, 0x69,
- 0x6d, 0x65, 0x1a, 0x66, 0x0a, 0x12, 0x43, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x65, 0x72, 0x45, 0x6e,
- 0x63, 0x72, 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x31, 0x0a, 0x14, 0x65, 0x6e, 0x63, 0x72,
- 0x79, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d,
- 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x13, 0x65, 0x6e, 0x63, 0x72, 0x79, 0x70, 0x74, 0x69,
- 0x6f, 0x6e, 0x41, 0x6c, 0x67, 0x6f, 0x72, 0x69, 0x74, 0x68, 0x6d, 0x12, 0x1d, 0x0a, 0x0a, 0x6b,
- 0x65, 0x79, 0x5f, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
- 0x09, 0x6b, 0x65, 0x79, 0x53, 0x68, 0x61, 0x32, 0x35, 0x36, 0x1a, 0x3b, 0x0a, 0x0d, 0x4d, 0x65,
- 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b,
- 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a,
- 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61,
- 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x13, 0x0a, 0x11, 0x5f, 0x65, 0x76, 0x65, 0x6e,
- 0x74, 0x5f, 0x62, 0x61, 0x73, 0x65, 0x64, 0x5f, 0x68, 0x6f, 0x6c, 0x64, 0x22, 0xdf, 0x01, 0x0a,
- 0x13, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x63, 0x65, 0x73, 0x73, 0x43, 0x6f, 0x6e,
- 0x74, 0x72, 0x6f, 0x6c, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x02,
- 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69,
- 0x74, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79,
- 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x04, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x12, 0x14, 0x0a,
- 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d,
- 0x61, 0x69, 0x6c, 0x12, 0x16, 0x0a, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x18, 0x06, 0x20,
- 0x01, 0x28, 0x09, 0x52, 0x06, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x12, 0x41, 0x0a, 0x0c, 0x70,
- 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x07, 0x20, 0x01, 0x28,
- 0x0b, 0x32, 0x1e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61,
- 0x6d, 0x52, 0x0b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x48,
- 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a,
- 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75,
- 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01,
- 0x28, 0x09, 0x52, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x22, 0x3c, 0x0a, 0x05, 0x4f, 0x77, 0x6e, 0x65,
- 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28,
- 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e, 0x74,
- 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65, 0x6e,
- 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e,
- 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x18,
- 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a, 0x03,
- 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12, 0x27,
- 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67, 0x74,
- 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74,
- 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2a, 0xff, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65, 0x64,
- 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c, 0x12,
- 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f, 0x42,
- 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43, 0x49,
- 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54,
- 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41, 0x54,
- 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x4f, 0x42, 0x4a,
- 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f,
- 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52, 0x4f,
- 0x4c, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43,
- 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x52,
- 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f,
- 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e, 0x0a,
- 0x1a, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x4a,
- 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x1a, 0x0a,
- 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c,
- 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x32, 0x93, 0x06, 0x0a, 0x07, 0x53, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62,
- 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
- 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52,
- 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
- 0x65, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a,
- 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30, 0x01,
- 0x12, 0x60, 0x0a, 0x0b, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
- 0x25, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
- 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52,
- 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65,
- 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00,
- 0x28, 0x01, 0x12, 0x76, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d,
- 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
- 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74,
- 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74,
- 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x53, 0x74, 0x61,
- 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65,
- 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79, 0x0a, 0x10, 0x51, 0x75,
- 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x2a,
+ 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x22, 0x8e, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74,
+ 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
+ 0x33, 0x0a, 0x07, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
+ 0x32, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x07, 0x6f, 0x62, 0x6a,
+ 0x65, 0x63, 0x74, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73,
+ 0x18, 0x02, 0x20, 0x03, 0x28, 0x09, 0x52, 0x08, 0x70, 0x72, 0x65, 0x66, 0x69, 0x78, 0x65, 0x73,
+ 0x12, 0x26, 0x0a, 0x0f, 0x6e, 0x65, 0x78, 0x74, 0x5f, 0x70, 0x61, 0x67, 0x65, 0x5f, 0x74, 0x6f,
+ 0x6b, 0x65, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0d, 0x6e, 0x65, 0x78, 0x74, 0x50,
+ 0x61, 0x67, 0x65, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x48, 0x0a, 0x0b, 0x50, 0x72, 0x6f, 0x6a,
+ 0x65, 0x63, 0x74, 0x54, 0x65, 0x61, 0x6d, 0x12, 0x25, 0x0a, 0x0e, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x5f, 0x6e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
+ 0x0d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x4e, 0x75, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12,
+ 0x0a, 0x04, 0x74, 0x65, 0x61, 0x6d, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x65,
+ 0x61, 0x6d, 0x22, 0x35, 0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x23, 0x0a, 0x0d, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x5f, 0x61, 0x64,
+ 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x65, 0x6d, 0x61,
+ 0x69, 0x6c, 0x41, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x22, 0x3c, 0x0a, 0x05, 0x4f, 0x77, 0x6e,
+ 0x65, 0x72, 0x12, 0x16, 0x0a, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x18, 0x01, 0x20, 0x01,
+ 0x28, 0x09, 0x52, 0x06, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x12, 0x1b, 0x0a, 0x09, 0x65, 0x6e,
+ 0x74, 0x69, 0x74, 0x79, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x65,
+ 0x6e, 0x74, 0x69, 0x74, 0x79, 0x49, 0x64, 0x22, 0x5f, 0x0a, 0x0c, 0x43, 0x6f, 0x6e, 0x74, 0x65,
+ 0x6e, 0x74, 0x52, 0x61, 0x6e, 0x67, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74,
+ 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x05, 0x73, 0x74, 0x61, 0x72, 0x74, 0x12, 0x10, 0x0a,
+ 0x03, 0x65, 0x6e, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x03, 0x65, 0x6e, 0x64, 0x12,
+ 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x5f, 0x6c, 0x65, 0x6e, 0x67,
+ 0x74, 0x68, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65,
+ 0x74, 0x65, 0x4c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x2a, 0xff, 0x01, 0x0a, 0x13, 0x50, 0x72, 0x65,
+ 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x41, 0x63, 0x6c,
+ 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44, 0x5f, 0x4f,
+ 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50, 0x45, 0x43,
+ 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x4f, 0x42, 0x4a, 0x45, 0x43,
+ 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49, 0x43, 0x41,
+ 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x28, 0x0a, 0x24, 0x4f, 0x42,
+ 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f,
+ 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f, 0x46, 0x55, 0x4c, 0x4c, 0x5f, 0x43, 0x4f, 0x4e, 0x54, 0x52,
+ 0x4f, 0x4c, 0x10, 0x02, 0x12, 0x20, 0x0a, 0x1c, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41,
+ 0x43, 0x4c, 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x4f, 0x57, 0x4e, 0x45, 0x52, 0x5f,
+ 0x52, 0x45, 0x41, 0x44, 0x10, 0x03, 0x12, 0x16, 0x0a, 0x12, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54,
+ 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x04, 0x12, 0x1e,
+ 0x0a, 0x1a, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f,
+ 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41, 0x54, 0x45, 0x10, 0x05, 0x12, 0x1a,
+ 0x0a, 0x16, 0x4f, 0x42, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42,
+ 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x06, 0x2a, 0xd5, 0x01, 0x0a, 0x13, 0x50,
+ 0x72, 0x65, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x64, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x41,
+ 0x63, 0x6c, 0x12, 0x25, 0x0a, 0x21, 0x50, 0x52, 0x45, 0x44, 0x45, 0x46, 0x49, 0x4e, 0x45, 0x44,
+ 0x5f, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x55, 0x4e, 0x53, 0x50,
+ 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x21, 0x0a, 0x1d, 0x42, 0x55, 0x43,
+ 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x41, 0x55, 0x54, 0x48, 0x45, 0x4e, 0x54, 0x49,
+ 0x43, 0x41, 0x54, 0x45, 0x44, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x01, 0x12, 0x16, 0x0a, 0x12,
+ 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x10, 0x02, 0x12, 0x1e, 0x0a, 0x1a, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41,
+ 0x43, 0x4c, 0x5f, 0x50, 0x52, 0x4f, 0x4a, 0x45, 0x43, 0x54, 0x5f, 0x50, 0x52, 0x49, 0x56, 0x41,
+ 0x54, 0x45, 0x10, 0x03, 0x12, 0x1a, 0x0a, 0x16, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41,
+ 0x43, 0x4c, 0x5f, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x10, 0x04,
+ 0x12, 0x20, 0x0a, 0x1c, 0x42, 0x55, 0x43, 0x4b, 0x45, 0x54, 0x5f, 0x41, 0x43, 0x4c, 0x5f, 0x50,
+ 0x55, 0x42, 0x4c, 0x49, 0x43, 0x5f, 0x52, 0x45, 0x41, 0x44, 0x5f, 0x57, 0x52, 0x49, 0x54, 0x45,
+ 0x10, 0x05, 0x32, 0xb0, 0x1b, 0x0a, 0x07, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x12, 0x57,
+ 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22, 0x07,
+ 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x54, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x42, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x6d, 0x0a,
+ 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74,
+ 0x22, 0x1a, 0xda, 0x41, 0x17, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x2c, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x67, 0x0a, 0x0b,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06, 0x70,
+ 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x76, 0x0a, 0x19, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63,
+ 0x6b, 0x65, 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x12, 0x33, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x6f, 0x63, 0x6b, 0x42, 0x75, 0x63, 0x6b, 0x65,
+ 0x74, 0x52, 0x65, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x6f, 0x6e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b,
+ 0x65, 0x74, 0x22, 0x09, 0xda, 0x41, 0x06, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x56, 0x0a,
+ 0x0c, 0x47, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65,
+ 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76,
+ 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x22, 0x0b, 0xda, 0x41, 0x08, 0x72, 0x65, 0x73,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x12, 0x5d, 0x0a, 0x0c, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50,
+ 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
+ 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x6f, 0x6c, 0x69,
+ 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x15, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79,
+ 0x22, 0x12, 0xda, 0x41, 0x0f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x6f,
+ 0x6c, 0x69, 0x63, 0x79, 0x12, 0x82, 0x01, 0x0a, 0x12, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d,
+ 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x28, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69, 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74,
+ 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x29, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x69,
+ 0x61, 0x6d, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x65, 0x73, 0x74, 0x49, 0x61, 0x6d, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
+ 0x22, 0x17, 0xda, 0x41, 0x14, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2c, 0x70, 0x65,
+ 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70,
+ 0x64, 0x61, 0x74, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x22, 0x15, 0xda, 0x41,
+ 0x12, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d,
+ 0x61, 0x73, 0x6b, 0x12, 0x63, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74,
+ 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65,
+ 0x6c, 0x65, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
+ 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x66, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4e,
+ 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x29, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x47, 0x65, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52,
+ 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x07, 0xda, 0x41, 0x04, 0x6e, 0x61, 0x6d, 0x65,
+ 0x12, 0x7b, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
+ 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
+ 0x65, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x71,
+ 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63,
+ 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x16, 0xda, 0x41, 0x13, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74,
+ 0x2c, 0x6e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x79, 0x0a,
+ 0x11, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f,
+ 0x6e, 0x73, 0x12, 0x2b, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x2c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4e, 0x6f, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61,
+ 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda,
+ 0x41, 0x06, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x55, 0x0a, 0x0d, 0x43, 0x6f, 0x6d, 0x70,
+ 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x6f,
+ 0x6d, 0x70, 0x6f, 0x73, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
+ 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x00, 0x12,
+ 0x7b, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12,
+ 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74,
+ 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d, 0x70, 0x74, 0x79, 0x22,
+ 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x78, 0x0a, 0x09,
+ 0x47, 0x65, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x23, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65,
+ 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75,
+ 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65,
+ 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x88, 0x01, 0x0a, 0x0a, 0x52, 0x65, 0x61, 0x64, 0x4f,
+ 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x25, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x52, 0x65, 0x61, 0x64, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
+ 0x73, 0x65, 0x22, 0x2b, 0xda, 0x41, 0x0d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0xda, 0x41, 0x18, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x2c, 0x6f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x30,
+ 0x01, 0x12, 0x68, 0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x19, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4f, 0x62,
+ 0x6a, 0x65, 0x63, 0x74, 0x22, 0x15, 0xda, 0x41, 0x12, 0x6f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x2c,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x12, 0x60, 0x0a, 0x0b, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x25, 0x2e, 0x67, 0x6f, 0x6f,
+ 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
+ 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61,
+ 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x57, 0x72, 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63,
+ 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x28, 0x01, 0x12, 0x67, 0x0a,
+ 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x12, 0x25, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75,
+ 0x65, 0x73, 0x74, 0x1a, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f,
+ 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x4f, 0x62, 0x6a, 0x65,
+ 0x63, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x09, 0xda, 0x41, 0x06,
+ 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x12, 0x5e, 0x0a, 0x0d, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74,
+ 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72,
+ 0x69, 0x74, 0x65, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
+ 0x1a, 0x22, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67,
+ 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x52, 0x65, 0x77, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70,
+ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x76, 0x0a, 0x13, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52,
+ 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57, 0x72, 0x69, 0x74, 0x65, 0x12, 0x2d, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65,
+ 0x57, 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x53, 0x74, 0x61, 0x72, 0x74, 0x52, 0x65, 0x73, 0x75, 0x6d, 0x61, 0x62, 0x6c, 0x65, 0x57,
+ 0x72, 0x69, 0x74, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x00, 0x12, 0x79,
+ 0x0a, 0x10, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x12, 0x2a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74,
+ 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b,
0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
0x76, 0x32, 0x2e, 0x51, 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61,
- 0x74, 0x75, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2b, 0x2e, 0x67, 0x6f, 0x6f,
- 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x51,
- 0x75, 0x65, 0x72, 0x79, 0x57, 0x72, 0x69, 0x74, 0x65, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x52,
- 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0xda, 0x41, 0x09, 0x75, 0x70, 0x6c, 0x6f,
- 0x61, 0x64, 0x5f, 0x69, 0x64, 0x1a, 0xa7, 0x02, 0xca, 0x41, 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f,
- 0x6d, 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66,
- 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e,
- 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61,
- 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f,
- 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74,
- 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
- 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76,
- 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e,
- 0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
- 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
+ 0x74, 0x75, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0c, 0xda, 0x41, 0x09,
+ 0x75, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x6f, 0x0a, 0x11, 0x47, 0x65, 0x74,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2b,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63,
+ 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e,
+ 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x0a,
+ 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x84, 0x01, 0x0a, 0x0d, 0x43,
+ 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32,
+ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65,
+ 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x28, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
+ 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
+ 0x20, 0xda, 0x41, 0x1d, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2c, 0x73, 0x65, 0x72, 0x76,
+ 0x69, 0x63, 0x65, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x65, 0x6d, 0x61, 0x69,
+ 0x6c, 0x12, 0x66, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61, 0x63, 0x4b,
+ 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72,
+ 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6d, 0x61,
+ 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x16, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x45, 0x6d,
+ 0x70, 0x74, 0x79, 0x22, 0x14, 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69,
+ 0x64, 0x2c, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x6c, 0x0a, 0x0a, 0x47, 0x65, 0x74,
+ 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x24, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x47, 0x65, 0x74, 0x48,
+ 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e,
+ 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76,
+ 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74,
+ 0x61, 0x22, 0x14, 0xda, 0x41, 0x11, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x5f, 0x69, 0x64, 0x2c,
+ 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x6b, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x48,
+ 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x12, 0x26, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
+ 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74,
+ 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
+ 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65,
+ 0x2e, 0x76, 0x32, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x73,
+ 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x0a, 0xda, 0x41, 0x07, 0x70, 0x72, 0x6f,
+ 0x6a, 0x65, 0x63, 0x74, 0x12, 0x75, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x48, 0x6d,
+ 0x61, 0x63, 0x4b, 0x65, 0x79, 0x12, 0x27, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
+ 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
+ 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22,
+ 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e,
+ 0x76, 0x32, 0x2e, 0x48, 0x6d, 0x61, 0x63, 0x4b, 0x65, 0x79, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
+ 0x74, 0x61, 0x22, 0x17, 0xda, 0x41, 0x14, 0x68, 0x6d, 0x61, 0x63, 0x5f, 0x6b, 0x65, 0x79, 0x2c,
+ 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x5f, 0x6d, 0x61, 0x73, 0x6b, 0x1a, 0xa7, 0x02, 0xca, 0x41,
+ 0x16, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61,
+ 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0xd2, 0x41, 0x8a, 0x02, 0x68, 0x74, 0x74, 0x70, 0x73,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64,
+ 0x2d, 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a,
0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
- 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f,
- 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x77, 0x72, 0x69, 0x74, 0x65, 0x42,
- 0xdc, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73,
- 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42, 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61,
- 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
- 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73,
- 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76, 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72,
- 0x61, 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73,
- 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f,
- 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12, 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65,
- 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f,
- 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f,
- 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79,
- 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79,
- 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f, 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06,
- 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
+ 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x63, 0x6c, 0x6f, 0x75, 0x64, 0x2d,
+ 0x70, 0x6c, 0x61, 0x74, 0x66, 0x6f, 0x72, 0x6d, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x2d, 0x6f, 0x6e,
+ 0x6c, 0x79, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67,
+ 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75,
+ 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x66, 0x75,
+ 0x6c, 0x6c, 0x5f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2c, 0x68, 0x74, 0x74, 0x70, 0x73,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f, 0x64, 0x65, 0x76, 0x73, 0x74,
+ 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f, 0x6f, 0x6e, 0x6c, 0x79, 0x2c,
+ 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2f,
+ 0x64, 0x65, 0x76, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x72, 0x65, 0x61, 0x64, 0x5f,
+ 0x77, 0x72, 0x69, 0x74, 0x65, 0x42, 0xdc, 0x01, 0x0a, 0x15, 0x63, 0x6f, 0x6d, 0x2e, 0x67, 0x6f,
+ 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2e, 0x76, 0x32, 0x42,
+ 0x0c, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
+ 0x38, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x67, 0x6f, 0x6c, 0x61, 0x6e, 0x67, 0x2e, 0x6f,
+ 0x72, 0x67, 0x2f, 0x67, 0x65, 0x6e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x6f, 0x6f, 0x67,
+ 0x6c, 0x65, 0x61, 0x70, 0x69, 0x73, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2f, 0x76,
+ 0x32, 0x3b, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0xea, 0x41, 0x78, 0x0a, 0x21, 0x63, 0x6c,
+ 0x6f, 0x75, 0x64, 0x6b, 0x6d, 0x73, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x61, 0x70, 0x69,
+ 0x73, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x43, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x12,
+ 0x53, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x73, 0x2f, 0x7b, 0x70, 0x72, 0x6f, 0x6a, 0x65,
+ 0x63, 0x74, 0x7d, 0x2f, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x6c,
+ 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x7d, 0x2f, 0x6b, 0x65, 0x79, 0x52, 0x69, 0x6e, 0x67,
+ 0x73, 0x2f, 0x7b, 0x6b, 0x65, 0x79, 0x5f, 0x72, 0x69, 0x6e, 0x67, 0x7d, 0x2f, 0x63, 0x72, 0x79,
+ 0x70, 0x74, 0x6f, 0x4b, 0x65, 0x79, 0x73, 0x2f, 0x7b, 0x63, 0x72, 0x79, 0x70, 0x74, 0x6f, 0x5f,
+ 0x6b, 0x65, 0x79, 0x7d, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
}
var (
@@ -4253,126 +8275,273 @@ func file_google_storage_v2_storage_proto_rawDescGZIP() []byte {
return file_google_storage_v2_storage_proto_rawDescData
}
-var file_google_storage_v2_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 3)
-var file_google_storage_v2_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 37)
+var file_google_storage_v2_storage_proto_enumTypes = make([]protoimpl.EnumInfo, 4)
+var file_google_storage_v2_storage_proto_msgTypes = make([]protoimpl.MessageInfo, 72)
var file_google_storage_v2_storage_proto_goTypes = []interface{}{
- (PredefinedObjectAcl)(0), // 0: google.storage.v2.PredefinedObjectAcl
- (ServiceConstants_Values)(0), // 1: google.storage.v2.ServiceConstants.Values
- (Bucket_IamConfig_PublicAccessPrevention)(0), // 2: google.storage.v2.Bucket.IamConfig.PublicAccessPrevention
- (*ReadObjectRequest)(nil), // 3: google.storage.v2.ReadObjectRequest
- (*ReadObjectResponse)(nil), // 4: google.storage.v2.ReadObjectResponse
- (*WriteObjectSpec)(nil), // 5: google.storage.v2.WriteObjectSpec
- (*WriteObjectRequest)(nil), // 6: google.storage.v2.WriteObjectRequest
- (*WriteObjectResponse)(nil), // 7: google.storage.v2.WriteObjectResponse
- (*QueryWriteStatusRequest)(nil), // 8: google.storage.v2.QueryWriteStatusRequest
- (*QueryWriteStatusResponse)(nil), // 9: google.storage.v2.QueryWriteStatusResponse
- (*StartResumableWriteRequest)(nil), // 10: google.storage.v2.StartResumableWriteRequest
- (*StartResumableWriteResponse)(nil), // 11: google.storage.v2.StartResumableWriteResponse
- (*CommonObjectRequestParams)(nil), // 12: google.storage.v2.CommonObjectRequestParams
- (*CommonRequestParams)(nil), // 13: google.storage.v2.CommonRequestParams
- (*ServiceConstants)(nil), // 14: google.storage.v2.ServiceConstants
- (*Bucket)(nil), // 15: google.storage.v2.Bucket
- (*BucketAccessControl)(nil), // 16: google.storage.v2.BucketAccessControl
- (*ChecksummedData)(nil), // 17: google.storage.v2.ChecksummedData
- (*ObjectChecksums)(nil), // 18: google.storage.v2.ObjectChecksums
- (*Object)(nil), // 19: google.storage.v2.Object
- (*ObjectAccessControl)(nil), // 20: google.storage.v2.ObjectAccessControl
- (*ProjectTeam)(nil), // 21: google.storage.v2.ProjectTeam
- (*Owner)(nil), // 22: google.storage.v2.Owner
- (*ContentRange)(nil), // 23: google.storage.v2.ContentRange
- (*Bucket_Billing)(nil), // 24: google.storage.v2.Bucket.Billing
- (*Bucket_Cors)(nil), // 25: google.storage.v2.Bucket.Cors
- (*Bucket_Encryption)(nil), // 26: google.storage.v2.Bucket.Encryption
- (*Bucket_IamConfig)(nil), // 27: google.storage.v2.Bucket.IamConfig
- (*Bucket_Lifecycle)(nil), // 28: google.storage.v2.Bucket.Lifecycle
- (*Bucket_Logging)(nil), // 29: google.storage.v2.Bucket.Logging
- (*Bucket_RetentionPolicy)(nil), // 30: google.storage.v2.Bucket.RetentionPolicy
- (*Bucket_Versioning)(nil), // 31: google.storage.v2.Bucket.Versioning
- (*Bucket_Website)(nil), // 32: google.storage.v2.Bucket.Website
- nil, // 33: google.storage.v2.Bucket.LabelsEntry
- (*Bucket_IamConfig_UniformBucketLevelAccess)(nil), // 34: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
- (*Bucket_Lifecycle_Rule)(nil), // 35: google.storage.v2.Bucket.Lifecycle.Rule
- (*Bucket_Lifecycle_Rule_Action)(nil), // 36: google.storage.v2.Bucket.Lifecycle.Rule.Action
- (*Bucket_Lifecycle_Rule_Condition)(nil), // 37: google.storage.v2.Bucket.Lifecycle.Rule.Condition
- (*Object_CustomerEncryption)(nil), // 38: google.storage.v2.Object.CustomerEncryption
- nil, // 39: google.storage.v2.Object.MetadataEntry
- (*fieldmaskpb.FieldMask)(nil), // 40: google.protobuf.FieldMask
- (*timestamppb.Timestamp)(nil), // 41: google.protobuf.Timestamp
- (*date.Date)(nil), // 42: google.type.Date
+ (PredefinedObjectAcl)(0), // 0: google.storage.v2.PredefinedObjectAcl
+ (PredefinedBucketAcl)(0), // 1: google.storage.v2.PredefinedBucketAcl
+ (ServiceConstants_Values)(0), // 2: google.storage.v2.ServiceConstants.Values
+ (Bucket_IamConfig_PublicAccessPrevention)(0), // 3: google.storage.v2.Bucket.IamConfig.PublicAccessPrevention
+ (*DeleteBucketRequest)(nil), // 4: google.storage.v2.DeleteBucketRequest
+ (*GetBucketRequest)(nil), // 5: google.storage.v2.GetBucketRequest
+ (*CreateBucketRequest)(nil), // 6: google.storage.v2.CreateBucketRequest
+ (*ListBucketsRequest)(nil), // 7: google.storage.v2.ListBucketsRequest
+ (*ListBucketsResponse)(nil), // 8: google.storage.v2.ListBucketsResponse
+ (*LockBucketRetentionPolicyRequest)(nil), // 9: google.storage.v2.LockBucketRetentionPolicyRequest
+ (*UpdateBucketRequest)(nil), // 10: google.storage.v2.UpdateBucketRequest
+ (*DeleteNotificationRequest)(nil), // 11: google.storage.v2.DeleteNotificationRequest
+ (*GetNotificationRequest)(nil), // 12: google.storage.v2.GetNotificationRequest
+ (*CreateNotificationRequest)(nil), // 13: google.storage.v2.CreateNotificationRequest
+ (*ListNotificationsRequest)(nil), // 14: google.storage.v2.ListNotificationsRequest
+ (*ListNotificationsResponse)(nil), // 15: google.storage.v2.ListNotificationsResponse
+ (*ComposeObjectRequest)(nil), // 16: google.storage.v2.ComposeObjectRequest
+ (*DeleteObjectRequest)(nil), // 17: google.storage.v2.DeleteObjectRequest
+ (*ReadObjectRequest)(nil), // 18: google.storage.v2.ReadObjectRequest
+ (*GetObjectRequest)(nil), // 19: google.storage.v2.GetObjectRequest
+ (*ReadObjectResponse)(nil), // 20: google.storage.v2.ReadObjectResponse
+ (*WriteObjectSpec)(nil), // 21: google.storage.v2.WriteObjectSpec
+ (*WriteObjectRequest)(nil), // 22: google.storage.v2.WriteObjectRequest
+ (*WriteObjectResponse)(nil), // 23: google.storage.v2.WriteObjectResponse
+ (*ListObjectsRequest)(nil), // 24: google.storage.v2.ListObjectsRequest
+ (*QueryWriteStatusRequest)(nil), // 25: google.storage.v2.QueryWriteStatusRequest
+ (*QueryWriteStatusResponse)(nil), // 26: google.storage.v2.QueryWriteStatusResponse
+ (*RewriteObjectRequest)(nil), // 27: google.storage.v2.RewriteObjectRequest
+ (*RewriteResponse)(nil), // 28: google.storage.v2.RewriteResponse
+ (*StartResumableWriteRequest)(nil), // 29: google.storage.v2.StartResumableWriteRequest
+ (*StartResumableWriteResponse)(nil), // 30: google.storage.v2.StartResumableWriteResponse
+ (*UpdateObjectRequest)(nil), // 31: google.storage.v2.UpdateObjectRequest
+ (*GetServiceAccountRequest)(nil), // 32: google.storage.v2.GetServiceAccountRequest
+ (*CreateHmacKeyRequest)(nil), // 33: google.storage.v2.CreateHmacKeyRequest
+ (*CreateHmacKeyResponse)(nil), // 34: google.storage.v2.CreateHmacKeyResponse
+ (*DeleteHmacKeyRequest)(nil), // 35: google.storage.v2.DeleteHmacKeyRequest
+ (*GetHmacKeyRequest)(nil), // 36: google.storage.v2.GetHmacKeyRequest
+ (*ListHmacKeysRequest)(nil), // 37: google.storage.v2.ListHmacKeysRequest
+ (*ListHmacKeysResponse)(nil), // 38: google.storage.v2.ListHmacKeysResponse
+ (*UpdateHmacKeyRequest)(nil), // 39: google.storage.v2.UpdateHmacKeyRequest
+ (*CommonObjectRequestParams)(nil), // 40: google.storage.v2.CommonObjectRequestParams
+ (*CommonRequestParams)(nil), // 41: google.storage.v2.CommonRequestParams
+ (*ServiceConstants)(nil), // 42: google.storage.v2.ServiceConstants
+ (*Bucket)(nil), // 43: google.storage.v2.Bucket
+ (*BucketAccessControl)(nil), // 44: google.storage.v2.BucketAccessControl
+ (*ChecksummedData)(nil), // 45: google.storage.v2.ChecksummedData
+ (*ObjectChecksums)(nil), // 46: google.storage.v2.ObjectChecksums
+ (*HmacKeyMetadata)(nil), // 47: google.storage.v2.HmacKeyMetadata
+ (*Notification)(nil), // 48: google.storage.v2.Notification
+ (*CustomerEncryption)(nil), // 49: google.storage.v2.CustomerEncryption
+ (*Object)(nil), // 50: google.storage.v2.Object
+ (*ObjectAccessControl)(nil), // 51: google.storage.v2.ObjectAccessControl
+ (*ListObjectsResponse)(nil), // 52: google.storage.v2.ListObjectsResponse
+ (*ProjectTeam)(nil), // 53: google.storage.v2.ProjectTeam
+ (*ServiceAccount)(nil), // 54: google.storage.v2.ServiceAccount
+ (*Owner)(nil), // 55: google.storage.v2.Owner
+ (*ContentRange)(nil), // 56: google.storage.v2.ContentRange
+ (*ComposeObjectRequest_SourceObject)(nil), // 57: google.storage.v2.ComposeObjectRequest.SourceObject
+ (*ComposeObjectRequest_SourceObject_ObjectPreconditions)(nil), // 58: google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
+ (*Bucket_Billing)(nil), // 59: google.storage.v2.Bucket.Billing
+ (*Bucket_Cors)(nil), // 60: google.storage.v2.Bucket.Cors
+ (*Bucket_Encryption)(nil), // 61: google.storage.v2.Bucket.Encryption
+ (*Bucket_IamConfig)(nil), // 62: google.storage.v2.Bucket.IamConfig
+ (*Bucket_Lifecycle)(nil), // 63: google.storage.v2.Bucket.Lifecycle
+ (*Bucket_Logging)(nil), // 64: google.storage.v2.Bucket.Logging
+ (*Bucket_RetentionPolicy)(nil), // 65: google.storage.v2.Bucket.RetentionPolicy
+ (*Bucket_Versioning)(nil), // 66: google.storage.v2.Bucket.Versioning
+ (*Bucket_Website)(nil), // 67: google.storage.v2.Bucket.Website
+ (*Bucket_CustomPlacementConfig)(nil), // 68: google.storage.v2.Bucket.CustomPlacementConfig
+ nil, // 69: google.storage.v2.Bucket.LabelsEntry
+ (*Bucket_IamConfig_UniformBucketLevelAccess)(nil), // 70: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
+ (*Bucket_Lifecycle_Rule)(nil), // 71: google.storage.v2.Bucket.Lifecycle.Rule
+ (*Bucket_Lifecycle_Rule_Action)(nil), // 72: google.storage.v2.Bucket.Lifecycle.Rule.Action
+ (*Bucket_Lifecycle_Rule_Condition)(nil), // 73: google.storage.v2.Bucket.Lifecycle.Rule.Condition
+ nil, // 74: google.storage.v2.Notification.CustomAttributesEntry
+ nil, // 75: google.storage.v2.Object.MetadataEntry
+ (*fieldmaskpb.FieldMask)(nil), // 76: google.protobuf.FieldMask
+ (*timestamppb.Timestamp)(nil), // 77: google.protobuf.Timestamp
+ (*date.Date)(nil), // 78: google.type.Date
+ (*v1.GetIamPolicyRequest)(nil), // 79: google.iam.v1.GetIamPolicyRequest
+ (*v1.SetIamPolicyRequest)(nil), // 80: google.iam.v1.SetIamPolicyRequest
+ (*v1.TestIamPermissionsRequest)(nil), // 81: google.iam.v1.TestIamPermissionsRequest
+ (*emptypb.Empty)(nil), // 82: google.protobuf.Empty
+ (*v1.Policy)(nil), // 83: google.iam.v1.Policy
+ (*v1.TestIamPermissionsResponse)(nil), // 84: google.iam.v1.TestIamPermissionsResponse
}
var file_google_storage_v2_storage_proto_depIdxs = []int32{
- 12, // 0: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 13, // 1: google.storage.v2.ReadObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
- 40, // 2: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
- 17, // 3: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData
- 18, // 4: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums
- 23, // 5: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange
- 19, // 6: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object
- 19, // 7: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object
- 0, // 8: google.storage.v2.WriteObjectSpec.predefined_acl:type_name -> google.storage.v2.PredefinedObjectAcl
- 5, // 9: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
- 17, // 10: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData
- 18, // 11: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
- 12, // 12: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 13, // 13: google.storage.v2.WriteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
- 19, // 14: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object
- 12, // 15: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 13, // 16: google.storage.v2.QueryWriteStatusRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
- 19, // 17: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object
- 5, // 18: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
- 12, // 19: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
- 13, // 20: google.storage.v2.StartResumableWriteRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
- 16, // 21: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl
- 20, // 22: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl
- 28, // 23: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle
- 41, // 24: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp
- 25, // 25: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors
- 41, // 26: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp
- 33, // 27: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry
- 32, // 28: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website
- 31, // 29: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning
- 29, // 30: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging
- 22, // 31: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner
- 26, // 32: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption
- 24, // 33: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing
- 30, // 34: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy
- 27, // 35: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig
- 21, // 36: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
- 20, // 37: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl
- 41, // 38: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp
- 41, // 39: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp
- 18, // 40: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums
- 41, // 41: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp
- 41, // 42: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp
- 41, // 43: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp
- 39, // 44: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry
- 22, // 45: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner
- 38, // 46: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.Object.CustomerEncryption
- 41, // 47: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp
- 21, // 48: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
- 34, // 49: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
- 2, // 50: google.storage.v2.Bucket.IamConfig.public_access_prevention:type_name -> google.storage.v2.Bucket.IamConfig.PublicAccessPrevention
- 35, // 51: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule
- 41, // 52: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
- 41, // 53: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp
- 36, // 54: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action
- 37, // 55: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition
- 42, // 56: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date
- 42, // 57: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date
- 42, // 58: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date
- 3, // 59: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest
- 6, // 60: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest
- 10, // 61: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest
- 8, // 62: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest
- 4, // 63: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse
- 7, // 64: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse
- 11, // 65: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse
- 9, // 66: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse
- 63, // [63:67] is the sub-list for method output_type
- 59, // [59:63] is the sub-list for method input_type
- 59, // [59:59] is the sub-list for extension type_name
- 59, // [59:59] is the sub-list for extension extendee
- 0, // [0:59] is the sub-list for field type_name
+ 41, // 0: google.storage.v2.DeleteBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 41, // 1: google.storage.v2.GetBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 76, // 2: google.storage.v2.GetBucketRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 43, // 3: google.storage.v2.CreateBucketRequest.bucket:type_name -> google.storage.v2.Bucket
+ 1, // 4: google.storage.v2.CreateBucketRequest.predefined_acl:type_name -> google.storage.v2.PredefinedBucketAcl
+ 0, // 5: google.storage.v2.CreateBucketRequest.predefined_default_object_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 76, // 6: google.storage.v2.ListBucketsRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 41, // 7: google.storage.v2.ListBucketsRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 43, // 8: google.storage.v2.ListBucketsResponse.buckets:type_name -> google.storage.v2.Bucket
+ 41, // 9: google.storage.v2.LockBucketRetentionPolicyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 43, // 10: google.storage.v2.UpdateBucketRequest.bucket:type_name -> google.storage.v2.Bucket
+ 1, // 11: google.storage.v2.UpdateBucketRequest.predefined_acl:type_name -> google.storage.v2.PredefinedBucketAcl
+ 0, // 12: google.storage.v2.UpdateBucketRequest.predefined_default_object_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 76, // 13: google.storage.v2.UpdateBucketRequest.update_mask:type_name -> google.protobuf.FieldMask
+ 41, // 14: google.storage.v2.UpdateBucketRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 48, // 15: google.storage.v2.CreateNotificationRequest.notification:type_name -> google.storage.v2.Notification
+ 48, // 16: google.storage.v2.ListNotificationsResponse.notifications:type_name -> google.storage.v2.Notification
+ 50, // 17: google.storage.v2.ComposeObjectRequest.destination:type_name -> google.storage.v2.Object
+ 57, // 18: google.storage.v2.ComposeObjectRequest.source_objects:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject
+ 0, // 19: google.storage.v2.ComposeObjectRequest.destination_predefined_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 40, // 20: google.storage.v2.ComposeObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 21: google.storage.v2.ComposeObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 40, // 22: google.storage.v2.DeleteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 23: google.storage.v2.DeleteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 40, // 24: google.storage.v2.ReadObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 25: google.storage.v2.ReadObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 76, // 26: google.storage.v2.ReadObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 40, // 27: google.storage.v2.GetObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 28: google.storage.v2.GetObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 76, // 29: google.storage.v2.GetObjectRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 45, // 30: google.storage.v2.ReadObjectResponse.checksummed_data:type_name -> google.storage.v2.ChecksummedData
+ 46, // 31: google.storage.v2.ReadObjectResponse.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 56, // 32: google.storage.v2.ReadObjectResponse.content_range:type_name -> google.storage.v2.ContentRange
+ 50, // 33: google.storage.v2.ReadObjectResponse.metadata:type_name -> google.storage.v2.Object
+ 50, // 34: google.storage.v2.WriteObjectSpec.resource:type_name -> google.storage.v2.Object
+ 0, // 35: google.storage.v2.WriteObjectSpec.predefined_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 21, // 36: google.storage.v2.WriteObjectRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
+ 45, // 37: google.storage.v2.WriteObjectRequest.checksummed_data:type_name -> google.storage.v2.ChecksummedData
+ 46, // 38: google.storage.v2.WriteObjectRequest.object_checksums:type_name -> google.storage.v2.ObjectChecksums
+ 40, // 39: google.storage.v2.WriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 40: google.storage.v2.WriteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 50, // 41: google.storage.v2.WriteObjectResponse.resource:type_name -> google.storage.v2.Object
+ 76, // 42: google.storage.v2.ListObjectsRequest.read_mask:type_name -> google.protobuf.FieldMask
+ 41, // 43: google.storage.v2.ListObjectsRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 40, // 44: google.storage.v2.QueryWriteStatusRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 45: google.storage.v2.QueryWriteStatusRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 50, // 46: google.storage.v2.QueryWriteStatusResponse.resource:type_name -> google.storage.v2.Object
+ 50, // 47: google.storage.v2.RewriteObjectRequest.destination:type_name -> google.storage.v2.Object
+ 0, // 48: google.storage.v2.RewriteObjectRequest.destination_predefined_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 40, // 49: google.storage.v2.RewriteObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 50: google.storage.v2.RewriteObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 50, // 51: google.storage.v2.RewriteResponse.resource:type_name -> google.storage.v2.Object
+ 21, // 52: google.storage.v2.StartResumableWriteRequest.write_object_spec:type_name -> google.storage.v2.WriteObjectSpec
+ 40, // 53: google.storage.v2.StartResumableWriteRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 54: google.storage.v2.StartResumableWriteRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 50, // 55: google.storage.v2.UpdateObjectRequest.object:type_name -> google.storage.v2.Object
+ 0, // 56: google.storage.v2.UpdateObjectRequest.predefined_acl:type_name -> google.storage.v2.PredefinedObjectAcl
+ 76, // 57: google.storage.v2.UpdateObjectRequest.update_mask:type_name -> google.protobuf.FieldMask
+ 40, // 58: google.storage.v2.UpdateObjectRequest.common_object_request_params:type_name -> google.storage.v2.CommonObjectRequestParams
+ 41, // 59: google.storage.v2.UpdateObjectRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 41, // 60: google.storage.v2.GetServiceAccountRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 41, // 61: google.storage.v2.CreateHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 47, // 62: google.storage.v2.CreateHmacKeyResponse.metadata:type_name -> google.storage.v2.HmacKeyMetadata
+ 41, // 63: google.storage.v2.DeleteHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 41, // 64: google.storage.v2.GetHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 41, // 65: google.storage.v2.ListHmacKeysRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 47, // 66: google.storage.v2.ListHmacKeysResponse.hmac_keys:type_name -> google.storage.v2.HmacKeyMetadata
+ 47, // 67: google.storage.v2.UpdateHmacKeyRequest.hmac_key:type_name -> google.storage.v2.HmacKeyMetadata
+ 41, // 68: google.storage.v2.UpdateHmacKeyRequest.common_request_params:type_name -> google.storage.v2.CommonRequestParams
+ 76, // 69: google.storage.v2.UpdateHmacKeyRequest.update_mask:type_name -> google.protobuf.FieldMask
+ 44, // 70: google.storage.v2.Bucket.acl:type_name -> google.storage.v2.BucketAccessControl
+ 51, // 71: google.storage.v2.Bucket.default_object_acl:type_name -> google.storage.v2.ObjectAccessControl
+ 63, // 72: google.storage.v2.Bucket.lifecycle:type_name -> google.storage.v2.Bucket.Lifecycle
+ 77, // 73: google.storage.v2.Bucket.create_time:type_name -> google.protobuf.Timestamp
+ 60, // 74: google.storage.v2.Bucket.cors:type_name -> google.storage.v2.Bucket.Cors
+ 77, // 75: google.storage.v2.Bucket.update_time:type_name -> google.protobuf.Timestamp
+ 69, // 76: google.storage.v2.Bucket.labels:type_name -> google.storage.v2.Bucket.LabelsEntry
+ 67, // 77: google.storage.v2.Bucket.website:type_name -> google.storage.v2.Bucket.Website
+ 66, // 78: google.storage.v2.Bucket.versioning:type_name -> google.storage.v2.Bucket.Versioning
+ 64, // 79: google.storage.v2.Bucket.logging:type_name -> google.storage.v2.Bucket.Logging
+ 55, // 80: google.storage.v2.Bucket.owner:type_name -> google.storage.v2.Owner
+ 61, // 81: google.storage.v2.Bucket.encryption:type_name -> google.storage.v2.Bucket.Encryption
+ 59, // 82: google.storage.v2.Bucket.billing:type_name -> google.storage.v2.Bucket.Billing
+ 65, // 83: google.storage.v2.Bucket.retention_policy:type_name -> google.storage.v2.Bucket.RetentionPolicy
+ 62, // 84: google.storage.v2.Bucket.iam_config:type_name -> google.storage.v2.Bucket.IamConfig
+ 68, // 85: google.storage.v2.Bucket.custom_placement_config:type_name -> google.storage.v2.Bucket.CustomPlacementConfig
+ 53, // 86: google.storage.v2.BucketAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
+ 77, // 87: google.storage.v2.HmacKeyMetadata.create_time:type_name -> google.protobuf.Timestamp
+ 77, // 88: google.storage.v2.HmacKeyMetadata.update_time:type_name -> google.protobuf.Timestamp
+ 74, // 89: google.storage.v2.Notification.custom_attributes:type_name -> google.storage.v2.Notification.CustomAttributesEntry
+ 51, // 90: google.storage.v2.Object.acl:type_name -> google.storage.v2.ObjectAccessControl
+ 77, // 91: google.storage.v2.Object.delete_time:type_name -> google.protobuf.Timestamp
+ 77, // 92: google.storage.v2.Object.create_time:type_name -> google.protobuf.Timestamp
+ 46, // 93: google.storage.v2.Object.checksums:type_name -> google.storage.v2.ObjectChecksums
+ 77, // 94: google.storage.v2.Object.update_time:type_name -> google.protobuf.Timestamp
+ 77, // 95: google.storage.v2.Object.update_storage_class_time:type_name -> google.protobuf.Timestamp
+ 77, // 96: google.storage.v2.Object.retention_expire_time:type_name -> google.protobuf.Timestamp
+ 75, // 97: google.storage.v2.Object.metadata:type_name -> google.storage.v2.Object.MetadataEntry
+ 55, // 98: google.storage.v2.Object.owner:type_name -> google.storage.v2.Owner
+ 49, // 99: google.storage.v2.Object.customer_encryption:type_name -> google.storage.v2.CustomerEncryption
+ 77, // 100: google.storage.v2.Object.custom_time:type_name -> google.protobuf.Timestamp
+ 53, // 101: google.storage.v2.ObjectAccessControl.project_team:type_name -> google.storage.v2.ProjectTeam
+ 50, // 102: google.storage.v2.ListObjectsResponse.objects:type_name -> google.storage.v2.Object
+ 58, // 103: google.storage.v2.ComposeObjectRequest.SourceObject.object_preconditions:type_name -> google.storage.v2.ComposeObjectRequest.SourceObject.ObjectPreconditions
+ 70, // 104: google.storage.v2.Bucket.IamConfig.uniform_bucket_level_access:type_name -> google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess
+ 3, // 105: google.storage.v2.Bucket.IamConfig.public_access_prevention:type_name -> google.storage.v2.Bucket.IamConfig.PublicAccessPrevention
+ 71, // 106: google.storage.v2.Bucket.Lifecycle.rule:type_name -> google.storage.v2.Bucket.Lifecycle.Rule
+ 77, // 107: google.storage.v2.Bucket.RetentionPolicy.effective_time:type_name -> google.protobuf.Timestamp
+ 77, // 108: google.storage.v2.Bucket.IamConfig.UniformBucketLevelAccess.lock_time:type_name -> google.protobuf.Timestamp
+ 72, // 109: google.storage.v2.Bucket.Lifecycle.Rule.action:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Action
+ 73, // 110: google.storage.v2.Bucket.Lifecycle.Rule.condition:type_name -> google.storage.v2.Bucket.Lifecycle.Rule.Condition
+ 78, // 111: google.storage.v2.Bucket.Lifecycle.Rule.Condition.created_before:type_name -> google.type.Date
+ 78, // 112: google.storage.v2.Bucket.Lifecycle.Rule.Condition.custom_time_before:type_name -> google.type.Date
+ 78, // 113: google.storage.v2.Bucket.Lifecycle.Rule.Condition.noncurrent_time_before:type_name -> google.type.Date
+ 4, // 114: google.storage.v2.Storage.DeleteBucket:input_type -> google.storage.v2.DeleteBucketRequest
+ 5, // 115: google.storage.v2.Storage.GetBucket:input_type -> google.storage.v2.GetBucketRequest
+ 6, // 116: google.storage.v2.Storage.CreateBucket:input_type -> google.storage.v2.CreateBucketRequest
+ 7, // 117: google.storage.v2.Storage.ListBuckets:input_type -> google.storage.v2.ListBucketsRequest
+ 9, // 118: google.storage.v2.Storage.LockBucketRetentionPolicy:input_type -> google.storage.v2.LockBucketRetentionPolicyRequest
+ 79, // 119: google.storage.v2.Storage.GetIamPolicy:input_type -> google.iam.v1.GetIamPolicyRequest
+ 80, // 120: google.storage.v2.Storage.SetIamPolicy:input_type -> google.iam.v1.SetIamPolicyRequest
+ 81, // 121: google.storage.v2.Storage.TestIamPermissions:input_type -> google.iam.v1.TestIamPermissionsRequest
+ 10, // 122: google.storage.v2.Storage.UpdateBucket:input_type -> google.storage.v2.UpdateBucketRequest
+ 11, // 123: google.storage.v2.Storage.DeleteNotification:input_type -> google.storage.v2.DeleteNotificationRequest
+ 12, // 124: google.storage.v2.Storage.GetNotification:input_type -> google.storage.v2.GetNotificationRequest
+ 13, // 125: google.storage.v2.Storage.CreateNotification:input_type -> google.storage.v2.CreateNotificationRequest
+ 14, // 126: google.storage.v2.Storage.ListNotifications:input_type -> google.storage.v2.ListNotificationsRequest
+ 16, // 127: google.storage.v2.Storage.ComposeObject:input_type -> google.storage.v2.ComposeObjectRequest
+ 17, // 128: google.storage.v2.Storage.DeleteObject:input_type -> google.storage.v2.DeleteObjectRequest
+ 19, // 129: google.storage.v2.Storage.GetObject:input_type -> google.storage.v2.GetObjectRequest
+ 18, // 130: google.storage.v2.Storage.ReadObject:input_type -> google.storage.v2.ReadObjectRequest
+ 31, // 131: google.storage.v2.Storage.UpdateObject:input_type -> google.storage.v2.UpdateObjectRequest
+ 22, // 132: google.storage.v2.Storage.WriteObject:input_type -> google.storage.v2.WriteObjectRequest
+ 24, // 133: google.storage.v2.Storage.ListObjects:input_type -> google.storage.v2.ListObjectsRequest
+ 27, // 134: google.storage.v2.Storage.RewriteObject:input_type -> google.storage.v2.RewriteObjectRequest
+ 29, // 135: google.storage.v2.Storage.StartResumableWrite:input_type -> google.storage.v2.StartResumableWriteRequest
+ 25, // 136: google.storage.v2.Storage.QueryWriteStatus:input_type -> google.storage.v2.QueryWriteStatusRequest
+ 32, // 137: google.storage.v2.Storage.GetServiceAccount:input_type -> google.storage.v2.GetServiceAccountRequest
+ 33, // 138: google.storage.v2.Storage.CreateHmacKey:input_type -> google.storage.v2.CreateHmacKeyRequest
+ 35, // 139: google.storage.v2.Storage.DeleteHmacKey:input_type -> google.storage.v2.DeleteHmacKeyRequest
+ 36, // 140: google.storage.v2.Storage.GetHmacKey:input_type -> google.storage.v2.GetHmacKeyRequest
+ 37, // 141: google.storage.v2.Storage.ListHmacKeys:input_type -> google.storage.v2.ListHmacKeysRequest
+ 39, // 142: google.storage.v2.Storage.UpdateHmacKey:input_type -> google.storage.v2.UpdateHmacKeyRequest
+ 82, // 143: google.storage.v2.Storage.DeleteBucket:output_type -> google.protobuf.Empty
+ 43, // 144: google.storage.v2.Storage.GetBucket:output_type -> google.storage.v2.Bucket
+ 43, // 145: google.storage.v2.Storage.CreateBucket:output_type -> google.storage.v2.Bucket
+ 8, // 146: google.storage.v2.Storage.ListBuckets:output_type -> google.storage.v2.ListBucketsResponse
+ 43, // 147: google.storage.v2.Storage.LockBucketRetentionPolicy:output_type -> google.storage.v2.Bucket
+ 83, // 148: google.storage.v2.Storage.GetIamPolicy:output_type -> google.iam.v1.Policy
+ 83, // 149: google.storage.v2.Storage.SetIamPolicy:output_type -> google.iam.v1.Policy
+ 84, // 150: google.storage.v2.Storage.TestIamPermissions:output_type -> google.iam.v1.TestIamPermissionsResponse
+ 43, // 151: google.storage.v2.Storage.UpdateBucket:output_type -> google.storage.v2.Bucket
+ 82, // 152: google.storage.v2.Storage.DeleteNotification:output_type -> google.protobuf.Empty
+ 48, // 153: google.storage.v2.Storage.GetNotification:output_type -> google.storage.v2.Notification
+ 48, // 154: google.storage.v2.Storage.CreateNotification:output_type -> google.storage.v2.Notification
+ 15, // 155: google.storage.v2.Storage.ListNotifications:output_type -> google.storage.v2.ListNotificationsResponse
+ 50, // 156: google.storage.v2.Storage.ComposeObject:output_type -> google.storage.v2.Object
+ 82, // 157: google.storage.v2.Storage.DeleteObject:output_type -> google.protobuf.Empty
+ 50, // 158: google.storage.v2.Storage.GetObject:output_type -> google.storage.v2.Object
+ 20, // 159: google.storage.v2.Storage.ReadObject:output_type -> google.storage.v2.ReadObjectResponse
+ 50, // 160: google.storage.v2.Storage.UpdateObject:output_type -> google.storage.v2.Object
+ 23, // 161: google.storage.v2.Storage.WriteObject:output_type -> google.storage.v2.WriteObjectResponse
+ 52, // 162: google.storage.v2.Storage.ListObjects:output_type -> google.storage.v2.ListObjectsResponse
+ 28, // 163: google.storage.v2.Storage.RewriteObject:output_type -> google.storage.v2.RewriteResponse
+ 30, // 164: google.storage.v2.Storage.StartResumableWrite:output_type -> google.storage.v2.StartResumableWriteResponse
+ 26, // 165: google.storage.v2.Storage.QueryWriteStatus:output_type -> google.storage.v2.QueryWriteStatusResponse
+ 54, // 166: google.storage.v2.Storage.GetServiceAccount:output_type -> google.storage.v2.ServiceAccount
+ 34, // 167: google.storage.v2.Storage.CreateHmacKey:output_type -> google.storage.v2.CreateHmacKeyResponse
+ 82, // 168: google.storage.v2.Storage.DeleteHmacKey:output_type -> google.protobuf.Empty
+ 47, // 169: google.storage.v2.Storage.GetHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
+ 38, // 170: google.storage.v2.Storage.ListHmacKeys:output_type -> google.storage.v2.ListHmacKeysResponse
+ 47, // 171: google.storage.v2.Storage.UpdateHmacKey:output_type -> google.storage.v2.HmacKeyMetadata
+ 143, // [143:172] is the sub-list for method output_type
+ 114, // [114:143] is the sub-list for method input_type
+ 114, // [114:114] is the sub-list for extension type_name
+ 114, // [114:114] is the sub-list for extension extendee
+ 0, // [0:114] is the sub-list for field type_name
}
func init() { file_google_storage_v2_storage_proto_init() }
@@ -4382,6 +8551,174 @@ func file_google_storage_v2_storage_proto_init() {
}
if !protoimpl.UnsafeEnabled {
file_google_storage_v2_storage_proto_msgTypes[0].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteBucketRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetBucketRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateBucketRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListBucketsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListBucketsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*LockBucketRetentionPolicyRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateBucketRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteNotificationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetNotificationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateNotificationRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListNotificationsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListNotificationsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ComposeObjectRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteObjectRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ReadObjectRequest); i {
case 0:
return &v.state
@@ -4393,8 +8730,116 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[1].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*ReadObjectResponse); i {
+ file_google_storage_v2_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetObjectRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ReadObjectResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WriteObjectSpec); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WriteObjectRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*WriteObjectResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListObjectsRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryWriteStatusRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*QueryWriteStatusResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RewriteObjectRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*RewriteResponse); i {
case 0:
return &v.state
case 1:
@@ -4405,8 +8850,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[2].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WriteObjectSpec); i {
+ file_google_storage_v2_storage_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartResumableWriteRequest); i {
case 0:
return &v.state
case 1:
@@ -4417,8 +8862,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[3].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WriteObjectRequest); i {
+ file_google_storage_v2_storage_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*StartResumableWriteResponse); i {
case 0:
return &v.state
case 1:
@@ -4429,8 +8874,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[4].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*WriteObjectResponse); i {
+ file_google_storage_v2_storage_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateObjectRequest); i {
case 0:
return &v.state
case 1:
@@ -4441,8 +8886,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[5].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QueryWriteStatusRequest); i {
+ file_google_storage_v2_storage_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetServiceAccountRequest); i {
case 0:
return &v.state
case 1:
@@ -4453,8 +8898,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[6].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*QueryWriteStatusResponse); i {
+ file_google_storage_v2_storage_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateHmacKeyRequest); i {
case 0:
return &v.state
case 1:
@@ -4465,8 +8910,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[7].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StartResumableWriteRequest); i {
+ file_google_storage_v2_storage_proto_msgTypes[30].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CreateHmacKeyResponse); i {
case 0:
return &v.state
case 1:
@@ -4477,8 +8922,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[8].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*StartResumableWriteResponse); i {
+ file_google_storage_v2_storage_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*DeleteHmacKeyRequest); i {
case 0:
return &v.state
case 1:
@@ -4489,7 +8934,55 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[9].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*GetHmacKeyRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListHmacKeysRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListHmacKeysResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*UpdateHmacKeyRequest); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[36].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonObjectRequestParams); i {
case 0:
return &v.state
@@ -4501,7 +8994,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[10].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[37].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*CommonRequestParams); i {
case 0:
return &v.state
@@ -4513,7 +9006,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[11].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[38].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ServiceConstants); i {
case 0:
return &v.state
@@ -4525,7 +9018,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[12].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[39].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket); i {
case 0:
return &v.state
@@ -4537,7 +9030,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[13].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[40].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*BucketAccessControl); i {
case 0:
return &v.state
@@ -4549,7 +9042,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[14].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[41].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ChecksummedData); i {
case 0:
return &v.state
@@ -4561,7 +9054,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[15].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[42].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ObjectChecksums); i {
case 0:
return &v.state
@@ -4573,7 +9066,43 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[16].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[43].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*HmacKeyMetadata); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[44].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Notification); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[45].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*CustomerEncryption); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[46].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Object); i {
case 0:
return &v.state
@@ -4585,7 +9114,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[17].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[47].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ObjectAccessControl); i {
case 0:
return &v.state
@@ -4597,7 +9126,19 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[18].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[48].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ListObjectsResponse); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[49].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ProjectTeam); i {
case 0:
return &v.state
@@ -4609,7 +9150,19 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[19].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[50].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ServiceAccount); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[51].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Owner); i {
case 0:
return &v.state
@@ -4621,7 +9174,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[20].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[52].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*ContentRange); i {
case 0:
return &v.state
@@ -4633,7 +9186,31 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[21].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[53].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ComposeObjectRequest_SourceObject); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[54].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*ComposeObjectRequest_SourceObject_ObjectPreconditions); i {
+ case 0:
+ return &v.state
+ case 1:
+ return &v.sizeCache
+ case 2:
+ return &v.unknownFields
+ default:
+ return nil
+ }
+ }
+ file_google_storage_v2_storage_proto_msgTypes[55].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Billing); i {
case 0:
return &v.state
@@ -4645,7 +9222,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[22].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[56].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Cors); i {
case 0:
return &v.state
@@ -4657,7 +9234,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[23].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[57].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Encryption); i {
case 0:
return &v.state
@@ -4669,7 +9246,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[24].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[58].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_IamConfig); i {
case 0:
return &v.state
@@ -4681,7 +9258,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[25].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[59].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Lifecycle); i {
case 0:
return &v.state
@@ -4693,7 +9270,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[26].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[60].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Logging); i {
case 0:
return &v.state
@@ -4705,7 +9282,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[27].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[61].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_RetentionPolicy); i {
case 0:
return &v.state
@@ -4717,7 +9294,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[28].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[62].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Versioning); i {
case 0:
return &v.state
@@ -4729,7 +9306,7 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[29].Exporter = func(v interface{}, i int) interface{} {
+ file_google_storage_v2_storage_proto_msgTypes[63].Exporter = func(v interface{}, i int) interface{} {
switch v := v.(*Bucket_Website); i {
case 0:
return &v.state
@@ -4741,8 +9318,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[31].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Bucket_IamConfig_UniformBucketLevelAccess); i {
+ file_google_storage_v2_storage_proto_msgTypes[64].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Bucket_CustomPlacementConfig); i {
case 0:
return &v.state
case 1:
@@ -4753,8 +9330,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[32].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Bucket_Lifecycle_Rule); i {
+ file_google_storage_v2_storage_proto_msgTypes[66].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Bucket_IamConfig_UniformBucketLevelAccess); i {
case 0:
return &v.state
case 1:
@@ -4765,8 +9342,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[33].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Bucket_Lifecycle_Rule_Action); i {
+ file_google_storage_v2_storage_proto_msgTypes[67].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Bucket_Lifecycle_Rule); i {
case 0:
return &v.state
case 1:
@@ -4777,8 +9354,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[34].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Bucket_Lifecycle_Rule_Condition); i {
+ file_google_storage_v2_storage_proto_msgTypes[68].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Bucket_Lifecycle_Rule_Action); i {
case 0:
return &v.state
case 1:
@@ -4789,8 +9366,8 @@ func file_google_storage_v2_storage_proto_init() {
return nil
}
}
- file_google_storage_v2_storage_proto_msgTypes[35].Exporter = func(v interface{}, i int) interface{} {
- switch v := v.(*Object_CustomerEncryption); i {
+ file_google_storage_v2_storage_proto_msgTypes[69].Exporter = func(v interface{}, i int) interface{} {
+ switch v := v.(*Bucket_Lifecycle_Rule_Condition); i {
case 0:
return &v.state
case 1:
@@ -4803,31 +9380,42 @@ func file_google_storage_v2_storage_proto_init() {
}
}
file_google_storage_v2_storage_proto_msgTypes[0].OneofWrappers = []interface{}{}
- file_google_storage_v2_storage_proto_msgTypes[2].OneofWrappers = []interface{}{}
- file_google_storage_v2_storage_proto_msgTypes[3].OneofWrappers = []interface{}{
+ file_google_storage_v2_storage_proto_msgTypes[1].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[3].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[6].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[12].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[13].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[14].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[15].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[17].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[18].OneofWrappers = []interface{}{
(*WriteObjectRequest_UploadId)(nil),
(*WriteObjectRequest_WriteObjectSpec)(nil),
(*WriteObjectRequest_ChecksummedData)(nil),
}
- file_google_storage_v2_storage_proto_msgTypes[4].OneofWrappers = []interface{}{
- (*WriteObjectResponse_CommittedSize)(nil),
+ file_google_storage_v2_storage_proto_msgTypes[19].OneofWrappers = []interface{}{
+ (*WriteObjectResponse_PersistedSize)(nil),
(*WriteObjectResponse_Resource)(nil),
}
- file_google_storage_v2_storage_proto_msgTypes[6].OneofWrappers = []interface{}{
- (*QueryWriteStatusResponse_CommittedSize)(nil),
+ file_google_storage_v2_storage_proto_msgTypes[20].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[22].OneofWrappers = []interface{}{
+ (*QueryWriteStatusResponse_PersistedSize)(nil),
(*QueryWriteStatusResponse_Resource)(nil),
}
- file_google_storage_v2_storage_proto_msgTypes[14].OneofWrappers = []interface{}{}
- file_google_storage_v2_storage_proto_msgTypes[15].OneofWrappers = []interface{}{}
- file_google_storage_v2_storage_proto_msgTypes[16].OneofWrappers = []interface{}{}
- file_google_storage_v2_storage_proto_msgTypes[34].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[23].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[27].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[41].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[42].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[46].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[54].OneofWrappers = []interface{}{}
+ file_google_storage_v2_storage_proto_msgTypes[69].OneofWrappers = []interface{}{}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_google_storage_v2_storage_proto_rawDesc,
- NumEnums: 3,
- NumMessages: 37,
+ NumEnums: 4,
+ NumMessages: 72,
NumExtensions: 0,
NumServices: 1,
},
@@ -4854,8 +9442,50 @@ const _ = grpc.SupportPackageIsVersion6
//
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
type StorageClient interface {
+ // Permanently deletes an empty bucket.
+ DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Returns metadata for the specified bucket.
+ GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
+ // Creates a new bucket.
+ CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
+ // Retrieves a list of buckets for a given project.
+ ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error)
+ // Locks retention policy on a bucket.
+ LockBucketRetentionPolicy(ctx context.Context, in *LockBucketRetentionPolicyRequest, opts ...grpc.CallOption) (*Bucket, error)
+ // Gets the IAM policy for a specified bucket.
+ GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+ // Updates an IAM policy for the specified bucket.
+ SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error)
+ // Tests a set of permissions on the given bucket to see which, if
+ // any, are held by the caller.
+ TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error)
+ // Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
+ UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*Bucket, error)
+ // Permanently deletes a notification subscription.
+ DeleteNotification(ctx context.Context, in *DeleteNotificationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // View a notification config.
+ GetNotification(ctx context.Context, in *GetNotificationRequest, opts ...grpc.CallOption) (*Notification, error)
+ // Creates a notification subscription for a given bucket.
+ // These notifications, when triggered, publish messages to the specified
+ // Pub/Sub topics.
+ // See https://cloud.google.com/storage/docs/pubsub-notifications.
+ CreateNotification(ctx context.Context, in *CreateNotificationRequest, opts ...grpc.CallOption) (*Notification, error)
+ // Retrieves a list of notification subscriptions for a given bucket.
+ ListNotifications(ctx context.Context, in *ListNotificationsRequest, opts ...grpc.CallOption) (*ListNotificationsResponse, error)
+ // Concatenates a list of existing objects into a new object in the same
+ // bucket.
+ ComposeObject(ctx context.Context, in *ComposeObjectRequest, opts ...grpc.CallOption) (*Object, error)
+ // Deletes an object and its metadata. Deletions are permanent if versioning
+ // is not enabled for the bucket, or if the `generation` parameter
+ // is used.
+ DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Retrieves an object's metadata.
+ GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (*Object, error)
// Reads an object's data.
ReadObject(ctx context.Context, in *ReadObjectRequest, opts ...grpc.CallOption) (Storage_ReadObjectClient, error)
+ // Updates an object's metadata.
+ // Equivalent to JSON API's storage.objects.patch.
+ UpdateObject(ctx context.Context, in *UpdateObjectRequest, opts ...grpc.CallOption) (*Object, error)
// Stores a new object and metadata.
//
// An object can be written either in a single message stream or in a
@@ -4871,7 +9501,7 @@ type StorageClient interface {
// each following call to `Create`. If there is an error or the connection is
// broken during the resumable `Create()`, the client should check the status
// of the `Create()` by calling `QueryWriteStatus()` and continue writing from
- // the returned `committed_size`. This may be less than the amount of data the
+ // the returned `persisted_size`. This may be less than the amount of data the
// client previously sent.
//
// The service will not view the object as complete until the client has
@@ -4881,11 +9511,16 @@ type StorageClient interface {
// receives to determine how much data the service was able to commit and
// whether the service views the object as complete.
WriteObject(ctx context.Context, opts ...grpc.CallOption) (Storage_WriteObjectClient, error)
+ // Retrieves a list of objects matching the criteria.
+ ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error)
+ // Rewrites a source object to a destination object. Optionally overrides
+ // metadata.
+ RewriteObject(ctx context.Context, in *RewriteObjectRequest, opts ...grpc.CallOption) (*RewriteResponse, error)
// Starts a resumable write. How long the write operation remains valid, and
// what happens when the write operation becomes invalid, are
// service-dependent.
StartResumableWrite(ctx context.Context, in *StartResumableWriteRequest, opts ...grpc.CallOption) (*StartResumableWriteResponse, error)
- // Determines the `committed_size` for an object that is being written, which
+ // Determines the `persisted_size` for an object that is being written, which
// can then be used as the `write_offset` for the next `Write()` call.
//
// If the object does not exist (i.e., the object has been deleted, or the
@@ -4896,17 +9531,173 @@ type StorageClient interface {
// much data has been processed for this object. This is useful if the
// client is buffering data and needs to know which data can be safely
// evicted. For any sequence of `QueryWriteStatus()` calls for a given
- // object name, the sequence of returned `committed_size` values will be
+ // object name, the sequence of returned `persisted_size` values will be
// non-decreasing.
QueryWriteStatus(ctx context.Context, in *QueryWriteStatusRequest, opts ...grpc.CallOption) (*QueryWriteStatusResponse, error)
+ // Retrieves the name of a project's Google Cloud Storage service account.
+ GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error)
+ // Creates a new HMAC key for the given service account.
+ CreateHmacKey(ctx context.Context, in *CreateHmacKeyRequest, opts ...grpc.CallOption) (*CreateHmacKeyResponse, error)
+ // Deletes a given HMAC key. Key must be in an INACTIVE state.
+ DeleteHmacKey(ctx context.Context, in *DeleteHmacKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error)
+ // Gets an existing HMAC key metadata for the given id.
+ GetHmacKey(ctx context.Context, in *GetHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error)
+ // Lists HMAC keys under a given project with the additional filters provided.
+ ListHmacKeys(ctx context.Context, in *ListHmacKeysRequest, opts ...grpc.CallOption) (*ListHmacKeysResponse, error)
+ // Updates a given HMAC key state between ACTIVE and INACTIVE.
+ UpdateHmacKey(ctx context.Context, in *UpdateHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error)
+}
+
+type storageClient struct {
+ cc grpc.ClientConnInterface
+}
+
+func NewStorageClient(cc grpc.ClientConnInterface) StorageClient {
+ return &storageClient{cc}
+}
+
+func (c *storageClient) DeleteBucket(ctx context.Context, in *DeleteBucketRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteBucket", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) GetBucket(ctx context.Context, in *GetBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
+ out := new(Bucket)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetBucket", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) CreateBucket(ctx context.Context, in *CreateBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
+ out := new(Bucket)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateBucket", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) ListBuckets(ctx context.Context, in *ListBucketsRequest, opts ...grpc.CallOption) (*ListBucketsResponse, error) {
+ out := new(ListBucketsResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListBuckets", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) LockBucketRetentionPolicy(ctx context.Context, in *LockBucketRetentionPolicyRequest, opts ...grpc.CallOption) (*Bucket, error) {
+ out := new(Bucket)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/LockBucketRetentionPolicy", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) GetIamPolicy(ctx context.Context, in *v1.GetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+ out := new(v1.Policy)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetIamPolicy", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) SetIamPolicy(ctx context.Context, in *v1.SetIamPolicyRequest, opts ...grpc.CallOption) (*v1.Policy, error) {
+ out := new(v1.Policy)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/SetIamPolicy", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) TestIamPermissions(ctx context.Context, in *v1.TestIamPermissionsRequest, opts ...grpc.CallOption) (*v1.TestIamPermissionsResponse, error) {
+ out := new(v1.TestIamPermissionsResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/TestIamPermissions", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) UpdateBucket(ctx context.Context, in *UpdateBucketRequest, opts ...grpc.CallOption) (*Bucket, error) {
+ out := new(Bucket)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateBucket", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) DeleteNotification(ctx context.Context, in *DeleteNotificationRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteNotification", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) GetNotification(ctx context.Context, in *GetNotificationRequest, opts ...grpc.CallOption) (*Notification, error) {
+ out := new(Notification)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetNotification", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
}
-type storageClient struct {
- cc grpc.ClientConnInterface
+func (c *storageClient) CreateNotification(ctx context.Context, in *CreateNotificationRequest, opts ...grpc.CallOption) (*Notification, error) {
+ out := new(Notification)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateNotification", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
}
-func NewStorageClient(cc grpc.ClientConnInterface) StorageClient {
- return &storageClient{cc}
+func (c *storageClient) ListNotifications(ctx context.Context, in *ListNotificationsRequest, opts ...grpc.CallOption) (*ListNotificationsResponse, error) {
+ out := new(ListNotificationsResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListNotifications", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) ComposeObject(ctx context.Context, in *ComposeObjectRequest, opts ...grpc.CallOption) (*Object, error) {
+ out := new(Object)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ComposeObject", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) DeleteObject(ctx context.Context, in *DeleteObjectRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteObject", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) GetObject(ctx context.Context, in *GetObjectRequest, opts ...grpc.CallOption) (*Object, error) {
+ out := new(Object)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetObject", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
}
func (c *storageClient) ReadObject(ctx context.Context, in *ReadObjectRequest, opts ...grpc.CallOption) (Storage_ReadObjectClient, error) {
@@ -4941,6 +9732,15 @@ func (x *storageReadObjectClient) Recv() (*ReadObjectResponse, error) {
return m, nil
}
+func (c *storageClient) UpdateObject(ctx context.Context, in *UpdateObjectRequest, opts ...grpc.CallOption) (*Object, error) {
+ out := new(Object)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateObject", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *storageClient) WriteObject(ctx context.Context, opts ...grpc.CallOption) (Storage_WriteObjectClient, error) {
stream, err := c.cc.NewStream(ctx, &_Storage_serviceDesc.Streams[1], "/google.storage.v2.Storage/WriteObject", opts...)
if err != nil {
@@ -4975,6 +9775,24 @@ func (x *storageWriteObjectClient) CloseAndRecv() (*WriteObjectResponse, error)
return m, nil
}
+func (c *storageClient) ListObjects(ctx context.Context, in *ListObjectsRequest, opts ...grpc.CallOption) (*ListObjectsResponse, error) {
+ out := new(ListObjectsResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListObjects", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) RewriteObject(ctx context.Context, in *RewriteObjectRequest, opts ...grpc.CallOption) (*RewriteResponse, error) {
+ out := new(RewriteResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/RewriteObject", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
func (c *storageClient) StartResumableWrite(ctx context.Context, in *StartResumableWriteRequest, opts ...grpc.CallOption) (*StartResumableWriteResponse, error) {
out := new(StartResumableWriteResponse)
err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/StartResumableWrite", in, out, opts...)
@@ -4993,10 +9811,106 @@ func (c *storageClient) QueryWriteStatus(ctx context.Context, in *QueryWriteStat
return out, nil
}
+func (c *storageClient) GetServiceAccount(ctx context.Context, in *GetServiceAccountRequest, opts ...grpc.CallOption) (*ServiceAccount, error) {
+ out := new(ServiceAccount)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetServiceAccount", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) CreateHmacKey(ctx context.Context, in *CreateHmacKeyRequest, opts ...grpc.CallOption) (*CreateHmacKeyResponse, error) {
+ out := new(CreateHmacKeyResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/CreateHmacKey", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) DeleteHmacKey(ctx context.Context, in *DeleteHmacKeyRequest, opts ...grpc.CallOption) (*emptypb.Empty, error) {
+ out := new(emptypb.Empty)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/DeleteHmacKey", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) GetHmacKey(ctx context.Context, in *GetHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error) {
+ out := new(HmacKeyMetadata)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/GetHmacKey", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) ListHmacKeys(ctx context.Context, in *ListHmacKeysRequest, opts ...grpc.CallOption) (*ListHmacKeysResponse, error) {
+ out := new(ListHmacKeysResponse)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/ListHmacKeys", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
+func (c *storageClient) UpdateHmacKey(ctx context.Context, in *UpdateHmacKeyRequest, opts ...grpc.CallOption) (*HmacKeyMetadata, error) {
+ out := new(HmacKeyMetadata)
+ err := c.cc.Invoke(ctx, "/google.storage.v2.Storage/UpdateHmacKey", in, out, opts...)
+ if err != nil {
+ return nil, err
+ }
+ return out, nil
+}
+
// StorageServer is the server API for Storage service.
type StorageServer interface {
+ // Permanently deletes an empty bucket.
+ DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error)
+ // Returns metadata for the specified bucket.
+ GetBucket(context.Context, *GetBucketRequest) (*Bucket, error)
+ // Creates a new bucket.
+ CreateBucket(context.Context, *CreateBucketRequest) (*Bucket, error)
+ // Retrieves a list of buckets for a given project.
+ ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error)
+ // Locks retention policy on a bucket.
+ LockBucketRetentionPolicy(context.Context, *LockBucketRetentionPolicyRequest) (*Bucket, error)
+ // Gets the IAM policy for a specified bucket.
+ GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error)
+ // Updates an IAM policy for the specified bucket.
+ SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error)
+ // Tests a set of permissions on the given bucket to see which, if
+ // any, are held by the caller.
+ TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error)
+ // Updates a bucket. Equivalent to JSON API's storage.buckets.patch method.
+ UpdateBucket(context.Context, *UpdateBucketRequest) (*Bucket, error)
+ // Permanently deletes a notification subscription.
+ DeleteNotification(context.Context, *DeleteNotificationRequest) (*emptypb.Empty, error)
+ // View a notification config.
+ GetNotification(context.Context, *GetNotificationRequest) (*Notification, error)
+ // Creates a notification subscription for a given bucket.
+ // These notifications, when triggered, publish messages to the specified
+ // Pub/Sub topics.
+ // See https://cloud.google.com/storage/docs/pubsub-notifications.
+ CreateNotification(context.Context, *CreateNotificationRequest) (*Notification, error)
+ // Retrieves a list of notification subscriptions for a given bucket.
+ ListNotifications(context.Context, *ListNotificationsRequest) (*ListNotificationsResponse, error)
+ // Concatenates a list of existing objects into a new object in the same
+ // bucket.
+ ComposeObject(context.Context, *ComposeObjectRequest) (*Object, error)
+ // Deletes an object and its metadata. Deletions are permanent if versioning
+ // is not enabled for the bucket, or if the `generation` parameter
+ // is used.
+ DeleteObject(context.Context, *DeleteObjectRequest) (*emptypb.Empty, error)
+ // Retrieves an object's metadata.
+ GetObject(context.Context, *GetObjectRequest) (*Object, error)
// Reads an object's data.
ReadObject(*ReadObjectRequest, Storage_ReadObjectServer) error
+ // Updates an object's metadata.
+ // Equivalent to JSON API's storage.objects.patch.
+ UpdateObject(context.Context, *UpdateObjectRequest) (*Object, error)
// Stores a new object and metadata.
//
// An object can be written either in a single message stream or in a
@@ -5012,7 +9926,7 @@ type StorageServer interface {
// each following call to `Create`. If there is an error or the connection is
// broken during the resumable `Create()`, the client should check the status
// of the `Create()` by calling `QueryWriteStatus()` and continue writing from
- // the returned `committed_size`. This may be less than the amount of data the
+ // the returned `persisted_size`. This may be less than the amount of data the
// client previously sent.
//
// The service will not view the object as complete until the client has
@@ -5022,11 +9936,16 @@ type StorageServer interface {
// receives to determine how much data the service was able to commit and
// whether the service views the object as complete.
WriteObject(Storage_WriteObjectServer) error
+ // Retrieves a list of objects matching the criteria.
+ ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error)
+ // Rewrites a source object to a destination object. Optionally overrides
+ // metadata.
+ RewriteObject(context.Context, *RewriteObjectRequest) (*RewriteResponse, error)
// Starts a resumable write. How long the write operation remains valid, and
// what happens when the write operation becomes invalid, are
// service-dependent.
StartResumableWrite(context.Context, *StartResumableWriteRequest) (*StartResumableWriteResponse, error)
- // Determines the `committed_size` for an object that is being written, which
+ // Determines the `persisted_size` for an object that is being written, which
// can then be used as the `write_offset` for the next `Write()` call.
//
// If the object does not exist (i.e., the object has been deleted, or the
@@ -5037,30 +9956,405 @@ type StorageServer interface {
// much data has been processed for this object. This is useful if the
// client is buffering data and needs to know which data can be safely
// evicted. For any sequence of `QueryWriteStatus()` calls for a given
- // object name, the sequence of returned `committed_size` values will be
+ // object name, the sequence of returned `persisted_size` values will be
// non-decreasing.
QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error)
+ // Retrieves the name of a project's Google Cloud Storage service account.
+ GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error)
+ // Creates a new HMAC key for the given service account.
+ CreateHmacKey(context.Context, *CreateHmacKeyRequest) (*CreateHmacKeyResponse, error)
+ // Deletes a given HMAC key. Key must be in an INACTIVE state.
+ DeleteHmacKey(context.Context, *DeleteHmacKeyRequest) (*emptypb.Empty, error)
+ // Gets an existing HMAC key metadata for the given id.
+ GetHmacKey(context.Context, *GetHmacKeyRequest) (*HmacKeyMetadata, error)
+ // Lists HMAC keys under a given project with the additional filters provided.
+ ListHmacKeys(context.Context, *ListHmacKeysRequest) (*ListHmacKeysResponse, error)
+ // Updates a given HMAC key state between ACTIVE and INACTIVE.
+ UpdateHmacKey(context.Context, *UpdateHmacKeyRequest) (*HmacKeyMetadata, error)
+}
+
+// UnimplementedStorageServer can be embedded to have forward compatible implementations.
+type UnimplementedStorageServer struct {
+}
+
+func (*UnimplementedStorageServer) DeleteBucket(context.Context, *DeleteBucketRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteBucket not implemented")
+}
+func (*UnimplementedStorageServer) GetBucket(context.Context, *GetBucketRequest) (*Bucket, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetBucket not implemented")
+}
+func (*UnimplementedStorageServer) CreateBucket(context.Context, *CreateBucketRequest) (*Bucket, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateBucket not implemented")
+}
+func (*UnimplementedStorageServer) ListBuckets(context.Context, *ListBucketsRequest) (*ListBucketsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListBuckets not implemented")
+}
+func (*UnimplementedStorageServer) LockBucketRetentionPolicy(context.Context, *LockBucketRetentionPolicyRequest) (*Bucket, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method LockBucketRetentionPolicy not implemented")
+}
+func (*UnimplementedStorageServer) GetIamPolicy(context.Context, *v1.GetIamPolicyRequest) (*v1.Policy, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetIamPolicy not implemented")
+}
+func (*UnimplementedStorageServer) SetIamPolicy(context.Context, *v1.SetIamPolicyRequest) (*v1.Policy, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method SetIamPolicy not implemented")
+}
+func (*UnimplementedStorageServer) TestIamPermissions(context.Context, *v1.TestIamPermissionsRequest) (*v1.TestIamPermissionsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method TestIamPermissions not implemented")
+}
+func (*UnimplementedStorageServer) UpdateBucket(context.Context, *UpdateBucketRequest) (*Bucket, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateBucket not implemented")
+}
+func (*UnimplementedStorageServer) DeleteNotification(context.Context, *DeleteNotificationRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteNotification not implemented")
+}
+func (*UnimplementedStorageServer) GetNotification(context.Context, *GetNotificationRequest) (*Notification, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetNotification not implemented")
+}
+func (*UnimplementedStorageServer) CreateNotification(context.Context, *CreateNotificationRequest) (*Notification, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateNotification not implemented")
+}
+func (*UnimplementedStorageServer) ListNotifications(context.Context, *ListNotificationsRequest) (*ListNotificationsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListNotifications not implemented")
+}
+func (*UnimplementedStorageServer) ComposeObject(context.Context, *ComposeObjectRequest) (*Object, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ComposeObject not implemented")
+}
+func (*UnimplementedStorageServer) DeleteObject(context.Context, *DeleteObjectRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteObject not implemented")
+}
+func (*UnimplementedStorageServer) GetObject(context.Context, *GetObjectRequest) (*Object, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetObject not implemented")
+}
+func (*UnimplementedStorageServer) ReadObject(*ReadObjectRequest, Storage_ReadObjectServer) error {
+ return status.Errorf(codes.Unimplemented, "method ReadObject not implemented")
+}
+func (*UnimplementedStorageServer) UpdateObject(context.Context, *UpdateObjectRequest) (*Object, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateObject not implemented")
+}
+func (*UnimplementedStorageServer) WriteObject(Storage_WriteObjectServer) error {
+ return status.Errorf(codes.Unimplemented, "method WriteObject not implemented")
+}
+func (*UnimplementedStorageServer) ListObjects(context.Context, *ListObjectsRequest) (*ListObjectsResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListObjects not implemented")
+}
+func (*UnimplementedStorageServer) RewriteObject(context.Context, *RewriteObjectRequest) (*RewriteResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method RewriteObject not implemented")
+}
+func (*UnimplementedStorageServer) StartResumableWrite(context.Context, *StartResumableWriteRequest) (*StartResumableWriteResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method StartResumableWrite not implemented")
+}
+func (*UnimplementedStorageServer) QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method QueryWriteStatus not implemented")
+}
+func (*UnimplementedStorageServer) GetServiceAccount(context.Context, *GetServiceAccountRequest) (*ServiceAccount, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetServiceAccount not implemented")
+}
+func (*UnimplementedStorageServer) CreateHmacKey(context.Context, *CreateHmacKeyRequest) (*CreateHmacKeyResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method CreateHmacKey not implemented")
+}
+func (*UnimplementedStorageServer) DeleteHmacKey(context.Context, *DeleteHmacKeyRequest) (*emptypb.Empty, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method DeleteHmacKey not implemented")
+}
+func (*UnimplementedStorageServer) GetHmacKey(context.Context, *GetHmacKeyRequest) (*HmacKeyMetadata, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method GetHmacKey not implemented")
+}
+func (*UnimplementedStorageServer) ListHmacKeys(context.Context, *ListHmacKeysRequest) (*ListHmacKeysResponse, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method ListHmacKeys not implemented")
+}
+func (*UnimplementedStorageServer) UpdateHmacKey(context.Context, *UpdateHmacKeyRequest) (*HmacKeyMetadata, error) {
+ return nil, status.Errorf(codes.Unimplemented, "method UpdateHmacKey not implemented")
+}
+
+func RegisterStorageServer(s *grpc.Server, srv StorageServer) {
+ s.RegisterService(&_Storage_serviceDesc, srv)
+}
+
+func _Storage_DeleteBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteBucketRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).DeleteBucket(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/DeleteBucket",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).DeleteBucket(ctx, req.(*DeleteBucketRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_GetBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetBucketRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetBucket(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetBucket",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetBucket(ctx, req.(*GetBucketRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_CreateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateBucketRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).CreateBucket(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/CreateBucket",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).CreateBucket(ctx, req.(*CreateBucketRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_ListBuckets_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListBucketsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).ListBuckets(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/ListBuckets",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).ListBuckets(ctx, req.(*ListBucketsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_LockBucketRetentionPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(LockBucketRetentionPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).LockBucketRetentionPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/LockBucketRetentionPolicy",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).LockBucketRetentionPolicy(ctx, req.(*LockBucketRetentionPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_GetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(v1.GetIamPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetIamPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetIamPolicy",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetIamPolicy(ctx, req.(*v1.GetIamPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_SetIamPolicy_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(v1.SetIamPolicyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).SetIamPolicy(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/SetIamPolicy",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).SetIamPolicy(ctx, req.(*v1.SetIamPolicyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_TestIamPermissions_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(v1.TestIamPermissionsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).TestIamPermissions(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/TestIamPermissions",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).TestIamPermissions(ctx, req.(*v1.TestIamPermissionsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_UpdateBucket_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateBucketRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).UpdateBucket(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/UpdateBucket",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).UpdateBucket(ctx, req.(*UpdateBucketRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_DeleteNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteNotificationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).DeleteNotification(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/DeleteNotification",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).DeleteNotification(ctx, req.(*DeleteNotificationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-// UnimplementedStorageServer can be embedded to have forward compatible implementations.
-type UnimplementedStorageServer struct {
+func _Storage_GetNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetNotificationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetNotification(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetNotification",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetNotification(ctx, req.(*GetNotificationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-func (*UnimplementedStorageServer) ReadObject(*ReadObjectRequest, Storage_ReadObjectServer) error {
- return status.Errorf(codes.Unimplemented, "method ReadObject not implemented")
+func _Storage_CreateNotification_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateNotificationRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).CreateNotification(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/CreateNotification",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).CreateNotification(ctx, req.(*CreateNotificationRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-func (*UnimplementedStorageServer) WriteObject(Storage_WriteObjectServer) error {
- return status.Errorf(codes.Unimplemented, "method WriteObject not implemented")
+
+func _Storage_ListNotifications_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListNotificationsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).ListNotifications(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/ListNotifications",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).ListNotifications(ctx, req.(*ListNotificationsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-func (*UnimplementedStorageServer) StartResumableWrite(context.Context, *StartResumableWriteRequest) (*StartResumableWriteResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method StartResumableWrite not implemented")
+
+func _Storage_ComposeObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ComposeObjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).ComposeObject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/ComposeObject",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).ComposeObject(ctx, req.(*ComposeObjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-func (*UnimplementedStorageServer) QueryWriteStatus(context.Context, *QueryWriteStatusRequest) (*QueryWriteStatusResponse, error) {
- return nil, status.Errorf(codes.Unimplemented, "method QueryWriteStatus not implemented")
+
+func _Storage_DeleteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteObjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).DeleteObject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/DeleteObject",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).DeleteObject(ctx, req.(*DeleteObjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
-func RegisterStorageServer(s *grpc.Server, srv StorageServer) {
- s.RegisterService(&_Storage_serviceDesc, srv)
+func _Storage_GetObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetObjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetObject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetObject",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetObject(ctx, req.(*GetObjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
}
func _Storage_ReadObject_Handler(srv interface{}, stream grpc.ServerStream) error {
@@ -5084,6 +10378,24 @@ func (x *storageReadObjectServer) Send(m *ReadObjectResponse) error {
return x.ServerStream.SendMsg(m)
}
+func _Storage_UpdateObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateObjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).UpdateObject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/UpdateObject",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).UpdateObject(ctx, req.(*UpdateObjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Storage_WriteObject_Handler(srv interface{}, stream grpc.ServerStream) error {
return srv.(StorageServer).WriteObject(&storageWriteObjectServer{stream})
}
@@ -5110,6 +10422,42 @@ func (x *storageWriteObjectServer) Recv() (*WriteObjectRequest, error) {
return m, nil
}
+func _Storage_ListObjects_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListObjectsRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).ListObjects(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/ListObjects",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).ListObjects(ctx, req.(*ListObjectsRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_RewriteObject_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(RewriteObjectRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).RewriteObject(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/RewriteObject",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).RewriteObject(ctx, req.(*RewriteObjectRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
func _Storage_StartResumableWrite_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
in := new(StartResumableWriteRequest)
if err := dec(in); err != nil {
@@ -5146,10 +10494,194 @@ func _Storage_QueryWriteStatus_Handler(srv interface{}, ctx context.Context, dec
return interceptor(ctx, in, info, handler)
}
+func _Storage_GetServiceAccount_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetServiceAccountRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetServiceAccount(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetServiceAccount",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetServiceAccount(ctx, req.(*GetServiceAccountRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_CreateHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(CreateHmacKeyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).CreateHmacKey(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/CreateHmacKey",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).CreateHmacKey(ctx, req.(*CreateHmacKeyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_DeleteHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(DeleteHmacKeyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).DeleteHmacKey(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/DeleteHmacKey",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).DeleteHmacKey(ctx, req.(*DeleteHmacKeyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_GetHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(GetHmacKeyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).GetHmacKey(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/GetHmacKey",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).GetHmacKey(ctx, req.(*GetHmacKeyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_ListHmacKeys_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(ListHmacKeysRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).ListHmacKeys(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/ListHmacKeys",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).ListHmacKeys(ctx, req.(*ListHmacKeysRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
+func _Storage_UpdateHmacKey_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
+ in := new(UpdateHmacKeyRequest)
+ if err := dec(in); err != nil {
+ return nil, err
+ }
+ if interceptor == nil {
+ return srv.(StorageServer).UpdateHmacKey(ctx, in)
+ }
+ info := &grpc.UnaryServerInfo{
+ Server: srv,
+ FullMethod: "/google.storage.v2.Storage/UpdateHmacKey",
+ }
+ handler := func(ctx context.Context, req interface{}) (interface{}, error) {
+ return srv.(StorageServer).UpdateHmacKey(ctx, req.(*UpdateHmacKeyRequest))
+ }
+ return interceptor(ctx, in, info, handler)
+}
+
var _Storage_serviceDesc = grpc.ServiceDesc{
ServiceName: "google.storage.v2.Storage",
HandlerType: (*StorageServer)(nil),
Methods: []grpc.MethodDesc{
+ {
+ MethodName: "DeleteBucket",
+ Handler: _Storage_DeleteBucket_Handler,
+ },
+ {
+ MethodName: "GetBucket",
+ Handler: _Storage_GetBucket_Handler,
+ },
+ {
+ MethodName: "CreateBucket",
+ Handler: _Storage_CreateBucket_Handler,
+ },
+ {
+ MethodName: "ListBuckets",
+ Handler: _Storage_ListBuckets_Handler,
+ },
+ {
+ MethodName: "LockBucketRetentionPolicy",
+ Handler: _Storage_LockBucketRetentionPolicy_Handler,
+ },
+ {
+ MethodName: "GetIamPolicy",
+ Handler: _Storage_GetIamPolicy_Handler,
+ },
+ {
+ MethodName: "SetIamPolicy",
+ Handler: _Storage_SetIamPolicy_Handler,
+ },
+ {
+ MethodName: "TestIamPermissions",
+ Handler: _Storage_TestIamPermissions_Handler,
+ },
+ {
+ MethodName: "UpdateBucket",
+ Handler: _Storage_UpdateBucket_Handler,
+ },
+ {
+ MethodName: "DeleteNotification",
+ Handler: _Storage_DeleteNotification_Handler,
+ },
+ {
+ MethodName: "GetNotification",
+ Handler: _Storage_GetNotification_Handler,
+ },
+ {
+ MethodName: "CreateNotification",
+ Handler: _Storage_CreateNotification_Handler,
+ },
+ {
+ MethodName: "ListNotifications",
+ Handler: _Storage_ListNotifications_Handler,
+ },
+ {
+ MethodName: "ComposeObject",
+ Handler: _Storage_ComposeObject_Handler,
+ },
+ {
+ MethodName: "DeleteObject",
+ Handler: _Storage_DeleteObject_Handler,
+ },
+ {
+ MethodName: "GetObject",
+ Handler: _Storage_GetObject_Handler,
+ },
+ {
+ MethodName: "UpdateObject",
+ Handler: _Storage_UpdateObject_Handler,
+ },
+ {
+ MethodName: "ListObjects",
+ Handler: _Storage_ListObjects_Handler,
+ },
+ {
+ MethodName: "RewriteObject",
+ Handler: _Storage_RewriteObject_Handler,
+ },
{
MethodName: "StartResumableWrite",
Handler: _Storage_StartResumableWrite_Handler,
@@ -5158,6 +10690,30 @@ var _Storage_serviceDesc = grpc.ServiceDesc{
MethodName: "QueryWriteStatus",
Handler: _Storage_QueryWriteStatus_Handler,
},
+ {
+ MethodName: "GetServiceAccount",
+ Handler: _Storage_GetServiceAccount_Handler,
+ },
+ {
+ MethodName: "CreateHmacKey",
+ Handler: _Storage_CreateHmacKey_Handler,
+ },
+ {
+ MethodName: "DeleteHmacKey",
+ Handler: _Storage_DeleteHmacKey_Handler,
+ },
+ {
+ MethodName: "GetHmacKey",
+ Handler: _Storage_GetHmacKey_Handler,
+ },
+ {
+ MethodName: "ListHmacKeys",
+ Handler: _Storage_ListHmacKeys_Handler,
+ },
+ {
+ MethodName: "UpdateHmacKey",
+ Handler: _Storage_UpdateHmacKey_Handler,
+ },
},
Streams: []grpc.StreamDesc{
{
diff --git a/vendor/google.golang.org/grpc/CONTRIBUTING.md b/vendor/google.golang.org/grpc/CONTRIBUTING.md
index cd03f8c76..52338d004 100644
--- a/vendor/google.golang.org/grpc/CONTRIBUTING.md
+++ b/vendor/google.golang.org/grpc/CONTRIBUTING.md
@@ -53,9 +53,8 @@ How to get your contributions merged smoothly and quickly.
- **All tests need to be passing** before your change can be merged. We
recommend you **run tests locally** before creating your PR to catch breakages
early on.
- - `make all` to test everything, OR
- - `make vet` to catch vet errors
- - `make test` to run the tests
- - `make testrace` to run tests in race mode
+ - `VET_SKIP_PROTO=1 ./vet.sh` to catch vet errors
+ - `go test -cpu 1,4 -timeout 7m ./...` to run the tests
+ - `go test -race -cpu 1,4 -timeout 7m ./...` to run tests in race mode
- Exceptions to the rules can be made if there's a compelling reason for doing so.
diff --git a/vendor/google.golang.org/grpc/MAINTAINERS.md b/vendor/google.golang.org/grpc/MAINTAINERS.md
index 093c82b3a..c6672c0a3 100644
--- a/vendor/google.golang.org/grpc/MAINTAINERS.md
+++ b/vendor/google.golang.org/grpc/MAINTAINERS.md
@@ -8,17 +8,18 @@ See [CONTRIBUTING.md](https://github.com/grpc/grpc-community/blob/master/CONTRIB
for general contribution guidelines.
## Maintainers (in alphabetical order)
-- [canguler](https://github.com/canguler), Google LLC
+
- [cesarghali](https://github.com/cesarghali), Google LLC
- [dfawley](https://github.com/dfawley), Google LLC
- [easwars](https://github.com/easwars), Google LLC
-- [jadekler](https://github.com/jadekler), Google LLC
- [menghanl](https://github.com/menghanl), Google LLC
- [srini100](https://github.com/srini100), Google LLC
## Emeritus Maintainers (in alphabetical order)
- [adelez](https://github.com/adelez), Google LLC
+- [canguler](https://github.com/canguler), Google LLC
- [iamqizhao](https://github.com/iamqizhao), Google LLC
+- [jadekler](https://github.com/jadekler), Google LLC
- [jtattermusch](https://github.com/jtattermusch), Google LLC
- [lyuxuan](https://github.com/lyuxuan), Google LLC
- [makmukhi](https://github.com/makmukhi), Google LLC
diff --git a/vendor/google.golang.org/grpc/Makefile b/vendor/google.golang.org/grpc/Makefile
index 1f0722f16..1f8960922 100644
--- a/vendor/google.golang.org/grpc/Makefile
+++ b/vendor/google.golang.org/grpc/Makefile
@@ -41,8 +41,6 @@ vetdeps:
clean \
proto \
test \
- testappengine \
- testappenginedeps \
testrace \
vet \
vetdeps
diff --git a/vendor/google.golang.org/grpc/NOTICE.txt b/vendor/google.golang.org/grpc/NOTICE.txt
new file mode 100644
index 000000000..530197749
--- /dev/null
+++ b/vendor/google.golang.org/grpc/NOTICE.txt
@@ -0,0 +1,13 @@
+Copyright 2014 gRPC authors.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
diff --git a/vendor/google.golang.org/grpc/attributes/attributes.go b/vendor/google.golang.org/grpc/attributes/attributes.go
index 3220d87be..ae13ddac1 100644
--- a/vendor/google.golang.org/grpc/attributes/attributes.go
+++ b/vendor/google.golang.org/grpc/attributes/attributes.go
@@ -25,55 +25,77 @@
// later release.
package attributes
-import "fmt"
-
// Attributes is an immutable struct for storing and retrieving generic
// key/value pairs. Keys must be hashable, and users should define their own
-// types for keys.
+// types for keys. Values should not be modified after they are added to an
+// Attributes or if they were received from one. If values implement 'Equal(o
+// interface{}) bool', it will be called by (*Attributes).Equal to determine
+// whether two values with the same key should be considered equal.
type Attributes struct {
m map[interface{}]interface{}
}
-// New returns a new Attributes containing all key/value pairs in kvs. If the
-// same key appears multiple times, the last value overwrites all previous
-// values for that key. Panics if len(kvs) is not even.
-func New(kvs ...interface{}) *Attributes {
- if len(kvs)%2 != 0 {
- panic(fmt.Sprintf("attributes.New called with unexpected input: len(kvs) = %v", len(kvs)))
- }
- a := &Attributes{m: make(map[interface{}]interface{}, len(kvs)/2)}
- for i := 0; i < len(kvs)/2; i++ {
- a.m[kvs[i*2]] = kvs[i*2+1]
- }
- return a
+// New returns a new Attributes containing the key/value pair.
+func New(key, value interface{}) *Attributes {
+ return &Attributes{m: map[interface{}]interface{}{key: value}}
}
-// WithValues returns a new Attributes containing all key/value pairs in a and
-// kvs. Panics if len(kvs) is not even. If the same key appears multiple
-// times, the last value overwrites all previous values for that key. To
-// remove an existing key, use a nil value.
-func (a *Attributes) WithValues(kvs ...interface{}) *Attributes {
+// WithValue returns a new Attributes containing the previous keys and values
+// and the new key/value pair. If the same key appears multiple times, the
+// last value overwrites all previous values for that key. To remove an
+// existing key, use a nil value. value should not be modified later.
+func (a *Attributes) WithValue(key, value interface{}) *Attributes {
if a == nil {
- return New(kvs...)
+ return New(key, value)
}
- if len(kvs)%2 != 0 {
- panic(fmt.Sprintf("attributes.New called with unexpected input: len(kvs) = %v", len(kvs)))
- }
- n := &Attributes{m: make(map[interface{}]interface{}, len(a.m)+len(kvs)/2)}
+ n := &Attributes{m: make(map[interface{}]interface{}, len(a.m)+1)}
for k, v := range a.m {
n.m[k] = v
}
- for i := 0; i < len(kvs)/2; i++ {
- n.m[kvs[i*2]] = kvs[i*2+1]
- }
+ n.m[key] = value
return n
}
// Value returns the value associated with these attributes for key, or nil if
-// no value is associated with key.
+// no value is associated with key. The returned value should not be modified.
func (a *Attributes) Value(key interface{}) interface{} {
if a == nil {
return nil
}
return a.m[key]
}
+
+// Equal returns whether a and o are equivalent. If 'Equal(o interface{})
+// bool' is implemented for a value in the attributes, it is called to
+// determine if the value matches the one stored in the other attributes. If
+// Equal is not implemented, standard equality is used to determine if the two
+// values are equal. Note that some types (e.g. maps) aren't comparable by
+// default, so they must be wrapped in a struct, or in an alias type, with Equal
+// defined.
+func (a *Attributes) Equal(o *Attributes) bool {
+ if a == nil && o == nil {
+ return true
+ }
+ if a == nil || o == nil {
+ return false
+ }
+ if len(a.m) != len(o.m) {
+ return false
+ }
+ for k, v := range a.m {
+ ov, ok := o.m[k]
+ if !ok {
+ // o missing element of a
+ return false
+ }
+ if eq, ok := v.(interface{ Equal(o interface{}) bool }); ok {
+ if !eq.Equal(ov) {
+ return false
+ }
+ } else if v != ov {
+ // Fallback to a standard equality check if Value is unimplemented.
+ return false
+ }
+ }
+ return true
+}
diff --git a/vendor/google.golang.org/grpc/balancer/balancer.go b/vendor/google.golang.org/grpc/balancer/balancer.go
index ab531f4c0..bcc6f5451 100644
--- a/vendor/google.golang.org/grpc/balancer/balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/balancer.go
@@ -75,24 +75,26 @@ func Get(name string) Builder {
return nil
}
-// SubConn represents a gRPC sub connection.
-// Each sub connection contains a list of addresses. gRPC will
-// try to connect to them (in sequence), and stop trying the
-// remainder once one connection is successful.
+// A SubConn represents a single connection to a gRPC backend service.
//
-// The reconnect backoff will be applied on the list, not a single address.
-// For example, try_on_all_addresses -> backoff -> try_on_all_addresses.
+// Each SubConn contains a list of addresses.
//
-// All SubConns start in IDLE, and will not try to connect. To trigger
-// the connecting, Balancers must call Connect.
-// When the connection encounters an error, it will reconnect immediately.
-// When the connection becomes IDLE, it will not reconnect unless Connect is
-// called.
+// All SubConns start in IDLE, and will not try to connect. To trigger the
+// connecting, Balancers must call Connect. If a connection re-enters IDLE,
+// Balancers must call Connect again to trigger a new connection attempt.
//
-// This interface is to be implemented by gRPC. Users should not need a
-// brand new implementation of this interface. For the situations like
-// testing, the new implementation should embed this interface. This allows
-// gRPC to add new methods to this interface.
+// gRPC will try to connect to the addresses in sequence, and stop trying the
+// remainder once the first connection is successful. If an attempt to connect
+// to all addresses encounters an error, the SubConn will enter
+// TRANSIENT_FAILURE for a backoff period, and then transition to IDLE.
+//
+// Once established, if a connection is lost, the SubConn will transition
+// directly to IDLE.
+//
+// This interface is to be implemented by gRPC. Users should not need their own
+// implementation of this interface. For situations like testing, any
+// implementations should embed this interface. This allows gRPC to add new
+// methods to this interface.
type SubConn interface {
// UpdateAddresses updates the addresses used in this SubConn.
// gRPC checks if currently-connected address is still in the new list.
@@ -172,25 +174,32 @@ type ClientConn interface {
// BuildOptions contains additional information for Build.
type BuildOptions struct {
- // DialCreds is the transport credential the Balancer implementation can
- // use to dial to a remote load balancer server. The Balancer implementations
- // can ignore this if it does not need to talk to another party securely.
+ // DialCreds is the transport credentials to use when communicating with a
+ // remote load balancer server. Balancer implementations which do not
+ // communicate with a remote load balancer server can ignore this field.
DialCreds credentials.TransportCredentials
- // CredsBundle is the credentials bundle that the Balancer can use.
+ // CredsBundle is the credentials bundle to use when communicating with a
+ // remote load balancer server. Balancer implementations which do not
+ // communicate with a remote load balancer server can ignore this field.
CredsBundle credentials.Bundle
- // Dialer is the custom dialer the Balancer implementation can use to dial
- // to a remote load balancer server. The Balancer implementations
- // can ignore this if it doesn't need to talk to remote balancer.
+ // Dialer is the custom dialer to use when communicating with a remote load
+ // balancer server. Balancer implementations which do not communicate with a
+ // remote load balancer server can ignore this field.
Dialer func(context.Context, string) (net.Conn, error)
- // ChannelzParentID is the entity parent's channelz unique identification number.
+ // Authority is the server name to use as part of the authentication
+ // handshake when communicating with a remote load balancer server. Balancer
+ // implementations which do not communicate with a remote load balancer
+ // server can ignore this field.
+ Authority string
+ // ChannelzParentID is the parent ClientConn's channelz ID.
ChannelzParentID int64
// CustomUserAgent is the custom user agent set on the parent ClientConn.
// The balancer should set the same custom user agent if it creates a
// ClientConn.
CustomUserAgent string
- // Target contains the parsed address info of the dial target. It is the same resolver.Target as
- // passed to the resolver.
- // See the documentation for the resolver.Target type for details about what it contains.
+ // Target contains the parsed address info of the dial target. It is the
+ // same resolver.Target as passed to the resolver. See the documentation for
+ // the resolver.Target type for details about what it contains.
Target resolver.Target
}
@@ -326,6 +335,20 @@ type Balancer interface {
Close()
}
+// ExitIdler is an optional interface for balancers to implement. If
+// implemented, ExitIdle will be called when ClientConn.Connect is called, if
+// the ClientConn is idle. If unimplemented, ClientConn.Connect will cause
+// all SubConns to connect.
+//
+// Notice: it will be required for all balancers to implement this in a future
+// release.
+type ExitIdler interface {
+ // ExitIdle instructs the LB policy to reconnect to backends / exit the
+ // IDLE state, if appropriate and possible. Note that SubConns that enter
+ // the IDLE state will not reconnect until SubConn.Connect is called.
+ ExitIdle()
+}
+
// SubConnState describes the state of a SubConn.
type SubConnState struct {
// ConnectivityState is the connectivity state of the SubConn.
@@ -353,8 +376,10 @@ var ErrBadResolverState = errors.New("bad resolver state")
//
// It's not thread safe.
type ConnectivityStateEvaluator struct {
- numReady uint64 // Number of addrConns in ready state.
- numConnecting uint64 // Number of addrConns in connecting state.
+ numReady uint64 // Number of addrConns in ready state.
+ numConnecting uint64 // Number of addrConns in connecting state.
+ numTransientFailure uint64 // Number of addrConns in transient failure state.
+ numIdle uint64 // Number of addrConns in idle state.
}
// RecordTransition records state change happening in subConn and based on that
@@ -362,9 +387,11 @@ type ConnectivityStateEvaluator struct {
//
// - If at least one SubConn in Ready, the aggregated state is Ready;
// - Else if at least one SubConn in Connecting, the aggregated state is Connecting;
-// - Else the aggregated state is TransientFailure.
+// - Else if at least one SubConn is TransientFailure, the aggregated state is Transient Failure;
+// - Else if at least one SubConn is Idle, the aggregated state is Idle;
+// - Else there are no subconns and the aggregated state is Transient Failure
//
-// Idle and Shutdown are not considered.
+// Shutdown is not considered.
func (cse *ConnectivityStateEvaluator) RecordTransition(oldState, newState connectivity.State) connectivity.State {
// Update counters.
for idx, state := range []connectivity.State{oldState, newState} {
@@ -374,6 +401,10 @@ func (cse *ConnectivityStateEvaluator) RecordTransition(oldState, newState conne
cse.numReady += updateVal
case connectivity.Connecting:
cse.numConnecting += updateVal
+ case connectivity.TransientFailure:
+ cse.numTransientFailure += updateVal
+ case connectivity.Idle:
+ cse.numIdle += updateVal
}
}
@@ -384,5 +415,11 @@ func (cse *ConnectivityStateEvaluator) RecordTransition(oldState, newState conne
if cse.numConnecting > 0 {
return connectivity.Connecting
}
+ if cse.numTransientFailure > 0 {
+ return connectivity.TransientFailure
+ }
+ if cse.numIdle > 0 {
+ return connectivity.Idle
+ }
return connectivity.TransientFailure
}
diff --git a/vendor/google.golang.org/grpc/balancer/base/balancer.go b/vendor/google.golang.org/grpc/balancer/base/balancer.go
index c883efa0b..a67074a3a 100644
--- a/vendor/google.golang.org/grpc/balancer/base/balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/base/balancer.go
@@ -22,7 +22,6 @@ import (
"errors"
"fmt"
- "google.golang.org/grpc/attributes"
"google.golang.org/grpc/balancer"
"google.golang.org/grpc/connectivity"
"google.golang.org/grpc/grpclog"
@@ -42,7 +41,7 @@ func (bb *baseBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions)
cc: cc,
pickerBuilder: bb.pickerBuilder,
- subConns: make(map[resolver.Address]subConnInfo),
+ subConns: resolver.NewAddressMap(),
scStates: make(map[balancer.SubConn]connectivity.State),
csEvltr: &balancer.ConnectivityStateEvaluator{},
config: bb.config,
@@ -58,11 +57,6 @@ func (bb *baseBuilder) Name() string {
return bb.name
}
-type subConnInfo struct {
- subConn balancer.SubConn
- attrs *attributes.Attributes
-}
-
type baseBalancer struct {
cc balancer.ClientConn
pickerBuilder PickerBuilder
@@ -70,7 +64,7 @@ type baseBalancer struct {
csEvltr *balancer.ConnectivityStateEvaluator
state connectivity.State
- subConns map[resolver.Address]subConnInfo // `attributes` is stripped from the keys of this map (the addresses)
+ subConns *resolver.AddressMap
scStates map[balancer.SubConn]connectivity.State
picker balancer.Picker
config Config
@@ -81,7 +75,7 @@ type baseBalancer struct {
func (b *baseBalancer) ResolverError(err error) {
b.resolverErr = err
- if len(b.subConns) == 0 {
+ if b.subConns.Len() == 0 {
b.state = connectivity.TransientFailure
}
@@ -105,52 +99,29 @@ func (b *baseBalancer) UpdateClientConnState(s balancer.ClientConnState) error {
// Successful resolution; clear resolver error and ensure we return nil.
b.resolverErr = nil
// addrsSet is the set converted from addrs, it's used for quick lookup of an address.
- addrsSet := make(map[resolver.Address]struct{})
+ addrsSet := resolver.NewAddressMap()
for _, a := range s.ResolverState.Addresses {
- // Strip attributes from addresses before using them as map keys. So
- // that when two addresses only differ in attributes pointers (but with
- // the same attribute content), they are considered the same address.
- //
- // Note that this doesn't handle the case where the attribute content is
- // different. So if users want to set different attributes to create
- // duplicate connections to the same backend, it doesn't work. This is
- // fine for now, because duplicate is done by setting Metadata today.
- //
- // TODO: read attributes to handle duplicate connections.
- aNoAttrs := a
- aNoAttrs.Attributes = nil
- addrsSet[aNoAttrs] = struct{}{}
- if scInfo, ok := b.subConns[aNoAttrs]; !ok {
+ addrsSet.Set(a, nil)
+ if _, ok := b.subConns.Get(a); !ok {
// a is a new address (not existing in b.subConns).
- //
- // When creating SubConn, the original address with attributes is
- // passed through. So that connection configurations in attributes
- // (like creds) will be used.
sc, err := b.cc.NewSubConn([]resolver.Address{a}, balancer.NewSubConnOptions{HealthCheckEnabled: b.config.HealthCheck})
if err != nil {
logger.Warningf("base.baseBalancer: failed to create new SubConn: %v", err)
continue
}
- b.subConns[aNoAttrs] = subConnInfo{subConn: sc, attrs: a.Attributes}
+ b.subConns.Set(a, sc)
b.scStates[sc] = connectivity.Idle
+ b.csEvltr.RecordTransition(connectivity.Shutdown, connectivity.Idle)
sc.Connect()
- } else {
- // Always update the subconn's address in case the attributes
- // changed.
- //
- // The SubConn does a reflect.DeepEqual of the new and old
- // addresses. So this is a noop if the current address is the same
- // as the old one (including attributes).
- scInfo.attrs = a.Attributes
- b.subConns[aNoAttrs] = scInfo
- b.cc.UpdateAddresses(scInfo.subConn, []resolver.Address{a})
}
}
- for a, scInfo := range b.subConns {
+ for _, a := range b.subConns.Keys() {
+ sci, _ := b.subConns.Get(a)
+ sc := sci.(balancer.SubConn)
// a was removed by resolver.
- if _, ok := addrsSet[a]; !ok {
- b.cc.RemoveSubConn(scInfo.subConn)
- delete(b.subConns, a)
+ if _, ok := addrsSet.Get(a); !ok {
+ b.cc.RemoveSubConn(sc)
+ b.subConns.Delete(a)
// Keep the state of this sc in b.scStates until sc's state becomes Shutdown.
// The entry will be deleted in UpdateSubConnState.
}
@@ -192,10 +163,11 @@ func (b *baseBalancer) regeneratePicker() {
readySCs := make(map[balancer.SubConn]SubConnInfo)
// Filter out all ready SCs from full subConn map.
- for addr, scInfo := range b.subConns {
- if st, ok := b.scStates[scInfo.subConn]; ok && st == connectivity.Ready {
- addr.Attributes = scInfo.attrs
- readySCs[scInfo.subConn] = SubConnInfo{Address: addr}
+ for _, addr := range b.subConns.Keys() {
+ sci, _ := b.subConns.Get(addr)
+ sc := sci.(balancer.SubConn)
+ if st, ok := b.scStates[sc]; ok && st == connectivity.Ready {
+ readySCs[sc] = SubConnInfo{Address: addr}
}
}
b.picker = b.pickerBuilder.Build(PickerBuildInfo{ReadySCs: readySCs})
@@ -213,10 +185,14 @@ func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.Su
}
return
}
- if oldS == connectivity.TransientFailure && s == connectivity.Connecting {
- // Once a subconn enters TRANSIENT_FAILURE, ignore subsequent
+ if oldS == connectivity.TransientFailure &&
+ (s == connectivity.Connecting || s == connectivity.Idle) {
+ // Once a subconn enters TRANSIENT_FAILURE, ignore subsequent IDLE or
// CONNECTING transitions to prevent the aggregated state from being
// always CONNECTING when many backends exist but are all down.
+ if s == connectivity.Idle {
+ sc.Connect()
+ }
return
}
b.scStates[sc] = s
@@ -242,7 +218,6 @@ func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.Su
b.state == connectivity.TransientFailure {
b.regeneratePicker()
}
-
b.cc.UpdateState(balancer.State{ConnectivityState: b.state, Picker: b.picker})
}
@@ -251,6 +226,11 @@ func (b *baseBalancer) UpdateSubConnState(sc balancer.SubConn, state balancer.Su
func (b *baseBalancer) Close() {
}
+// ExitIdle is a nop because the base balancer attempts to stay connected to
+// all SubConns at all times.
+func (b *baseBalancer) ExitIdle() {
+}
+
// NewErrPicker returns a Picker that always returns err on Pick().
func NewErrPicker(err error) balancer.Picker {
return &errPicker{err: err}
diff --git a/vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go b/vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go
index 50cc9da4a..cb4b3c203 100644
--- a/vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go
+++ b/vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
-// - protoc-gen-go-grpc v1.1.0
+// - protoc-gen-go-grpc v1.2.0
// - protoc v3.14.0
// source: grpc/lb/v1/load_balancer.proto
diff --git a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb.go b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb.go
index 49d11d0d2..6c3402e36 100644
--- a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb.go
+++ b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb.go
@@ -135,6 +135,7 @@ func (b *lbBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) bal
lb := &lbBalancer{
cc: newLBCacheClientConn(cc),
+ dialTarget: opt.Target.Endpoint,
target: opt.Target.Endpoint,
opt: opt,
fallbackTimeout: b.fallbackTimeout,
@@ -164,9 +165,10 @@ func (b *lbBuilder) Build(cc balancer.ClientConn, opt balancer.BuildOptions) bal
}
type lbBalancer struct {
- cc *lbCacheClientConn
- target string
- opt balancer.BuildOptions
+ cc *lbCacheClientConn
+ dialTarget string // user's dial target
+ target string // same as dialTarget unless overridden in service config
+ opt balancer.BuildOptions
usePickFirst bool
@@ -398,6 +400,30 @@ func (lb *lbBalancer) handleServiceConfig(gc *grpclbServiceConfig) {
lb.mu.Lock()
defer lb.mu.Unlock()
+ // grpclb uses the user's dial target to populate the `Name` field of the
+ // `InitialLoadBalanceRequest` message sent to the remote balancer. But when
+ // grpclb is used a child policy in the context of RLS, we want the `Name`
+ // field to be populated with the value received from the RLS server. To
+ // support this use case, an optional "target_name" field has been added to
+ // the grpclb LB policy's config. If specified, it overrides the name of
+ // the target to be sent to the remote balancer; if not, the target to be
+ // sent to the balancer will continue to be obtained from the target URI
+ // passed to the gRPC client channel. Whenever that target to be sent to the
+ // balancer is updated, we need to restart the stream to the balancer as
+ // this target is sent in the first message on the stream.
+ if gc != nil {
+ target := lb.dialTarget
+ if gc.ServiceName != "" {
+ target = gc.ServiceName
+ }
+ if target != lb.target {
+ lb.target = target
+ if lb.ccRemoteLB != nil {
+ lb.ccRemoteLB.cancelRemoteBalancerCall()
+ }
+ }
+ }
+
newUsePickFirst := childIsPickFirst(gc)
if lb.usePickFirst == newUsePickFirst {
return
@@ -488,3 +514,5 @@ func (lb *lbBalancer) Close() {
}
lb.cc.close()
}
+
+func (lb *lbBalancer) ExitIdle() {}
diff --git a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_config.go b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_config.go
index aac371963..8942c3131 100644
--- a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_config.go
+++ b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_config.go
@@ -34,6 +34,7 @@ const (
type grpclbServiceConfig struct {
serviceconfig.LoadBalancingConfig
ChildPolicy *[]map[string]json.RawMessage
+ ServiceName string
}
func (b *lbBuilder) ParseConfig(lbConfig json.RawMessage) (serviceconfig.LoadBalancingConfig, error) {
diff --git a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go
index 5ac8d86bd..805bbbb78 100644
--- a/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go
+++ b/vendor/google.golang.org/grpc/balancer/grpclb/grpclb_remote_balancer.go
@@ -33,6 +33,7 @@ import (
"google.golang.org/grpc/balancer"
lbpb "google.golang.org/grpc/balancer/grpclb/grpc_lb_v1"
"google.golang.org/grpc/connectivity"
+ "google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/internal/backoff"
"google.golang.org/grpc/internal/channelz"
imetadata "google.golang.org/grpc/internal/metadata"
@@ -135,11 +136,19 @@ func (lb *lbBalancer) refreshSubConns(backendAddrs []resolver.Address, fallback
}
if lb.usePickFirst {
- var sc balancer.SubConn
- for _, sc = range lb.subConns {
+ var (
+ scKey resolver.Address
+ sc balancer.SubConn
+ )
+ for scKey, sc = range lb.subConns {
break
}
if sc != nil {
+ if len(backendAddrs) == 0 {
+ lb.cc.cc.RemoveSubConn(sc)
+ delete(lb.subConns, scKey)
+ return
+ }
lb.cc.cc.UpdateAddresses(sc, backendAddrs)
sc.Connect()
return
@@ -206,6 +215,9 @@ type remoteBalancerCCWrapper struct {
backoff backoff.Strategy
done chan struct{}
+ streamMu sync.Mutex
+ streamCancel func()
+
// waitgroup to wait for all goroutines to exit.
wg sync.WaitGroup
}
@@ -217,7 +229,7 @@ func (lb *lbBalancer) newRemoteBalancerCCWrapper() {
} else if bundle := lb.grpclbClientConnCreds; bundle != nil {
dopts = append(dopts, grpc.WithCredentialsBundle(bundle))
} else {
- dopts = append(dopts, grpc.WithInsecure())
+ dopts = append(dopts, grpc.WithTransportCredentials(insecure.NewCredentials()))
}
if lb.opt.Dialer != nil {
dopts = append(dopts, grpc.WithContextDialer(lb.opt.Dialer))
@@ -319,10 +331,8 @@ func (ccw *remoteBalancerCCWrapper) sendLoadReport(s *balanceLoadClientStream, i
}
}
-func (ccw *remoteBalancerCCWrapper) callRemoteBalancer() (backoff bool, _ error) {
+func (ccw *remoteBalancerCCWrapper) callRemoteBalancer(ctx context.Context) (backoff bool, _ error) {
lbClient := &loadBalancerClient{cc: ccw.cc}
- ctx, cancel := context.WithCancel(context.Background())
- defer cancel()
stream, err := lbClient.BalanceLoad(ctx, grpc.WaitForReady(true))
if err != nil {
return true, fmt.Errorf("grpclb: failed to perform RPC to the remote balancer %v", err)
@@ -362,11 +372,43 @@ func (ccw *remoteBalancerCCWrapper) callRemoteBalancer() (backoff bool, _ error)
return false, ccw.readServerList(stream)
}
+// cancelRemoteBalancerCall cancels the context used by the stream to the remote
+// balancer. watchRemoteBalancer() takes care of restarting this call after the
+// stream fails.
+func (ccw *remoteBalancerCCWrapper) cancelRemoteBalancerCall() {
+ ccw.streamMu.Lock()
+ if ccw.streamCancel != nil {
+ ccw.streamCancel()
+ ccw.streamCancel = nil
+ }
+ ccw.streamMu.Unlock()
+}
+
func (ccw *remoteBalancerCCWrapper) watchRemoteBalancer() {
- defer ccw.wg.Done()
+ defer func() {
+ ccw.wg.Done()
+ ccw.streamMu.Lock()
+ if ccw.streamCancel != nil {
+ // This is to make sure that we don't leak the context when we are
+ // directly returning from inside of the below `for` loop.
+ ccw.streamCancel()
+ ccw.streamCancel = nil
+ }
+ ccw.streamMu.Unlock()
+ }()
+
var retryCount int
+ var ctx context.Context
for {
- doBackoff, err := ccw.callRemoteBalancer()
+ ccw.streamMu.Lock()
+ if ccw.streamCancel != nil {
+ ccw.streamCancel()
+ ccw.streamCancel = nil
+ }
+ ctx, ccw.streamCancel = context.WithCancel(context.Background())
+ ccw.streamMu.Unlock()
+
+ doBackoff, err := ccw.callRemoteBalancer(ctx)
select {
case <-ccw.done:
return
diff --git a/vendor/google.golang.org/grpc/balancer/grpclb/state/state.go b/vendor/google.golang.org/grpc/balancer/grpclb/state/state.go
index a24264a34..4ecfa1c21 100644
--- a/vendor/google.golang.org/grpc/balancer/grpclb/state/state.go
+++ b/vendor/google.golang.org/grpc/balancer/grpclb/state/state.go
@@ -39,7 +39,7 @@ type State struct {
// Set returns a copy of the provided state with attributes containing s. s's
// data should not be mutated after calling Set.
func Set(state resolver.State, s *State) resolver.State {
- state.Attributes = state.Attributes.WithValues(key, s)
+ state.Attributes = state.Attributes.WithValue(key, s)
return state
}
diff --git a/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go b/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
index 43c2a1537..274eb2f85 100644
--- a/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
+++ b/vendor/google.golang.org/grpc/balancer/roundrobin/roundrobin.go
@@ -47,11 +47,11 @@ func init() {
type rrPickerBuilder struct{}
func (*rrPickerBuilder) Build(info base.PickerBuildInfo) balancer.Picker {
- logger.Infof("roundrobinPicker: newPicker called with info: %v", info)
+ logger.Infof("roundrobinPicker: Build called with info: %v", info)
if len(info.ReadySCs) == 0 {
return base.NewErrPicker(balancer.ErrNoSubConnAvailable)
}
- var scs []balancer.SubConn
+ scs := make([]balancer.SubConn, 0, len(info.ReadySCs))
for sc := range info.ReadySCs {
scs = append(scs, sc)
}
diff --git a/vendor/google.golang.org/grpc/balancer_conn_wrappers.go b/vendor/google.golang.org/grpc/balancer_conn_wrappers.go
index dd8397963..f4ea61746 100644
--- a/vendor/google.golang.org/grpc/balancer_conn_wrappers.go
+++ b/vendor/google.golang.org/grpc/balancer_conn_wrappers.go
@@ -37,15 +37,20 @@ type scStateUpdate struct {
err error
}
+// exitIdle contains no data and is just a signal sent on the updateCh in
+// ccBalancerWrapper to instruct the balancer to exit idle.
+type exitIdle struct{}
+
// ccBalancerWrapper is a wrapper on top of cc for balancers.
// It implements balancer.ClientConn interface.
type ccBalancerWrapper struct {
- cc *ClientConn
- balancerMu sync.Mutex // synchronizes calls to the balancer
- balancer balancer.Balancer
- updateCh *buffer.Unbounded
- closed *grpcsync.Event
- done *grpcsync.Event
+ cc *ClientConn
+ balancerMu sync.Mutex // synchronizes calls to the balancer
+ balancer balancer.Balancer
+ hasExitIdle bool
+ updateCh *buffer.Unbounded
+ closed *grpcsync.Event
+ done *grpcsync.Event
mu sync.Mutex
subConns map[*acBalancerWrapper]struct{}
@@ -61,6 +66,7 @@ func newCCBalancerWrapper(cc *ClientConn, b balancer.Builder, bopts balancer.Bui
}
go ccb.watcher()
ccb.balancer = b.Build(ccb, bopts)
+ _, ccb.hasExitIdle = ccb.balancer.(balancer.ExitIdler)
return ccb
}
@@ -86,6 +92,17 @@ func (ccb *ccBalancerWrapper) watcher() {
ccb.cc.removeAddrConn(u.getAddrConn(), errConnDrain)
}
ccb.mu.Unlock()
+ case exitIdle:
+ if ccb.cc.GetState() == connectivity.Idle {
+ if ei, ok := ccb.balancer.(balancer.ExitIdler); ok {
+ // We already checked that the balancer implements
+ // ExitIdle before pushing the event to updateCh, but
+ // check conditionally again as defensive programming.
+ ccb.balancerMu.Lock()
+ ei.ExitIdle()
+ ccb.balancerMu.Unlock()
+ }
+ }
default:
logger.Errorf("ccBalancerWrapper.watcher: unknown update %+v, type %T", t, t)
}
@@ -118,6 +135,14 @@ func (ccb *ccBalancerWrapper) close() {
<-ccb.done.Done()
}
+func (ccb *ccBalancerWrapper) exitIdle() bool {
+ if !ccb.hasExitIdle {
+ return false
+ }
+ ccb.updateCh.Put(exitIdle{})
+ return true
+}
+
func (ccb *ccBalancerWrapper) handleSubConnStateChange(sc balancer.SubConn, s connectivity.State, err error) {
// When updating addresses for a SubConn, if the address in use is not in
// the new addresses, the old ac will be tearDown() and a new ac will be
@@ -144,8 +169,8 @@ func (ccb *ccBalancerWrapper) updateClientConnState(ccs *balancer.ClientConnStat
func (ccb *ccBalancerWrapper) resolverError(err error) {
ccb.balancerMu.Lock()
+ defer ccb.balancerMu.Unlock()
ccb.balancer.ResolverError(err)
- ccb.balancerMu.Unlock()
}
func (ccb *ccBalancerWrapper) NewSubConn(addrs []resolver.Address, opts balancer.NewSubConnOptions) (balancer.SubConn, error) {
@@ -239,17 +264,17 @@ func (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) {
return
}
- ac, err := cc.newAddrConn(addrs, opts)
+ newAC, err := cc.newAddrConn(addrs, opts)
if err != nil {
channelz.Warningf(logger, acbw.ac.channelzID, "acBalancerWrapper: UpdateAddresses: failed to newAddrConn: %v", err)
return
}
- acbw.ac = ac
- ac.mu.Lock()
- ac.acbw = acbw
- ac.mu.Unlock()
+ acbw.ac = newAC
+ newAC.mu.Lock()
+ newAC.acbw = acbw
+ newAC.mu.Unlock()
if acState != connectivity.Idle {
- ac.connect()
+ go newAC.connect()
}
}
}
@@ -257,7 +282,7 @@ func (acbw *acBalancerWrapper) UpdateAddresses(addrs []resolver.Address) {
func (acbw *acBalancerWrapper) Connect() {
acbw.mu.Lock()
defer acbw.mu.Unlock()
- acbw.ac.connect()
+ go acbw.ac.connect()
}
func (acbw *acBalancerWrapper) getAddrConn() *addrConn {
diff --git a/vendor/google.golang.org/grpc/clientconn.go b/vendor/google.golang.org/grpc/clientconn.go
index b2bccfed1..f9af78913 100644
--- a/vendor/google.golang.org/grpc/clientconn.go
+++ b/vendor/google.golang.org/grpc/clientconn.go
@@ -23,6 +23,7 @@ import (
"errors"
"fmt"
"math"
+ "net/url"
"reflect"
"strings"
"sync"
@@ -37,7 +38,6 @@ import (
"google.golang.org/grpc/internal/backoff"
"google.golang.org/grpc/internal/channelz"
"google.golang.org/grpc/internal/grpcsync"
- "google.golang.org/grpc/internal/grpcutil"
iresolver "google.golang.org/grpc/internal/resolver"
"google.golang.org/grpc/internal/transport"
"google.golang.org/grpc/keepalive"
@@ -79,17 +79,17 @@ var (
// errNoTransportSecurity indicates that there is no transport security
// being set for ClientConn. Users should either set one or explicitly
// call WithInsecure DialOption to disable security.
- errNoTransportSecurity = errors.New("grpc: no transport security set (use grpc.WithInsecure() explicitly or set credentials)")
+ errNoTransportSecurity = errors.New("grpc: no transport security set (use grpc.WithTransportCredentials(insecure.NewCredentials()) explicitly or set credentials)")
// errTransportCredsAndBundle indicates that creds bundle is used together
// with other individual Transport Credentials.
errTransportCredsAndBundle = errors.New("grpc: credentials.Bundle may not be used with individual TransportCredentials")
- // errTransportCredentialsMissing indicates that users want to transmit security
- // information (e.g., OAuth2 token) which requires secure connection on an insecure
- // connection.
+ // errNoTransportCredsInBundle indicated that the configured creds bundle
+ // returned a transport credentials which was nil.
+ errNoTransportCredsInBundle = errors.New("grpc: credentials.Bundle must return non-nil transport credentials")
+ // errTransportCredentialsMissing indicates that users want to transmit
+ // security information (e.g., OAuth2 token) which requires secure
+ // connection on an insecure connection.
errTransportCredentialsMissing = errors.New("grpc: the credentials require transport level security (use grpc.WithTransportCredentials() to set)")
- // errCredentialsConflict indicates that grpc.WithTransportCredentials()
- // and grpc.WithInsecure() are both called for a connection.
- errCredentialsConflict = errors.New("grpc: transport credentials are set for an insecure connection (grpc.WithTransportCredentials() and grpc.WithInsecure() are both called)")
)
const (
@@ -177,17 +177,20 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
cc.csMgr.channelzID = cc.channelzID
}
- if !cc.dopts.insecure {
- if cc.dopts.copts.TransportCredentials == nil && cc.dopts.copts.CredsBundle == nil {
- return nil, errNoTransportSecurity
- }
- if cc.dopts.copts.TransportCredentials != nil && cc.dopts.copts.CredsBundle != nil {
- return nil, errTransportCredsAndBundle
- }
- } else {
- if cc.dopts.copts.TransportCredentials != nil || cc.dopts.copts.CredsBundle != nil {
- return nil, errCredentialsConflict
- }
+ if cc.dopts.copts.TransportCredentials == nil && cc.dopts.copts.CredsBundle == nil {
+ return nil, errNoTransportSecurity
+ }
+ if cc.dopts.copts.TransportCredentials != nil && cc.dopts.copts.CredsBundle != nil {
+ return nil, errTransportCredsAndBundle
+ }
+ if cc.dopts.copts.CredsBundle != nil && cc.dopts.copts.CredsBundle.TransportCredentials() == nil {
+ return nil, errNoTransportCredsInBundle
+ }
+ transportCreds := cc.dopts.copts.TransportCredentials
+ if transportCreds == nil {
+ transportCreds = cc.dopts.copts.CredsBundle.TransportCredentials()
+ }
+ if transportCreds.Info().SecurityProtocol == "insecure" {
for _, cd := range cc.dopts.copts.PerRPCCredentials {
if cd.RequireTransportSecurity() {
return nil, errTransportCredentialsMissing
@@ -248,38 +251,15 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
}
// Determine the resolver to use.
- cc.parsedTarget = grpcutil.ParseTarget(cc.target, cc.dopts.copts.Dialer != nil)
- channelz.Infof(logger, cc.channelzID, "parsed scheme: %q", cc.parsedTarget.Scheme)
- resolverBuilder := cc.getResolver(cc.parsedTarget.Scheme)
- if resolverBuilder == nil {
- // If resolver builder is still nil, the parsed target's scheme is
- // not registered. Fallback to default resolver and set Endpoint to
- // the original target.
- channelz.Infof(logger, cc.channelzID, "scheme %q not registered, fallback to default scheme", cc.parsedTarget.Scheme)
- cc.parsedTarget = resolver.Target{
- Scheme: resolver.GetDefaultScheme(),
- Endpoint: target,
- }
- resolverBuilder = cc.getResolver(cc.parsedTarget.Scheme)
- if resolverBuilder == nil {
- return nil, fmt.Errorf("could not get resolver for default scheme: %q", cc.parsedTarget.Scheme)
- }
+ resolverBuilder, err := cc.parseTargetAndFindResolver()
+ if err != nil {
+ return nil, err
}
-
- creds := cc.dopts.copts.TransportCredentials
- if creds != nil && creds.Info().ServerName != "" {
- cc.authority = creds.Info().ServerName
- } else if cc.dopts.insecure && cc.dopts.authority != "" {
- cc.authority = cc.dopts.authority
- } else if strings.HasPrefix(cc.target, "unix:") || strings.HasPrefix(cc.target, "unix-abstract:") {
- cc.authority = "localhost"
- } else if strings.HasPrefix(cc.parsedTarget.Endpoint, ":") {
- cc.authority = "localhost" + cc.parsedTarget.Endpoint
- } else {
- // Use endpoint from "scheme://authority/endpoint" as the default
- // authority for ClientConn.
- cc.authority = cc.parsedTarget.Endpoint
+ cc.authority, err = determineAuthority(cc.parsedTarget.Endpoint, cc.target, cc.dopts)
+ if err != nil {
+ return nil, err
}
+ channelz.Infof(logger, cc.channelzID, "Channel authority set to %q", cc.authority)
if cc.dopts.scChan != nil && !scSet {
// Blocking wait for the initial service config.
@@ -305,6 +285,7 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
DialCreds: credsClone,
CredsBundle: cc.dopts.copts.CredsBundle,
Dialer: cc.dopts.copts.Dialer,
+ Authority: cc.authority,
CustomUserAgent: cc.dopts.copts.UserAgent,
ChannelzParentID: cc.channelzID,
Target: cc.parsedTarget,
@@ -322,6 +303,7 @@ func DialContext(ctx context.Context, target string, opts ...DialOption) (conn *
// A blocking dial blocks until the clientConn is ready.
if cc.dopts.block {
for {
+ cc.Connect()
s := cc.GetState()
if s == connectivity.Ready {
break
@@ -539,12 +521,31 @@ func (cc *ClientConn) WaitForStateChange(ctx context.Context, sourceState connec
//
// Experimental
//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
+// Notice: This API is EXPERIMENTAL and may be changed or removed in a later
+// release.
func (cc *ClientConn) GetState() connectivity.State {
return cc.csMgr.getState()
}
+// Connect causes all subchannels in the ClientConn to attempt to connect if
+// the channel is idle. Does not wait for the connection attempts to begin
+// before returning.
+//
+// Experimental
+//
+// Notice: This API is EXPERIMENTAL and may be changed or removed in a later
+// release.
+func (cc *ClientConn) Connect() {
+ cc.mu.Lock()
+ defer cc.mu.Unlock()
+ if cc.balancerWrapper != nil && cc.balancerWrapper.exitIdle() {
+ return
+ }
+ for ac := range cc.conns {
+ go ac.connect()
+ }
+}
+
func (cc *ClientConn) scWatcher() {
for {
select {
@@ -632,7 +633,10 @@ func (cc *ClientConn) updateResolverState(s resolver.State, err error) error {
}
var ret error
- if cc.dopts.disableServiceConfig || s.ServiceConfig == nil {
+ if cc.dopts.disableServiceConfig {
+ channelz.Infof(logger, cc.channelzID, "ignoring service config from resolver (%v) and applying the default because service config is disabled", s.ServiceConfig)
+ cc.maybeApplyDefaultServiceConfig(s.Addresses)
+ } else if s.ServiceConfig == nil {
cc.maybeApplyDefaultServiceConfig(s.Addresses)
// TODO: do we need to apply a failing LB policy if there is no
// default, per the error handling design?
@@ -845,8 +849,7 @@ func (ac *addrConn) connect() error {
ac.updateConnectivityState(connectivity.Connecting, nil)
ac.mu.Unlock()
- // Start a goroutine connecting to the server asynchronously.
- go ac.resetTransport()
+ ac.resetTransport()
return nil
}
@@ -883,6 +886,7 @@ func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
// ac.state is Ready, try to find the connected address.
var curAddrFound bool
for _, a := range addrs {
+ a.ServerName = ac.cc.getServerName(a)
if reflect.DeepEqual(ac.curAddr, a) {
curAddrFound = true
break
@@ -896,6 +900,26 @@ func (ac *addrConn) tryUpdateAddrs(addrs []resolver.Address) bool {
return curAddrFound
}
+// getServerName determines the serverName to be used in the connection
+// handshake. The default value for the serverName is the authority on the
+// ClientConn, which either comes from the user's dial target or through an
+// authority override specified using the WithAuthority dial option. Name
+// resolvers can specify a per-address override for the serverName through the
+// resolver.Address.ServerName field which is used only if the WithAuthority
+// dial option was not used. The rationale is that per-address authority
+// overrides specified by the name resolver can represent a security risk, while
+// an override specified by the user is more dependable since they probably know
+// what they are doing.
+func (cc *ClientConn) getServerName(addr resolver.Address) string {
+ if cc.dopts.authority != "" {
+ return cc.dopts.authority
+ }
+ if addr.ServerName != "" {
+ return addr.ServerName
+ }
+ return cc.authority
+}
+
func getMethodConfig(sc *ServiceConfig, method string) MethodConfig {
if sc == nil {
return MethodConfig{}
@@ -1135,112 +1159,86 @@ func (ac *addrConn) adjustParams(r transport.GoAwayReason) {
}
func (ac *addrConn) resetTransport() {
- for i := 0; ; i++ {
- if i > 0 {
- ac.cc.resolveNow(resolver.ResolveNowOptions{})
- }
+ ac.mu.Lock()
+ if ac.state == connectivity.Shutdown {
+ ac.mu.Unlock()
+ return
+ }
+
+ addrs := ac.addrs
+ backoffFor := ac.dopts.bs.Backoff(ac.backoffIdx)
+ // This will be the duration that dial gets to finish.
+ dialDuration := minConnectTimeout
+ if ac.dopts.minConnectTimeout != nil {
+ dialDuration = ac.dopts.minConnectTimeout()
+ }
+
+ if dialDuration < backoffFor {
+ // Give dial more time as we keep failing to connect.
+ dialDuration = backoffFor
+ }
+ // We can potentially spend all the time trying the first address, and
+ // if the server accepts the connection and then hangs, the following
+ // addresses will never be tried.
+ //
+ // The spec doesn't mention what should be done for multiple addresses.
+ // https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md#proposed-backoff-algorithm
+ connectDeadline := time.Now().Add(dialDuration)
+ ac.updateConnectivityState(connectivity.Connecting, nil)
+ ac.mu.Unlock()
+
+ if err := ac.tryAllAddrs(addrs, connectDeadline); err != nil {
+ ac.cc.resolveNow(resolver.ResolveNowOptions{})
+ // After exhausting all addresses, the addrConn enters
+ // TRANSIENT_FAILURE.
ac.mu.Lock()
if ac.state == connectivity.Shutdown {
ac.mu.Unlock()
return
}
+ ac.updateConnectivityState(connectivity.TransientFailure, err)
- addrs := ac.addrs
- backoffFor := ac.dopts.bs.Backoff(ac.backoffIdx)
- // This will be the duration that dial gets to finish.
- dialDuration := minConnectTimeout
- if ac.dopts.minConnectTimeout != nil {
- dialDuration = ac.dopts.minConnectTimeout()
- }
-
- if dialDuration < backoffFor {
- // Give dial more time as we keep failing to connect.
- dialDuration = backoffFor
- }
- // We can potentially spend all the time trying the first address, and
- // if the server accepts the connection and then hangs, the following
- // addresses will never be tried.
- //
- // The spec doesn't mention what should be done for multiple addresses.
- // https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md#proposed-backoff-algorithm
- connectDeadline := time.Now().Add(dialDuration)
-
- ac.updateConnectivityState(connectivity.Connecting, nil)
- ac.transport = nil
+ // Backoff.
+ b := ac.resetBackoff
ac.mu.Unlock()
- newTr, addr, reconnect, err := ac.tryAllAddrs(addrs, connectDeadline)
- if err != nil {
- // After exhausting all addresses, the addrConn enters
- // TRANSIENT_FAILURE.
+ timer := time.NewTimer(backoffFor)
+ select {
+ case <-timer.C:
ac.mu.Lock()
- if ac.state == connectivity.Shutdown {
- ac.mu.Unlock()
- return
- }
- ac.updateConnectivityState(connectivity.TransientFailure, err)
-
- // Backoff.
- b := ac.resetBackoff
+ ac.backoffIdx++
ac.mu.Unlock()
-
- timer := time.NewTimer(backoffFor)
- select {
- case <-timer.C:
- ac.mu.Lock()
- ac.backoffIdx++
- ac.mu.Unlock()
- case <-b:
- timer.Stop()
- case <-ac.ctx.Done():
- timer.Stop()
- return
- }
- continue
+ case <-b:
+ timer.Stop()
+ case <-ac.ctx.Done():
+ timer.Stop()
+ return
}
ac.mu.Lock()
- if ac.state == connectivity.Shutdown {
- ac.mu.Unlock()
- newTr.Close(fmt.Errorf("reached connectivity state: SHUTDOWN"))
- return
+ if ac.state != connectivity.Shutdown {
+ ac.updateConnectivityState(connectivity.Idle, err)
}
- ac.curAddr = addr
- ac.transport = newTr
- ac.backoffIdx = 0
-
- hctx, hcancel := context.WithCancel(ac.ctx)
- ac.startHealthCheck(hctx)
ac.mu.Unlock()
-
- // Block until the created transport is down. And when this happens,
- // we restart from the top of the addr list.
- <-reconnect.Done()
- hcancel()
- // restart connecting - the top of the loop will set state to
- // CONNECTING. This is against the current connectivity semantics doc,
- // however it allows for graceful behavior for RPCs not yet dispatched
- // - unfortunate timing would otherwise lead to the RPC failing even
- // though the TRANSIENT_FAILURE state (called for by the doc) would be
- // instantaneous.
- //
- // Ideally we should transition to Idle here and block until there is
- // RPC activity that leads to the balancer requesting a reconnect of
- // the associated SubConn.
+ return
}
+ // Success; reset backoff.
+ ac.mu.Lock()
+ ac.backoffIdx = 0
+ ac.mu.Unlock()
}
-// tryAllAddrs tries to creates a connection to the addresses, and stop when at the
-// first successful one. It returns the transport, the address and a Event in
-// the successful case. The Event fires when the returned transport disconnects.
-func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.Time) (transport.ClientTransport, resolver.Address, *grpcsync.Event, error) {
+// tryAllAddrs tries to creates a connection to the addresses, and stop when at
+// the first successful one. It returns an error if no address was successfully
+// connected, or updates ac appropriately with the new transport.
+func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.Time) error {
var firstConnErr error
for _, addr := range addrs {
ac.mu.Lock()
if ac.state == connectivity.Shutdown {
ac.mu.Unlock()
- return nil, resolver.Address{}, nil, errConnClosing
+ return errConnClosing
}
ac.cc.mu.RLock()
@@ -1255,9 +1253,9 @@ func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.T
channelz.Infof(logger, ac.channelzID, "Subchannel picks a new address %q to connect", addr.Addr)
- newTr, reconnect, err := ac.createTransport(addr, copts, connectDeadline)
+ err := ac.createTransport(addr, copts, connectDeadline)
if err == nil {
- return newTr, addr, reconnect, nil
+ return nil
}
if firstConnErr == nil {
firstConnErr = err
@@ -1266,57 +1264,50 @@ func (ac *addrConn) tryAllAddrs(addrs []resolver.Address, connectDeadline time.T
}
// Couldn't connect to any address.
- return nil, resolver.Address{}, nil, firstConnErr
+ return firstConnErr
}
-// createTransport creates a connection to addr. It returns the transport and a
-// Event in the successful case. The Event fires when the returned transport
-// disconnects.
-func (ac *addrConn) createTransport(addr resolver.Address, copts transport.ConnectOptions, connectDeadline time.Time) (transport.ClientTransport, *grpcsync.Event, error) {
- prefaceReceived := make(chan struct{})
- onCloseCalled := make(chan struct{})
- reconnect := grpcsync.NewEvent()
+// createTransport creates a connection to addr. It returns an error if the
+// address was not successfully connected, or updates ac appropriately with the
+// new transport.
+func (ac *addrConn) createTransport(addr resolver.Address, copts transport.ConnectOptions, connectDeadline time.Time) error {
+ // TODO: Delete prefaceReceived and move the logic to wait for it into the
+ // transport.
+ prefaceReceived := grpcsync.NewEvent()
+ connClosed := grpcsync.NewEvent()
- // addr.ServerName takes precedent over ClientConn authority, if present.
- if addr.ServerName == "" {
- addr.ServerName = ac.cc.authority
- }
+ addr.ServerName = ac.cc.getServerName(addr)
+ hctx, hcancel := context.WithCancel(ac.ctx)
+ hcStarted := false // protected by ac.mu
- once := sync.Once{}
- onGoAway := func(r transport.GoAwayReason) {
+ onClose := func() {
ac.mu.Lock()
- ac.adjustParams(r)
- once.Do(func() {
- if ac.state == connectivity.Ready {
- // Prevent this SubConn from being used for new RPCs by setting its
- // state to Connecting.
- //
- // TODO: this should be Idle when grpc-go properly supports it.
- ac.updateConnectivityState(connectivity.Connecting, nil)
- }
- })
- ac.mu.Unlock()
- reconnect.Fire()
+ defer ac.mu.Unlock()
+ defer connClosed.Fire()
+ if !hcStarted || hctx.Err() != nil {
+ // We didn't start the health check or set the state to READY, so
+ // no need to do anything else here.
+ //
+ // OR, we have already cancelled the health check context, meaning
+ // we have already called onClose once for this transport. In this
+ // case it would be dangerous to clear the transport and update the
+ // state, since there may be a new transport in this addrConn.
+ return
+ }
+ hcancel()
+ ac.transport = nil
+ // Refresh the name resolver
+ ac.cc.resolveNow(resolver.ResolveNowOptions{})
+ if ac.state != connectivity.Shutdown {
+ ac.updateConnectivityState(connectivity.Idle, nil)
+ }
}
- onClose := func() {
+ onGoAway := func(r transport.GoAwayReason) {
ac.mu.Lock()
- once.Do(func() {
- if ac.state == connectivity.Ready {
- // Prevent this SubConn from being used for new RPCs by setting its
- // state to Connecting.
- //
- // TODO: this should be Idle when grpc-go properly supports it.
- ac.updateConnectivityState(connectivity.Connecting, nil)
- }
- })
+ ac.adjustParams(r)
ac.mu.Unlock()
- close(onCloseCalled)
- reconnect.Fire()
- }
-
- onPrefaceReceipt := func() {
- close(prefaceReceived)
+ onClose()
}
connectCtx, cancel := context.WithDeadline(ac.ctx, connectDeadline)
@@ -1325,27 +1316,67 @@ func (ac *addrConn) createTransport(addr resolver.Address, copts transport.Conne
copts.ChannelzParentID = ac.channelzID
}
- newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, onPrefaceReceipt, onGoAway, onClose)
+ newTr, err := transport.NewClientTransport(connectCtx, ac.cc.ctx, addr, copts, func() { prefaceReceived.Fire() }, onGoAway, onClose)
if err != nil {
// newTr is either nil, or closed.
- channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v. Err: %v. Reconnecting...", addr, err)
- return nil, nil, err
+ channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v. Err: %v", addr, err)
+ return err
}
select {
- case <-time.After(time.Until(connectDeadline)):
+ case <-connectCtx.Done():
// We didn't get the preface in time.
- newTr.Close(fmt.Errorf("failed to receive server preface within timeout"))
- channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v: didn't receive server preface in time. Reconnecting...", addr)
- return nil, nil, errors.New("timed out waiting for server handshake")
- case <-prefaceReceived:
+ // The error we pass to Close() is immaterial since there are no open
+ // streams at this point, so no trailers with error details will be sent
+ // out. We just need to pass a non-nil error.
+ newTr.Close(transport.ErrConnClosing)
+ if connectCtx.Err() == context.DeadlineExceeded {
+ err := errors.New("failed to receive server preface within timeout")
+ channelz.Warningf(logger, ac.channelzID, "grpc: addrConn.createTransport failed to connect to %v: %v", addr, err)
+ return err
+ }
+ return nil
+ case <-prefaceReceived.Done():
// We got the preface - huzzah! things are good.
- case <-onCloseCalled:
- // The transport has already closed - noop.
- return nil, nil, errors.New("connection closed")
- // TODO(deklerk) this should bail on ac.ctx.Done(). Add a test and fix.
+ ac.mu.Lock()
+ defer ac.mu.Unlock()
+ if connClosed.HasFired() {
+ // onClose called first; go idle but do nothing else.
+ if ac.state != connectivity.Shutdown {
+ ac.updateConnectivityState(connectivity.Idle, nil)
+ }
+ return nil
+ }
+ if ac.state == connectivity.Shutdown {
+ // This can happen if the subConn was removed while in `Connecting`
+ // state. tearDown() would have set the state to `Shutdown`, but
+ // would not have closed the transport since ac.transport would not
+ // been set at that point.
+ //
+ // We run this in a goroutine because newTr.Close() calls onClose()
+ // inline, which requires locking ac.mu.
+ //
+ // The error we pass to Close() is immaterial since there are no open
+ // streams at this point, so no trailers with error details will be sent
+ // out. We just need to pass a non-nil error.
+ go newTr.Close(transport.ErrConnClosing)
+ return nil
+ }
+ ac.curAddr = addr
+ ac.transport = newTr
+ hcStarted = true
+ ac.startHealthCheck(hctx) // Will set state to READY if appropriate.
+ return nil
+ case <-connClosed.Done():
+ // The transport has already closed. If we received the preface, too,
+ // this is not an error.
+ select {
+ case <-prefaceReceived.Done():
+ return nil
+ default:
+ return errors.New("connection closed before server preface received")
+ }
}
- return newTr, reconnect, nil
}
// startHealthCheck starts the health checking stream (RPC) to watch the health
@@ -1587,3 +1618,114 @@ func (cc *ClientConn) connectionError() error {
defer cc.lceMu.Unlock()
return cc.lastConnectionError
}
+
+func (cc *ClientConn) parseTargetAndFindResolver() (resolver.Builder, error) {
+ channelz.Infof(logger, cc.channelzID, "original dial target is: %q", cc.target)
+
+ var rb resolver.Builder
+ parsedTarget, err := parseTarget(cc.target)
+ if err != nil {
+ channelz.Infof(logger, cc.channelzID, "dial target %q parse failed: %v", cc.target, err)
+ } else {
+ channelz.Infof(logger, cc.channelzID, "parsed dial target is: %+v", parsedTarget)
+ rb = cc.getResolver(parsedTarget.Scheme)
+ if rb != nil {
+ cc.parsedTarget = parsedTarget
+ return rb, nil
+ }
+ }
+
+ // We are here because the user's dial target did not contain a scheme or
+ // specified an unregistered scheme. We should fallback to the default
+ // scheme, except when a custom dialer is specified in which case, we should
+ // always use passthrough scheme.
+ defScheme := resolver.GetDefaultScheme()
+ channelz.Infof(logger, cc.channelzID, "fallback to scheme %q", defScheme)
+ canonicalTarget := defScheme + ":///" + cc.target
+
+ parsedTarget, err = parseTarget(canonicalTarget)
+ if err != nil {
+ channelz.Infof(logger, cc.channelzID, "dial target %q parse failed: %v", canonicalTarget, err)
+ return nil, err
+ }
+ channelz.Infof(logger, cc.channelzID, "parsed dial target is: %+v", parsedTarget)
+ rb = cc.getResolver(parsedTarget.Scheme)
+ if rb == nil {
+ return nil, fmt.Errorf("could not get resolver for default scheme: %q", parsedTarget.Scheme)
+ }
+ cc.parsedTarget = parsedTarget
+ return rb, nil
+}
+
+// parseTarget uses RFC 3986 semantics to parse the given target into a
+// resolver.Target struct containing scheme, authority and endpoint. Query
+// params are stripped from the endpoint.
+func parseTarget(target string) (resolver.Target, error) {
+ u, err := url.Parse(target)
+ if err != nil {
+ return resolver.Target{}, err
+ }
+ // For targets of the form "[scheme]://[authority]/endpoint, the endpoint
+ // value returned from url.Parse() contains a leading "/". Although this is
+ // in accordance with RFC 3986, we do not want to break existing resolver
+ // implementations which expect the endpoint without the leading "/". So, we
+ // end up stripping the leading "/" here. But this will result in an
+ // incorrect parsing for something like "unix:///path/to/socket". Since we
+ // own the "unix" resolver, we can workaround in the unix resolver by using
+ // the `URL` field instead of the `Endpoint` field.
+ endpoint := u.Path
+ if endpoint == "" {
+ endpoint = u.Opaque
+ }
+ endpoint = strings.TrimPrefix(endpoint, "/")
+ return resolver.Target{
+ Scheme: u.Scheme,
+ Authority: u.Host,
+ Endpoint: endpoint,
+ URL: *u,
+ }, nil
+}
+
+// Determine channel authority. The order of precedence is as follows:
+// - user specified authority override using `WithAuthority` dial option
+// - creds' notion of server name for the authentication handshake
+// - endpoint from dial target of the form "scheme://[authority]/endpoint"
+func determineAuthority(endpoint, target string, dopts dialOptions) (string, error) {
+ // Historically, we had two options for users to specify the serverName or
+ // authority for a channel. One was through the transport credentials
+ // (either in its constructor, or through the OverrideServerName() method).
+ // The other option (for cases where WithInsecure() dial option was used)
+ // was to use the WithAuthority() dial option.
+ //
+ // A few things have changed since:
+ // - `insecure` package with an implementation of the `TransportCredentials`
+ // interface for the insecure case
+ // - WithAuthority() dial option support for secure credentials
+ authorityFromCreds := ""
+ if creds := dopts.copts.TransportCredentials; creds != nil && creds.Info().ServerName != "" {
+ authorityFromCreds = creds.Info().ServerName
+ }
+ authorityFromDialOption := dopts.authority
+ if (authorityFromCreds != "" && authorityFromDialOption != "") && authorityFromCreds != authorityFromDialOption {
+ return "", fmt.Errorf("ClientConn's authority from transport creds %q and dial option %q don't match", authorityFromCreds, authorityFromDialOption)
+ }
+
+ switch {
+ case authorityFromDialOption != "":
+ return authorityFromDialOption, nil
+ case authorityFromCreds != "":
+ return authorityFromCreds, nil
+ case strings.HasPrefix(target, "unix:") || strings.HasPrefix(target, "unix-abstract:"):
+ // TODO: remove when the unix resolver implements optional interface to
+ // return channel authority.
+ return "localhost", nil
+ case strings.HasPrefix(endpoint, ":"):
+ return "localhost" + endpoint, nil
+ default:
+ // TODO: Define an optional interface on the resolver builder to return
+ // the channel authority given the user's dial target. For resolvers
+ // which don't implement this interface, we will use the endpoint from
+ // "scheme://authority/endpoint" as the default authority.
+ return endpoint, nil
+ }
+}
diff --git a/vendor/google.golang.org/grpc/connectivity/connectivity.go b/vendor/google.golang.org/grpc/connectivity/connectivity.go
index 010156261..4a8992642 100644
--- a/vendor/google.golang.org/grpc/connectivity/connectivity.go
+++ b/vendor/google.golang.org/grpc/connectivity/connectivity.go
@@ -18,7 +18,6 @@
// Package connectivity defines connectivity semantics.
// For details, see https://github.com/grpc/grpc/blob/master/doc/connectivity-semantics-and-api.md.
-// All APIs in this package are experimental.
package connectivity
import (
@@ -45,7 +44,7 @@ func (s State) String() string {
return "SHUTDOWN"
default:
logger.Errorf("unknown connectivity state: %d", s)
- return "Invalid-State"
+ return "INVALID_STATE"
}
}
@@ -61,3 +60,35 @@ const (
// Shutdown indicates the ClientConn has started shutting down.
Shutdown
)
+
+// ServingMode indicates the current mode of operation of the server.
+//
+// Only xDS enabled gRPC servers currently report their serving mode.
+type ServingMode int
+
+const (
+ // ServingModeStarting indicates that the server is starting up.
+ ServingModeStarting ServingMode = iota
+ // ServingModeServing indicates that the server contains all required
+ // configuration and is serving RPCs.
+ ServingModeServing
+ // ServingModeNotServing indicates that the server is not accepting new
+ // connections. Existing connections will be closed gracefully, allowing
+ // in-progress RPCs to complete. A server enters this mode when it does not
+ // contain the required configuration to serve RPCs.
+ ServingModeNotServing
+)
+
+func (s ServingMode) String() string {
+ switch s {
+ case ServingModeStarting:
+ return "STARTING"
+ case ServingModeServing:
+ return "SERVING"
+ case ServingModeNotServing:
+ return "NOT_SERVING"
+ default:
+ logger.Errorf("unknown serving mode: %d", s)
+ return "INVALID_MODE"
+ }
+}
diff --git a/vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/service/service.go b/vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/service/service.go
index 77d759cd9..2de2c4aff 100644
--- a/vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/service/service.go
+++ b/vendor/google.golang.org/grpc/credentials/alts/internal/handshaker/service/service.go
@@ -24,6 +24,7 @@ import (
"sync"
grpc "google.golang.org/grpc"
+ "google.golang.org/grpc/credentials/insecure"
)
var (
@@ -49,7 +50,7 @@ func Dial(hsAddress string) (*grpc.ClientConn, error) {
// Create a new connection to the handshaker service. Note that
// this connection stays open until the application is closed.
var err error
- hsConn, err = hsDialer(hsAddress, grpc.WithInsecure())
+ hsConn, err = hsDialer(hsAddress, grpc.WithTransportCredentials(insecure.NewCredentials()))
if err != nil {
return nil, err
}
diff --git a/vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker_grpc.pb.go b/vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker_grpc.pb.go
index a02c45828..fd55176b9 100644
--- a/vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker_grpc.pb.go
+++ b/vendor/google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp/handshaker_grpc.pb.go
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
-// - protoc-gen-go-grpc v1.1.0
+// - protoc-gen-go-grpc v1.2.0
// - protoc v3.14.0
// source: grpc/gcp/handshaker.proto
diff --git a/vendor/google.golang.org/grpc/credentials/credentials.go b/vendor/google.golang.org/grpc/credentials/credentials.go
index 7eee7e4ec..96ff1877e 100644
--- a/vendor/google.golang.org/grpc/credentials/credentials.go
+++ b/vendor/google.golang.org/grpc/credentials/credentials.go
@@ -140,6 +140,11 @@ type TransportCredentials interface {
// Additionally, ClientHandshakeInfo data will be available via the context
// passed to this call.
//
+ // The second argument to this method is the `:authority` header value used
+ // while creating new streams on this connection after authentication
+ // succeeds. Implementations must use this as the server name during the
+ // authentication handshake.
+ //
// If the returned net.Conn is closed, it MUST close the net.Conn provided.
ClientHandshake(context.Context, string, net.Conn) (net.Conn, AuthInfo, error)
// ServerHandshake does the authentication handshake for servers. It returns
@@ -153,9 +158,13 @@ type TransportCredentials interface {
Info() ProtocolInfo
// Clone makes a copy of this TransportCredentials.
Clone() TransportCredentials
- // OverrideServerName overrides the server name used to verify the hostname on the returned certificates from the server.
- // gRPC internals also use it to override the virtual hosting name if it is set.
- // It must be called before dialing. Currently, this is only used by grpclb.
+ // OverrideServerName specifies the value used for the following:
+ // - verifying the hostname on the returned certificates
+ // - as SNI in the client's handshake to support virtual hosting
+ // - as the value for `:authority` header at stream creation time
+ //
+ // Deprecated: use grpc.WithAuthority instead. Will be supported
+ // throughout 1.x.
OverrideServerName(string) error
}
@@ -169,8 +178,18 @@ type TransportCredentials interface {
//
// This API is experimental.
type Bundle interface {
+ // TransportCredentials returns the transport credentials from the Bundle.
+ //
+ // Implementations must return non-nil transport credentials. If transport
+ // security is not needed by the Bundle, implementations may choose to
+ // return insecure.NewCredentials().
TransportCredentials() TransportCredentials
+
+ // PerRPCCredentials returns the per-RPC credentials from the Bundle.
+ //
+ // May be nil if per-RPC credentials are not needed.
PerRPCCredentials() PerRPCCredentials
+
// NewWithMode should make a copy of Bundle, and switch mode. Modifying the
// existing Bundle may cause races.
//
diff --git a/vendor/google.golang.org/grpc/credentials/go12.go b/vendor/google.golang.org/grpc/credentials/go12.go
deleted file mode 100644
index ccbf35b33..000000000
--- a/vendor/google.golang.org/grpc/credentials/go12.go
+++ /dev/null
@@ -1,30 +0,0 @@
-// +build go1.12
-
-/*
- *
- * Copyright 2019 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package credentials
-
-import "crypto/tls"
-
-// This init function adds cipher suite constants only defined in Go 1.12.
-func init() {
- cipherSuiteLookup[tls.TLS_AES_128_GCM_SHA256] = "TLS_AES_128_GCM_SHA256"
- cipherSuiteLookup[tls.TLS_AES_256_GCM_SHA384] = "TLS_AES_256_GCM_SHA384"
- cipherSuiteLookup[tls.TLS_CHACHA20_POLY1305_SHA256] = "TLS_CHACHA20_POLY1305_SHA256"
-}
diff --git a/vendor/google.golang.org/grpc/credentials/google/google.go b/vendor/google.golang.org/grpc/credentials/google/google.go
index 265d193c7..fbdf7dc29 100644
--- a/vendor/google.golang.org/grpc/credentials/google/google.go
+++ b/vendor/google.golang.org/grpc/credentials/google/google.go
@@ -35,57 +35,63 @@ const tokenRequestTimeout = 30 * time.Second
var logger = grpclog.Component("credentials")
-// NewDefaultCredentials returns a credentials bundle that is configured to work
-// with google services.
+// DefaultCredentialsOptions constructs options to build DefaultCredentials.
+type DefaultCredentialsOptions struct {
+ // PerRPCCreds is a per RPC credentials that is passed to a bundle.
+ PerRPCCreds credentials.PerRPCCredentials
+}
+
+// NewDefaultCredentialsWithOptions returns a credentials bundle that is
+// configured to work with google services.
//
// This API is experimental.
-func NewDefaultCredentials() credentials.Bundle {
- c := &creds{
- newPerRPCCreds: func() credentials.PerRPCCredentials {
- ctx, cancel := context.WithTimeout(context.Background(), tokenRequestTimeout)
- defer cancel()
- perRPCCreds, err := oauth.NewApplicationDefault(ctx)
- if err != nil {
- logger.Warningf("google default creds: failed to create application oauth: %v", err)
- }
- return perRPCCreds
- },
+func NewDefaultCredentialsWithOptions(opts DefaultCredentialsOptions) credentials.Bundle {
+ if opts.PerRPCCreds == nil {
+ ctx, cancel := context.WithTimeout(context.Background(), tokenRequestTimeout)
+ defer cancel()
+ var err error
+ opts.PerRPCCreds, err = newADC(ctx)
+ if err != nil {
+ logger.Warningf("NewDefaultCredentialsWithOptions: failed to create application oauth: %v", err)
+ }
}
+ c := &creds{opts: opts}
bundle, err := c.NewWithMode(internal.CredsBundleModeFallback)
if err != nil {
- logger.Warningf("google default creds: failed to create new creds: %v", err)
+ logger.Warningf("NewDefaultCredentialsWithOptions: failed to create new creds: %v", err)
}
return bundle
}
+// NewDefaultCredentials returns a credentials bundle that is configured to work
+// with google services.
+//
+// This API is experimental.
+func NewDefaultCredentials() credentials.Bundle {
+ return NewDefaultCredentialsWithOptions(DefaultCredentialsOptions{})
+}
+
// NewComputeEngineCredentials returns a credentials bundle that is configured to work
// with google services. This API must only be used when running on GCE. Authentication configured
// by this API represents the GCE VM's default service account.
//
// This API is experimental.
func NewComputeEngineCredentials() credentials.Bundle {
- c := &creds{
- newPerRPCCreds: func() credentials.PerRPCCredentials {
- return oauth.NewComputeEngine()
- },
- }
- bundle, err := c.NewWithMode(internal.CredsBundleModeFallback)
- if err != nil {
- logger.Warningf("compute engine creds: failed to create new creds: %v", err)
- }
- return bundle
+ return NewDefaultCredentialsWithOptions(DefaultCredentialsOptions{
+ PerRPCCreds: oauth.NewComputeEngine(),
+ })
}
// creds implements credentials.Bundle.
type creds struct {
+ opts DefaultCredentialsOptions
+
// Supported modes are defined in internal/internal.go.
mode string
- // The transport credentials associated with this bundle.
+ // The active transport credentials associated with this bundle.
transportCreds credentials.TransportCredentials
- // The per RPC credentials associated with this bundle.
+ // The active per RPC credentials associated with this bundle.
perRPCCreds credentials.PerRPCCredentials
- // Creates new per RPC credentials
- newPerRPCCreds func() credentials.PerRPCCredentials
}
func (c *creds) TransportCredentials() credentials.TransportCredentials {
@@ -106,14 +112,17 @@ var (
newALTS = func() credentials.TransportCredentials {
return alts.NewClientCreds(alts.DefaultClientOptions())
}
+ newADC = func(ctx context.Context) (credentials.PerRPCCredentials, error) {
+ return oauth.NewApplicationDefault(ctx)
+ }
)
// NewWithMode should make a copy of Bundle, and switch mode. Modifying the
// existing Bundle may cause races.
func (c *creds) NewWithMode(mode string) (credentials.Bundle, error) {
newCreds := &creds{
- mode: mode,
- newPerRPCCreds: c.newPerRPCCreds,
+ opts: c.opts,
+ mode: mode,
}
// Create transport credentials.
@@ -129,7 +138,7 @@ func (c *creds) NewWithMode(mode string) (credentials.Bundle, error) {
}
if mode == internal.CredsBundleModeFallback || mode == internal.CredsBundleModeBackendFromBalancer {
- newCreds.perRPCCreds = newCreds.newPerRPCCreds()
+ newCreds.perRPCCreds = newCreds.opts.PerRPCCreds
}
return newCreds, nil
diff --git a/vendor/google.golang.org/grpc/credentials/google/xds.go b/vendor/google.golang.org/grpc/credentials/google/xds.go
index 588c685e2..b8c2e8f92 100644
--- a/vendor/google.golang.org/grpc/credentials/google/xds.go
+++ b/vendor/google.golang.org/grpc/credentials/google/xds.go
@@ -21,18 +21,19 @@ package google
import (
"context"
"net"
+ "strings"
"google.golang.org/grpc/credentials"
"google.golang.org/grpc/internal"
)
-const cfeClusterName = "google-cfe"
+const cfeClusterNamePrefix = "google_cfe_"
// clusterTransportCreds is a combo of TLS + ALTS.
//
// On the client, ClientHandshake picks TLS or ALTS based on address attributes.
// - if attributes has cluster name
-// - if cluster name is "google_cfe", use TLS
+// - if cluster name has prefix "google_cfe_", use TLS
// - otherwise, use ALTS
// - else, do TLS
//
@@ -55,7 +56,7 @@ func (c *clusterTransportCreds) ClientHandshake(ctx context.Context, authority s
return c.tls.ClientHandshake(ctx, authority, rawConn)
}
cn, ok := internal.GetXDSHandshakeClusterName(chi.Attributes)
- if !ok || cn == cfeClusterName {
+ if !ok || strings.HasPrefix(cn, cfeClusterNamePrefix) {
return c.tls.ClientHandshake(ctx, authority, rawConn)
}
// If attributes have cluster name, and cluster name is not cfe, it's a
diff --git a/vendor/google.golang.org/grpc/credentials/insecure/insecure.go b/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
new file mode 100644
index 000000000..82bee1443
--- /dev/null
+++ b/vendor/google.golang.org/grpc/credentials/insecure/insecure.go
@@ -0,0 +1,98 @@
+/*
+ *
+ * Copyright 2020 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+// Package insecure provides an implementation of the
+// credentials.TransportCredentials interface which disables transport security.
+package insecure
+
+import (
+ "context"
+ "net"
+
+ "google.golang.org/grpc/credentials"
+)
+
+// NewCredentials returns a credentials which disables transport security.
+//
+// Note that using this credentials with per-RPC credentials which require
+// transport security is incompatible and will cause grpc.Dial() to fail.
+func NewCredentials() credentials.TransportCredentials {
+ return insecureTC{}
+}
+
+// insecureTC implements the insecure transport credentials. The handshake
+// methods simply return the passed in net.Conn and set the security level to
+// NoSecurity.
+type insecureTC struct{}
+
+func (insecureTC) ClientHandshake(ctx context.Context, _ string, conn net.Conn) (net.Conn, credentials.AuthInfo, error) {
+ return conn, info{credentials.CommonAuthInfo{SecurityLevel: credentials.NoSecurity}}, nil
+}
+
+func (insecureTC) ServerHandshake(conn net.Conn) (net.Conn, credentials.AuthInfo, error) {
+ return conn, info{credentials.CommonAuthInfo{SecurityLevel: credentials.NoSecurity}}, nil
+}
+
+func (insecureTC) Info() credentials.ProtocolInfo {
+ return credentials.ProtocolInfo{SecurityProtocol: "insecure"}
+}
+
+func (insecureTC) Clone() credentials.TransportCredentials {
+ return insecureTC{}
+}
+
+func (insecureTC) OverrideServerName(string) error {
+ return nil
+}
+
+// info contains the auth information for an insecure connection.
+// It implements the AuthInfo interface.
+type info struct {
+ credentials.CommonAuthInfo
+}
+
+// AuthType returns the type of info as a string.
+func (info) AuthType() string {
+ return "insecure"
+}
+
+// insecureBundle implements an insecure bundle.
+// An insecure bundle provides a thin wrapper around insecureTC to support
+// the credentials.Bundle interface.
+type insecureBundle struct{}
+
+// NewBundle returns a bundle with disabled transport security and no per rpc credential.
+func NewBundle() credentials.Bundle {
+ return insecureBundle{}
+}
+
+// NewWithMode returns a new insecure Bundle. The mode is ignored.
+func (insecureBundle) NewWithMode(string) (credentials.Bundle, error) {
+ return insecureBundle{}, nil
+}
+
+// PerRPCCredentials returns an nil implementation as insecure
+// bundle does not support a per rpc credential.
+func (insecureBundle) PerRPCCredentials() credentials.PerRPCCredentials {
+ return nil
+}
+
+// TransportCredentials returns the underlying insecure transport credential.
+func (insecureBundle) TransportCredentials() credentials.TransportCredentials {
+ return NewCredentials()
+}
diff --git a/vendor/google.golang.org/grpc/credentials/oauth/oauth.go b/vendor/google.golang.org/grpc/credentials/oauth/oauth.go
index 852ae375c..c748fd21c 100644
--- a/vendor/google.golang.org/grpc/credentials/oauth/oauth.go
+++ b/vendor/google.golang.org/grpc/credentials/oauth/oauth.go
@@ -23,6 +23,7 @@ import (
"context"
"fmt"
"io/ioutil"
+ "net/url"
"sync"
"golang.org/x/oauth2"
@@ -56,6 +57,16 @@ func (ts TokenSource) RequireTransportSecurity() bool {
return true
}
+// removeServiceNameFromJWTURI removes RPC service name from URI.
+func removeServiceNameFromJWTURI(uri string) (string, error) {
+ parsed, err := url.Parse(uri)
+ if err != nil {
+ return "", err
+ }
+ parsed.Path = "/"
+ return parsed.String(), nil
+}
+
type jwtAccess struct {
jsonKey []byte
}
@@ -75,9 +86,15 @@ func NewJWTAccessFromKey(jsonKey []byte) (credentials.PerRPCCredentials, error)
}
func (j jwtAccess) GetRequestMetadata(ctx context.Context, uri ...string) (map[string]string, error) {
+ // Remove RPC service name from URI that will be used as audience
+ // in a self-signed JWT token. It follows https://google.aip.dev/auth/4111.
+ aud, err := removeServiceNameFromJWTURI(uri[0])
+ if err != nil {
+ return nil, err
+ }
// TODO: the returned TokenSource is reusable. Store it in a sync.Map, with
// uri as the key, to avoid recreating for every RPC.
- ts, err := google.JWTAccessTokenSourceFromJSON(j.jsonKey, uri[0])
+ ts, err := google.JWTAccessTokenSourceFromJSON(j.jsonKey, aud)
if err != nil {
return nil, err
}
diff --git a/vendor/google.golang.org/grpc/credentials/tls.go b/vendor/google.golang.org/grpc/credentials/tls.go
index 8ee7124f2..784822d05 100644
--- a/vendor/google.golang.org/grpc/credentials/tls.go
+++ b/vendor/google.golang.org/grpc/credentials/tls.go
@@ -230,4 +230,7 @@ var cipherSuiteLookup = map[uint16]string{
tls.TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256: "TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
tls.TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305",
tls.TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305: "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305",
+ tls.TLS_AES_128_GCM_SHA256: "TLS_AES_128_GCM_SHA256",
+ tls.TLS_AES_256_GCM_SHA384: "TLS_AES_256_GCM_SHA384",
+ tls.TLS_CHACHA20_POLY1305_SHA256: "TLS_CHACHA20_POLY1305_SHA256",
}
diff --git a/vendor/google.golang.org/grpc/dialoptions.go b/vendor/google.golang.org/grpc/dialoptions.go
index 7a497237b..c4bf09f9e 100644
--- a/vendor/google.golang.org/grpc/dialoptions.go
+++ b/vendor/google.golang.org/grpc/dialoptions.go
@@ -27,9 +27,9 @@ import (
"google.golang.org/grpc/backoff"
"google.golang.org/grpc/balancer"
"google.golang.org/grpc/credentials"
+ "google.golang.org/grpc/credentials/insecure"
"google.golang.org/grpc/internal"
internalbackoff "google.golang.org/grpc/internal/backoff"
- "google.golang.org/grpc/internal/envconfig"
"google.golang.org/grpc/internal/transport"
"google.golang.org/grpc/keepalive"
"google.golang.org/grpc/resolver"
@@ -50,7 +50,6 @@ type dialOptions struct {
bs internalbackoff.Strategy
block bool
returnLastError bool
- insecure bool
timeout time.Duration
scChan <-chan ServiceConfig
authority string
@@ -228,18 +227,14 @@ func WithServiceConfig(c <-chan ServiceConfig) DialOption {
})
}
-// WithConnectParams configures the dialer to use the provided ConnectParams.
+// WithConnectParams configures the ClientConn to use the provided ConnectParams
+// for creating and maintaining connections to servers.
//
// The backoff configuration specified as part of the ConnectParams overrides
// all defaults specified in
// https://github.com/grpc/grpc/blob/master/doc/connection-backoff.md. Consider
// using the backoff.DefaultConfig as a base, in cases where you want to
// override only a subset of the backoff configuration.
-//
-// Experimental
-//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
func WithConnectParams(p ConnectParams) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.bs = internalbackoff.Exponential{Config: p.Backoff}
@@ -277,7 +272,7 @@ func withBackoff(bs internalbackoff.Strategy) DialOption {
})
}
-// WithBlock returns a DialOption which makes caller of Dial blocks until the
+// WithBlock returns a DialOption which makes callers of Dial block until the
// underlying connection is up. Without this, Dial returns immediately and
// connecting the server happens in background.
func WithBlock() DialOption {
@@ -303,11 +298,17 @@ func WithReturnConnectionError() DialOption {
}
// WithInsecure returns a DialOption which disables transport security for this
-// ClientConn. Note that transport security is required unless WithInsecure is
-// set.
+// ClientConn. Under the hood, it uses insecure.NewCredentials().
+//
+// Note that using this DialOption with per-RPC credentials (through
+// WithCredentialsBundle or WithPerRPCCredentials) which require transport
+// security is incompatible and will cause grpc.Dial() to fail.
+//
+// Deprecated: use WithTransportCredentials and insecure.NewCredentials() instead.
+// Will be supported throughout 1.x.
func WithInsecure() DialOption {
return newFuncDialOption(func(o *dialOptions) {
- o.insecure = true
+ o.copts.TransportCredentials = insecure.NewCredentials()
})
}
@@ -482,8 +483,7 @@ func WithChainStreamInterceptor(interceptors ...StreamClientInterceptor) DialOpt
}
// WithAuthority returns a DialOption that specifies the value to be used as the
-// :authority pseudo-header. This value only works with WithInsecure and has no
-// effect if TransportCredentials are present.
+// :authority pseudo-header and as the server name in authentication handshake.
func WithAuthority(a string) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.authority = a
@@ -519,14 +519,16 @@ func WithDisableServiceConfig() DialOption {
// WithDefaultServiceConfig returns a DialOption that configures the default
// service config, which will be used in cases where:
//
-// 1. WithDisableServiceConfig is also used.
-// 2. Resolver does not return a service config or if the resolver returns an
-// invalid service config.
+// 1. WithDisableServiceConfig is also used, or
//
-// Experimental
+// 2. The name resolver does not provide a service config or provides an
+// invalid service config.
//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
+// The parameter s is the JSON representation of the default service config.
+// For more information about service configs, see:
+// https://github.com/grpc/grpc/blob/master/doc/service_config.md
+// For a simple example of usage, see:
+// examples/features/load_balancing/client/main.go
func WithDefaultServiceConfig(s string) DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.defaultServiceConfigRawJSON = &s
@@ -538,14 +540,8 @@ func WithDefaultServiceConfig(s string) DialOption {
// will happen automatically if no data is written to the wire or if the RPC is
// unprocessed by the remote server.
//
-// Retry support is currently disabled by default, but will be enabled by
-// default in the future. Until then, it may be enabled by setting the
-// environment variable "GRPC_GO_RETRY" to "on".
-//
-// Experimental
-//
-// Notice: This API is EXPERIMENTAL and may be changed or removed in a
-// later release.
+// Retry support is currently enabled by default, but may be disabled by
+// setting the environment variable "GRPC_GO_RETRY" to "off".
func WithDisableRetry() DialOption {
return newFuncDialOption(func(o *dialOptions) {
o.disableRetry = true
@@ -585,7 +581,6 @@ func withHealthCheckFunc(f internal.HealthChecker) DialOption {
func defaultDialOptions() dialOptions {
return dialOptions{
- disableRetry: !envconfig.Retry,
healthCheckFunc: internal.HealthCheckFunc,
copts: transport.ConnectOptions{
WriteBufferSize: defaultWriteBufSize,
diff --git a/vendor/google.golang.org/grpc/go.mod b/vendor/google.golang.org/grpc/go.mod
index 2f2cf1eb7..0e7dc351a 100644
--- a/vendor/google.golang.org/grpc/go.mod
+++ b/vendor/google.golang.org/grpc/go.mod
@@ -1,18 +1,19 @@
module google.golang.org/grpc
-go 1.11
+go 1.14
require (
- github.com/cespare/xxhash v1.1.0
- github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403
- github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0
+ github.com/cespare/xxhash/v2 v2.1.1
+ github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4
+ github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1
+ github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021
github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b
- github.com/golang/protobuf v1.4.3
- github.com/google/go-cmp v0.5.0
+ github.com/golang/protobuf v1.5.2
+ github.com/google/go-cmp v0.5.5
github.com/google/uuid v1.1.2
golang.org/x/net v0.0.0-20200822124328-c89045814202
golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
golang.org/x/sys v0.0.0-20200323222414-85ca7c5b95cd
google.golang.org/genproto v0.0.0-20200526211855-cb27e3aa2013
- google.golang.org/protobuf v1.25.0
+ google.golang.org/protobuf v1.26.0
)
diff --git a/vendor/google.golang.org/grpc/go.sum b/vendor/google.golang.org/grpc/go.sum
index 372b4ea3d..03be9ef71 100644
--- a/vendor/google.golang.org/grpc/go.sum
+++ b/vendor/google.golang.org/grpc/go.sum
@@ -2,27 +2,28 @@ cloud.google.com/go v0.26.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMT
cloud.google.com/go v0.34.0 h1:eOI3/cP2VTU6uZLDYAoic+eyzzB9YyGmJ7eIjl8rOPg=
cloud.google.com/go v0.34.0/go.mod h1:aQUYkXzVsufM+DwF1aE+0xfcU+56JwCaLick0ClmMTw=
github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
-github.com/OneOfOne/xxhash v1.2.2 h1:KMrpdQIwFcEqXDklaen+P1axHaj9BSKzvpUUfnHldSE=
-github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAElWljhcU=
github.com/antihax/optional v1.0.0/go.mod h1:uupD/76wgC+ih3iEmQUL+0Ugr19nfwCT1kdvxnR2qWY=
github.com/census-instrumentation/opencensus-proto v0.2.1 h1:glEXhBS5PSLLv4IXzLA5yPRVX4bilULVyxxbrfOtDAk=
github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU=
-github.com/cespare/xxhash v1.1.0 h1:a6HrQnmkObjyL+Gs60czilIUGqrzKutQD6XZog3p+ko=
-github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc=
+github.com/cespare/xxhash/v2 v2.1.1 h1:6MnRN8NT7+YBpUIWxHtefFZOKTAPgGjpQSxqLNn0+qY=
+github.com/cespare/xxhash/v2 v2.1.1/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
github.com/client9/misspell v0.3.4/go.mod h1:qj6jICC3Q7zFZvVWo7KLAzC3yx5G7kyvSDkc90ppPyw=
github.com/cncf/udpa/go v0.0.0-20191209042840-269d4d468f6f/go.mod h1:M8M6+tZqaGXZJjfX53e64911xZQV5JYwmTeXPW+k8Sc=
-github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403 h1:cqQfy1jclcSy/FwLjemeg3SR1yaINm74aQyupQ0Bl8M=
github.com/cncf/udpa/go v0.0.0-20201120205902-5459f2c99403/go.mod h1:WmhPx2Nbnhtbo57+VJT5O0JRkEi1Wbu0z5j0R8u5Hbk=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed h1:OZmjad4L3H8ncOIR8rnb5MREYqG8ixi5+WbeUsquF0c=
-github.com/cncf/xds/go v0.0.0-20210312221358-fbca930ec8ed/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4 h1:hzAQntlaYRkVSFEfj9OTWlVV1H155FMD8BTKktLv0QI=
+github.com/cncf/udpa/go v0.0.0-20210930031921-04548b0d99d4/go.mod h1:6pvJx4me5XPnfI9Z40ddWsdw2W/uZgQLFXToKeRcDiI=
+github.com/cncf/xds/go v0.0.0-20210805033703-aa0b78936158/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20210922020428-25de7278fc84/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1 h1:zH8ljVhhq7yC0MIeUL/IviMtY8hx2mK8cN9wEYb8ggw=
+github.com/cncf/xds/go v0.0.0-20211011173535-cb28da3451f1/go.mod h1:eXthEFrGJvWHgFFCl3hGmgk+/aYT6PnTQLykKQRLhEs=
github.com/davecgh/go-spew v1.1.0 h1:ZDRjVQ15GmhC3fiQ8ni8+OwkZQO4DARzQgrnXU1Liz8=
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/envoyproxy/go-control-plane v0.9.0/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.1-0.20191026205805-5f8ba28d4473/go.mod h1:YTl/9mNaCwkRvm6d1a2C3ymFceY/DCBVvsKhRF0iEA4=
github.com/envoyproxy/go-control-plane v0.9.4/go.mod h1:6rpuAdCZL397s3pYoYcLgu1mIlRU8Am5FuJP05cCM98=
github.com/envoyproxy/go-control-plane v0.9.9-0.20201210154907-fd9021fe5dad/go.mod h1:cXg6YxExXjJnVBQHBLXeUAgxn2UodCpnH306RInaBQk=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0 h1:dulLQAYQFYtG5MTplgNGHWuV2D+OBD+Z8lmDBmbLg+s=
-github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021 h1:fP+fF0up6oPY49OrjPrhIJ8yQfdIM85NXMLkMg1EXVs=
+github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0=
github.com/envoyproxy/protoc-gen-validate v0.1.0 h1:EQciDnbrYxy13PgWoY8AqoxGiPrpgBZ1R8UNe3ddc+A=
github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c=
github.com/ghodss/yaml v1.0.0/go.mod h1:4dBDuWmgqj2HViK6kFavaiC9ZROes6MMH2rRYeMEF04=
@@ -39,14 +40,17 @@ github.com/golang/protobuf v1.4.0-rc.4.0.20200313231945-b860323f09d0/go.mod h1:W
github.com/golang/protobuf v1.4.0/go.mod h1:jodUvKwWbYaEsadDk5Fwe5c77LiNKVO9IDvqG2KuDX0=
github.com/golang/protobuf v1.4.1/go.mod h1:U8fpvMrcmy5pZrNK1lt4xCsGvpyWQ/VVv6QDs8UjoX8=
github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
-github.com/golang/protobuf v1.4.3 h1:JjCZWpVbqXDqFVmTfYWEVTMIYrL/NPdPSCHPJ0T/raM=
github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI=
+github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk=
+github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw=
+github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY=
github.com/google/go-cmp v0.2.0/go.mod h1:oXzfMopK8JAjlY9xF4vHSVASa0yLyX7SntLO5aqRK0M=
github.com/google/go-cmp v0.3.0/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.3.1/go.mod h1:8QqcDgzrUqlUb/G2PQTWiueGozuR1884gddMywk6iLU=
github.com/google/go-cmp v0.4.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
-github.com/google/go-cmp v0.5.0 h1:/QaMHBdZ26BB3SSst0Iwl10Epc+xhTquomWX0oZEB6w=
github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
+github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
+github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
github.com/google/uuid v1.1.2 h1:EVhdT+1Kseyi1/pUmXKaFxYsDNy9RQYkMWRH68J/W7Y=
github.com/google/uuid v1.1.2/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
github.com/grpc-ecosystem/grpc-gateway v1.16.0/go.mod h1:BDjrQk3hbvj6Nolgz8mAMFbcEtjT1g+wF4CSlocrBnw=
@@ -54,11 +58,10 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/prometheus/client_model v0.0.0-20190812154241-14fe0d1b01d4/go.mod h1:xMI15A0UPsDsEKsMN9yxemIoYk6Tm2C1GtYGdfGttqA=
github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72 h1:qLC7fQah7D6K1B0ujays3HV9gkFtllcxhzImRR7ArPQ=
-github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasOWyU6f++ZhiEuf87xNszmSA2myDM2Kzu9HwQUA=
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
-github.com/stretchr/testify v1.5.1 h1:nOGnQDM7FYENwehXlg/kFVnos3rEvtKTjRvOWSzb6H4=
github.com/stretchr/testify v1.5.1/go.mod h1:5W2xD1RspED5o8YsWQXVCued0rvSQ+mT+I5cxcmMvtA=
+github.com/stretchr/testify v1.7.0 h1:nwc3DEeHmmLAfoZucVR881uASk0Mfjw8xYJ99tb5CcY=
+github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
go.opentelemetry.io/proto/otlp v0.7.0/go.mod h1:PqfVotwruBrMGOCsRd/89rSnXhoiJIqeYNgFYFoEGnI=
golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACkg1iLfiJU5Ep61QUkGW8qpdssI0+w=
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
@@ -117,12 +120,15 @@ google.golang.org/protobuf v1.21.0/go.mod h1:47Nbq4nVaFHyn7ilMalzfO3qCViNmqZ2kzi
google.golang.org/protobuf v1.22.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.0/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
google.golang.org/protobuf v1.23.1-0.20200526195155-81db48ad09cc/go.mod h1:EGpADcykh3NcUnDUJcl1+ZksZNG86OlYog2l/sGQquU=
-google.golang.org/protobuf v1.25.0 h1:Ejskq+SyPohKW+1uil0JJMtmHCgJPJ/qWTxr8qp+R4c=
google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlbajtzgsN7c=
+google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw=
+google.golang.org/protobuf v1.26.0 h1:bxAC2xTBsZGibn2RTntX0oH50xLsqy1OxA9tTL3p/lk=
+google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
-gopkg.in/yaml.v2 v2.2.3 h1:fvjTMHxHEw/mxHbtzPi3JCcKXQRAnQTBRo6YCJSVHKI=
gopkg.in/yaml.v2 v2.2.3/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c h1:dUUwHk2QECo/6vqA44rthZ8ie2QXMNeKRTHCNY2nXvo=
+gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
honnef.co/go/tools v0.0.0-20190102054323-c2f93a96b099/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
honnef.co/go/tools v0.0.0-20190523083050-ea95bdfd59fc/go.mod h1:rf3lG4BRIbNafJWhAfAdb/ePZxsR/4RtNHQocxwk9r4=
diff --git a/vendor/google.golang.org/grpc/grpclog/loggerv2.go b/vendor/google.golang.org/grpc/grpclog/loggerv2.go
index 4ee33171e..7c1f66409 100644
--- a/vendor/google.golang.org/grpc/grpclog/loggerv2.go
+++ b/vendor/google.golang.org/grpc/grpclog/loggerv2.go
@@ -19,11 +19,14 @@
package grpclog
import (
+ "encoding/json"
+ "fmt"
"io"
"io/ioutil"
"log"
"os"
"strconv"
+ "strings"
"google.golang.org/grpc/internal/grpclog"
)
@@ -95,8 +98,9 @@ var severityName = []string{
// loggerT is the default logger used by grpclog.
type loggerT struct {
- m []*log.Logger
- v int
+ m []*log.Logger
+ v int
+ jsonFormat bool
}
// NewLoggerV2 creates a loggerV2 with the provided writers.
@@ -105,19 +109,32 @@ type loggerT struct {
// Warning logs will be written to warningW and infoW.
// Info logs will be written to infoW.
func NewLoggerV2(infoW, warningW, errorW io.Writer) LoggerV2 {
- return NewLoggerV2WithVerbosity(infoW, warningW, errorW, 0)
+ return newLoggerV2WithConfig(infoW, warningW, errorW, loggerV2Config{})
}
// NewLoggerV2WithVerbosity creates a loggerV2 with the provided writers and
// verbosity level.
func NewLoggerV2WithVerbosity(infoW, warningW, errorW io.Writer, v int) LoggerV2 {
+ return newLoggerV2WithConfig(infoW, warningW, errorW, loggerV2Config{verbose: v})
+}
+
+type loggerV2Config struct {
+ verbose int
+ jsonFormat bool
+}
+
+func newLoggerV2WithConfig(infoW, warningW, errorW io.Writer, c loggerV2Config) LoggerV2 {
var m []*log.Logger
- m = append(m, log.New(infoW, severityName[infoLog]+": ", log.LstdFlags))
- m = append(m, log.New(io.MultiWriter(infoW, warningW), severityName[warningLog]+": ", log.LstdFlags))
+ flag := log.LstdFlags
+ if c.jsonFormat {
+ flag = 0
+ }
+ m = append(m, log.New(infoW, "", flag))
+ m = append(m, log.New(io.MultiWriter(infoW, warningW), "", flag))
ew := io.MultiWriter(infoW, warningW, errorW) // ew will be used for error and fatal.
- m = append(m, log.New(ew, severityName[errorLog]+": ", log.LstdFlags))
- m = append(m, log.New(ew, severityName[fatalLog]+": ", log.LstdFlags))
- return &loggerT{m: m, v: v}
+ m = append(m, log.New(ew, "", flag))
+ m = append(m, log.New(ew, "", flag))
+ return &loggerT{m: m, v: c.verbose, jsonFormat: c.jsonFormat}
}
// newLoggerV2 creates a loggerV2 to be used as default logger.
@@ -142,58 +159,79 @@ func newLoggerV2() LoggerV2 {
if vl, err := strconv.Atoi(vLevel); err == nil {
v = vl
}
- return NewLoggerV2WithVerbosity(infoW, warningW, errorW, v)
+
+ jsonFormat := strings.EqualFold(os.Getenv("GRPC_GO_LOG_FORMATTER"), "json")
+
+ return newLoggerV2WithConfig(infoW, warningW, errorW, loggerV2Config{
+ verbose: v,
+ jsonFormat: jsonFormat,
+ })
+}
+
+func (g *loggerT) output(severity int, s string) {
+ sevStr := severityName[severity]
+ if !g.jsonFormat {
+ g.m[severity].Output(2, fmt.Sprintf("%v: %v", sevStr, s))
+ return
+ }
+ // TODO: we can also include the logging component, but that needs more
+ // (API) changes.
+ b, _ := json.Marshal(map[string]string{
+ "severity": sevStr,
+ "message": s,
+ })
+ g.m[severity].Output(2, string(b))
}
func (g *loggerT) Info(args ...interface{}) {
- g.m[infoLog].Print(args...)
+ g.output(infoLog, fmt.Sprint(args...))
}
func (g *loggerT) Infoln(args ...interface{}) {
- g.m[infoLog].Println(args...)
+ g.output(infoLog, fmt.Sprintln(args...))
}
func (g *loggerT) Infof(format string, args ...interface{}) {
- g.m[infoLog].Printf(format, args...)
+ g.output(infoLog, fmt.Sprintf(format, args...))
}
func (g *loggerT) Warning(args ...interface{}) {
- g.m[warningLog].Print(args...)
+ g.output(warningLog, fmt.Sprint(args...))
}
func (g *loggerT) Warningln(args ...interface{}) {
- g.m[warningLog].Println(args...)
+ g.output(warningLog, fmt.Sprintln(args...))
}
func (g *loggerT) Warningf(format string, args ...interface{}) {
- g.m[warningLog].Printf(format, args...)
+ g.output(warningLog, fmt.Sprintf(format, args...))
}
func (g *loggerT) Error(args ...interface{}) {
- g.m[errorLog].Print(args...)
+ g.output(errorLog, fmt.Sprint(args...))
}
func (g *loggerT) Errorln(args ...interface{}) {
- g.m[errorLog].Println(args...)
+ g.output(errorLog, fmt.Sprintln(args...))
}
func (g *loggerT) Errorf(format string, args ...interface{}) {
- g.m[errorLog].Printf(format, args...)
+ g.output(errorLog, fmt.Sprintf(format, args...))
}
func (g *loggerT) Fatal(args ...interface{}) {
- g.m[fatalLog].Fatal(args...)
- // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().
+ g.output(fatalLog, fmt.Sprint(args...))
+ os.Exit(1)
}
func (g *loggerT) Fatalln(args ...interface{}) {
- g.m[fatalLog].Fatalln(args...)
- // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().
+ g.output(fatalLog, fmt.Sprintln(args...))
+ os.Exit(1)
}
func (g *loggerT) Fatalf(format string, args ...interface{}) {
- g.m[fatalLog].Fatalf(format, args...)
- // No need to call os.Exit() again because log.Logger.Fatal() calls os.Exit().
+ g.output(fatalLog, fmt.Sprintf(format, args...))
+ os.Exit(1)
}
func (g *loggerT) V(l int) bool {
@@ -210,12 +248,12 @@ func (g *loggerT) V(l int) bool {
// later release.
type DepthLoggerV2 interface {
LoggerV2
- // InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Println.
InfoDepth(depth int, args ...interface{})
- // WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Println.
WarningDepth(depth int, args ...interface{})
- // ErrorDetph logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // ErrorDepth logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Println.
ErrorDepth(depth int, args ...interface{})
- // FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Println.
FatalDepth(depth int, args ...interface{})
}
diff --git a/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go b/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
index bdc3ae284..69f525d1b 100644
--- a/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
+++ b/vendor/google.golang.org/grpc/health/grpc_health_v1/health_grpc.pb.go
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
-// - protoc-gen-go-grpc v1.1.0
+// - protoc-gen-go-grpc v1.2.0
// - protoc v3.14.0
// source: grpc/health/v1/health.proto
diff --git a/vendor/google.golang.org/grpc/install_gae.sh b/vendor/google.golang.org/grpc/install_gae.sh
deleted file mode 100644
index 15ff9facd..000000000
--- a/vendor/google.golang.org/grpc/install_gae.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/bash
-
-TMP=$(mktemp -d /tmp/sdk.XXX) \
-&& curl -o $TMP.zip "https://storage.googleapis.com/appengine-sdks/featured/go_appengine_sdk_linux_amd64-1.9.68.zip" \
-&& unzip -q $TMP.zip -d $TMP \
-&& export PATH="$PATH:$TMP/go_appengine"
\ No newline at end of file
diff --git a/vendor/google.golang.org/grpc/interceptor.go b/vendor/google.golang.org/grpc/interceptor.go
index 668e0adcf..bb96ef57b 100644
--- a/vendor/google.golang.org/grpc/interceptor.go
+++ b/vendor/google.golang.org/grpc/interceptor.go
@@ -72,9 +72,12 @@ type UnaryServerInfo struct {
}
// UnaryHandler defines the handler invoked by UnaryServerInterceptor to complete the normal
-// execution of a unary RPC. If a UnaryHandler returns an error, it should be produced by the
-// status package, or else gRPC will use codes.Unknown as the status code and err.Error() as
-// the status message of the RPC.
+// execution of a unary RPC.
+//
+// If a UnaryHandler returns an error, it should either be produced by the
+// status package, or be one of the context errors. Otherwise, gRPC will use
+// codes.Unknown as the status code and err.Error() as the status message of the
+// RPC.
type UnaryHandler func(ctx context.Context, req interface{}) (interface{}, error)
// UnaryServerInterceptor provides a hook to intercept the execution of a unary RPC on the server. info
diff --git a/vendor/google.golang.org/grpc/internal/channelz/funcs.go b/vendor/google.golang.org/grpc/internal/channelz/funcs.go
index f73141393..ea660a147 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/funcs.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/funcs.go
@@ -24,6 +24,7 @@
package channelz
import (
+ "context"
"fmt"
"sort"
"sync"
@@ -49,7 +50,8 @@ var (
// TurnOn turns on channelz data collection.
func TurnOn() {
if !IsOn() {
- NewChannelzStorage()
+ db.set(newChannelMap())
+ idGen.reset()
atomic.StoreInt32(&curState, 1)
}
}
@@ -94,46 +96,40 @@ func (d *dbWrapper) get() *channelMap {
return d.DB
}
-// NewChannelzStorage initializes channelz data storage and id generator.
+// NewChannelzStorageForTesting initializes channelz data storage and id
+// generator for testing purposes.
//
-// This function returns a cleanup function to wait for all channelz state to be reset by the
-// grpc goroutines when those entities get closed. By using this cleanup function, we make sure tests
-// don't mess up each other, i.e. lingering goroutine from previous test doing entity removal happen
-// to remove some entity just register by the new test, since the id space is the same.
-//
-// Note: This function is exported for testing purpose only. User should not call
-// it in most cases.
-func NewChannelzStorage() (cleanup func() error) {
- db.set(&channelMap{
- topLevelChannels: make(map[int64]struct{}),
- channels: make(map[int64]*channel),
- listenSockets: make(map[int64]*listenSocket),
- normalSockets: make(map[int64]*normalSocket),
- servers: make(map[int64]*server),
- subChannels: make(map[int64]*subChannel),
- })
+// Returns a cleanup function to be invoked by the test, which waits for up to
+// 10s for all channelz state to be reset by the grpc goroutines when those
+// entities get closed. This cleanup function helps with ensuring that tests
+// don't mess up each other.
+func NewChannelzStorageForTesting() (cleanup func() error) {
+ db.set(newChannelMap())
idGen.reset()
+
return func() error {
- var err error
cm := db.get()
if cm == nil {
return nil
}
- for i := 0; i < 1000; i++ {
- cm.mu.Lock()
- if len(cm.topLevelChannels) == 0 && len(cm.servers) == 0 && len(cm.channels) == 0 && len(cm.subChannels) == 0 && len(cm.listenSockets) == 0 && len(cm.normalSockets) == 0 {
- cm.mu.Unlock()
- // all things stored in the channelz map have been cleared.
+
+ ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second)
+ defer cancel()
+ ticker := time.NewTicker(10 * time.Millisecond)
+ defer ticker.Stop()
+ for {
+ cm.mu.RLock()
+ topLevelChannels, servers, channels, subChannels, listenSockets, normalSockets := len(cm.topLevelChannels), len(cm.servers), len(cm.channels), len(cm.subChannels), len(cm.listenSockets), len(cm.normalSockets)
+ cm.mu.RUnlock()
+
+ if err := ctx.Err(); err != nil {
+ return fmt.Errorf("after 10s the channelz map has not been cleaned up yet, topchannels: %d, servers: %d, channels: %d, subchannels: %d, listen sockets: %d, normal sockets: %d", topLevelChannels, servers, channels, subChannels, listenSockets, normalSockets)
+ }
+ if topLevelChannels == 0 && servers == 0 && channels == 0 && subChannels == 0 && listenSockets == 0 && normalSockets == 0 {
return nil
}
- cm.mu.Unlock()
- time.Sleep(10 * time.Millisecond)
+ <-ticker.C
}
-
- cm.mu.Lock()
- err = fmt.Errorf("after 10s the channelz map has not been cleaned up yet, topchannels: %d, servers: %d, channels: %d, subchannels: %d, listen sockets: %d, normal sockets: %d", len(cm.topLevelChannels), len(cm.servers), len(cm.channels), len(cm.subChannels), len(cm.listenSockets), len(cm.normalSockets))
- cm.mu.Unlock()
- return err
}
}
@@ -204,9 +200,9 @@ func RegisterChannel(c Channel, pid int64, ref string) int64 {
trace: &channelTrace{createdTime: time.Now(), events: make([]*TraceEvent, 0, getMaxTraceEntry())},
}
if pid == 0 {
- db.get().addChannel(id, cn, true, pid, ref)
+ db.get().addChannel(id, cn, true, pid)
} else {
- db.get().addChannel(id, cn, false, pid, ref)
+ db.get().addChannel(id, cn, false, pid)
}
return id
}
@@ -228,7 +224,7 @@ func RegisterSubChannel(c Channel, pid int64, ref string) int64 {
pid: pid,
trace: &channelTrace{createdTime: time.Now(), events: make([]*TraceEvent, 0, getMaxTraceEntry())},
}
- db.get().addSubChannel(id, sc, pid, ref)
+ db.get().addSubChannel(id, sc, pid)
return id
}
@@ -258,7 +254,7 @@ func RegisterListenSocket(s Socket, pid int64, ref string) int64 {
}
id := idGen.genID()
ls := &listenSocket{refName: ref, s: s, id: id, pid: pid}
- db.get().addListenSocket(id, ls, pid, ref)
+ db.get().addListenSocket(id, ls, pid)
return id
}
@@ -273,11 +269,11 @@ func RegisterNormalSocket(s Socket, pid int64, ref string) int64 {
}
id := idGen.genID()
ns := &normalSocket{refName: ref, s: s, id: id, pid: pid}
- db.get().addNormalSocket(id, ns, pid, ref)
+ db.get().addNormalSocket(id, ns, pid)
return id
}
-// RemoveEntry removes an entry with unique channelz trakcing id to be id from
+// RemoveEntry removes an entry with unique channelz tracking id to be id from
// channelz database.
func RemoveEntry(id int64) {
db.get().removeEntry(id)
@@ -326,6 +322,17 @@ type channelMap struct {
normalSockets map[int64]*normalSocket
}
+func newChannelMap() *channelMap {
+ return &channelMap{
+ topLevelChannels: make(map[int64]struct{}),
+ channels: make(map[int64]*channel),
+ listenSockets: make(map[int64]*listenSocket),
+ normalSockets: make(map[int64]*normalSocket),
+ servers: make(map[int64]*server),
+ subChannels: make(map[int64]*subChannel),
+ }
+}
+
func (c *channelMap) addServer(id int64, s *server) {
c.mu.Lock()
s.cm = c
@@ -333,7 +340,7 @@ func (c *channelMap) addServer(id int64, s *server) {
c.mu.Unlock()
}
-func (c *channelMap) addChannel(id int64, cn *channel, isTopChannel bool, pid int64, ref string) {
+func (c *channelMap) addChannel(id int64, cn *channel, isTopChannel bool, pid int64) {
c.mu.Lock()
cn.cm = c
cn.trace.cm = c
@@ -346,7 +353,7 @@ func (c *channelMap) addChannel(id int64, cn *channel, isTopChannel bool, pid in
c.mu.Unlock()
}
-func (c *channelMap) addSubChannel(id int64, sc *subChannel, pid int64, ref string) {
+func (c *channelMap) addSubChannel(id int64, sc *subChannel, pid int64) {
c.mu.Lock()
sc.cm = c
sc.trace.cm = c
@@ -355,7 +362,7 @@ func (c *channelMap) addSubChannel(id int64, sc *subChannel, pid int64, ref stri
c.mu.Unlock()
}
-func (c *channelMap) addListenSocket(id int64, ls *listenSocket, pid int64, ref string) {
+func (c *channelMap) addListenSocket(id int64, ls *listenSocket, pid int64) {
c.mu.Lock()
ls.cm = c
c.listenSockets[id] = ls
@@ -363,7 +370,7 @@ func (c *channelMap) addListenSocket(id int64, ls *listenSocket, pid int64, ref
c.mu.Unlock()
}
-func (c *channelMap) addNormalSocket(id int64, ns *normalSocket, pid int64, ref string) {
+func (c *channelMap) addNormalSocket(id int64, ns *normalSocket, pid int64) {
c.mu.Lock()
ns.cm = c
c.normalSockets[id] = ns
@@ -630,7 +637,7 @@ func (c *channelMap) GetServerSockets(id int64, startID int64, maxResults int64)
if count == 0 {
end = true
}
- var s []*SocketMetric
+ s := make([]*SocketMetric, 0, len(sks))
for _, ns := range sks {
sm := &SocketMetric{}
sm.SocketData = ns.s.ChannelzMetric()
diff --git a/vendor/google.golang.org/grpc/internal/channelz/types_linux.go b/vendor/google.golang.org/grpc/internal/channelz/types_linux.go
index 692dd6181..1b1c4cce3 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/types_linux.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/types_linux.go
@@ -1,5 +1,3 @@
-// +build !appengine
-
/*
*
* Copyright 2018 gRPC authors.
diff --git a/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go b/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go
index 19c2fc521..8b06eed1a 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/types_nonlinux.go
@@ -1,4 +1,5 @@
-// +build !linux appengine
+//go:build !linux
+// +build !linux
/*
*
@@ -37,6 +38,6 @@ type SocketOptionData struct {
// Windows OS doesn't support Socket Option
func (s *SocketOptionData) Getsockopt(fd uintptr) {
once.Do(func() {
- logger.Warning("Channelz: socket options are not supported on non-linux os and appengine.")
+ logger.Warning("Channelz: socket options are not supported on non-linux environments")
})
}
diff --git a/vendor/google.golang.org/grpc/internal/channelz/util_linux.go b/vendor/google.golang.org/grpc/internal/channelz/util_linux.go
index fdf409d55..8d194e44e 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/util_linux.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/util_linux.go
@@ -1,5 +1,3 @@
-// +build linux,!appengine
-
/*
*
* Copyright 2018 gRPC authors.
diff --git a/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go b/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go
index 8864a0811..837ddc402 100644
--- a/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go
+++ b/vendor/google.golang.org/grpc/internal/channelz/util_nonlinux.go
@@ -1,4 +1,5 @@
-// +build !linux appengine
+//go:build !linux
+// +build !linux
/*
*
diff --git a/vendor/google.golang.org/grpc/internal/credentials/spiffe.go b/vendor/google.golang.org/grpc/internal/credentials/spiffe.go
index be70b6cdf..25ade6230 100644
--- a/vendor/google.golang.org/grpc/internal/credentials/spiffe.go
+++ b/vendor/google.golang.org/grpc/internal/credentials/spiffe.go
@@ -1,5 +1,3 @@
-// +build !appengine
-
/*
*
* Copyright 2020 gRPC authors.
diff --git a/vendor/google.golang.org/grpc/internal/credentials/spiffe_appengine.go b/vendor/google.golang.org/grpc/internal/credentials/spiffe_appengine.go
deleted file mode 100644
index af6f57719..000000000
--- a/vendor/google.golang.org/grpc/internal/credentials/spiffe_appengine.go
+++ /dev/null
@@ -1,31 +0,0 @@
-// +build appengine
-
-/*
- *
- * Copyright 2020 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-package credentials
-
-import (
- "crypto/tls"
- "net/url"
-)
-
-// SPIFFEIDFromState is a no-op for appengine builds.
-func SPIFFEIDFromState(state tls.ConnectionState) *url.URL {
- return nil
-}
diff --git a/vendor/google.golang.org/grpc/internal/credentials/syscallconn.go b/vendor/google.golang.org/grpc/internal/credentials/syscallconn.go
index f499a614c..2919632d6 100644
--- a/vendor/google.golang.org/grpc/internal/credentials/syscallconn.go
+++ b/vendor/google.golang.org/grpc/internal/credentials/syscallconn.go
@@ -1,5 +1,3 @@
-// +build !appengine
-
/*
*
* Copyright 2018 gRPC authors.
diff --git a/vendor/google.golang.org/grpc/internal/credentials/util.go b/vendor/google.golang.org/grpc/internal/credentials/util.go
index 55664fa46..f792fd22c 100644
--- a/vendor/google.golang.org/grpc/internal/credentials/util.go
+++ b/vendor/google.golang.org/grpc/internal/credentials/util.go
@@ -18,7 +18,9 @@
package credentials
-import "crypto/tls"
+import (
+ "crypto/tls"
+)
const alpnProtoStrH2 = "h2"
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
index 73931a94b..6f0272543 100644
--- a/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
+++ b/vendor/google.golang.org/grpc/internal/envconfig/envconfig.go
@@ -26,13 +26,10 @@ import (
const (
prefix = "GRPC_GO_"
- retryStr = prefix + "RETRY"
txtErrIgnoreStr = prefix + "IGNORE_TXT_ERRORS"
)
var (
- // Retry is set if retry is explicitly enabled via "GRPC_GO_RETRY=on".
- Retry = strings.EqualFold(os.Getenv(retryStr), "on")
// TXTErrIgnore is set if TXT errors should be ignored ("GRPC_GO_IGNORE_TXT_ERRORS" is not "false").
TXTErrIgnore = !strings.EqualFold(os.Getenv(txtErrIgnoreStr), "false")
)
diff --git a/vendor/google.golang.org/grpc/internal/envconfig/xds.go b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
new file mode 100644
index 000000000..7d996e51b
--- /dev/null
+++ b/vendor/google.golang.org/grpc/internal/envconfig/xds.go
@@ -0,0 +1,101 @@
+/*
+ *
+ * Copyright 2020 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package envconfig
+
+import (
+ "os"
+ "strings"
+)
+
+const (
+ // XDSBootstrapFileNameEnv is the env variable to set bootstrap file name.
+ // Do not use this and read from env directly. Its value is read and kept in
+ // variable XDSBootstrapFileName.
+ //
+ // When both bootstrap FileName and FileContent are set, FileName is used.
+ XDSBootstrapFileNameEnv = "GRPC_XDS_BOOTSTRAP"
+ // XDSBootstrapFileContentEnv is the env variable to set bootstrap file
+ // content. Do not use this and read from env directly. Its value is read
+ // and kept in variable XDSBootstrapFileContent.
+ //
+ // When both bootstrap FileName and FileContent are set, FileName is used.
+ XDSBootstrapFileContentEnv = "GRPC_XDS_BOOTSTRAP_CONFIG"
+
+ ringHashSupportEnv = "GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH"
+ clientSideSecuritySupportEnv = "GRPC_XDS_EXPERIMENTAL_SECURITY_SUPPORT"
+ aggregateAndDNSSupportEnv = "GRPC_XDS_EXPERIMENTAL_ENABLE_AGGREGATE_AND_LOGICAL_DNS_CLUSTER"
+ rbacSupportEnv = "GRPC_XDS_EXPERIMENTAL_RBAC"
+ outlierDetectionSupportEnv = "GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION"
+ federationEnv = "GRPC_EXPERIMENTAL_XDS_FEDERATION"
+ rlsInXDSEnv = "GRPC_EXPERIMENTAL_XDS_RLS_LB"
+
+ c2pResolverTestOnlyTrafficDirectorURIEnv = "GRPC_TEST_ONLY_GOOGLE_C2P_RESOLVER_TRAFFIC_DIRECTOR_URI"
+)
+
+var (
+ // XDSBootstrapFileName holds the name of the file which contains xDS
+ // bootstrap configuration. Users can specify the location of the bootstrap
+ // file by setting the environment variable "GRPC_XDS_BOOTSTRAP".
+ //
+ // When both bootstrap FileName and FileContent are set, FileName is used.
+ XDSBootstrapFileName = os.Getenv(XDSBootstrapFileNameEnv)
+ // XDSBootstrapFileContent holds the content of the xDS bootstrap
+ // configuration. Users can specify the bootstrap config by setting the
+ // environment variable "GRPC_XDS_BOOTSTRAP_CONFIG".
+ //
+ // When both bootstrap FileName and FileContent are set, FileName is used.
+ XDSBootstrapFileContent = os.Getenv(XDSBootstrapFileContentEnv)
+ // XDSRingHash indicates whether ring hash support is enabled, which can be
+ // disabled by setting the environment variable
+ // "GRPC_XDS_EXPERIMENTAL_ENABLE_RING_HASH" to "false".
+ XDSRingHash = !strings.EqualFold(os.Getenv(ringHashSupportEnv), "false")
+ // XDSClientSideSecurity is used to control processing of security
+ // configuration on the client-side.
+ //
+ // Note that there is no env var protection for the server-side because we
+ // have a brand new API on the server-side and users explicitly need to use
+ // the new API to get security integration on the server.
+ XDSClientSideSecurity = !strings.EqualFold(os.Getenv(clientSideSecuritySupportEnv), "false")
+ // XDSAggregateAndDNS indicates whether processing of aggregated cluster
+ // and DNS cluster is enabled, which can be enabled by setting the
+ // environment variable
+ // "GRPC_XDS_EXPERIMENTAL_ENABLE_AGGREGATE_AND_LOGICAL_DNS_CLUSTER" to
+ // "true".
+ XDSAggregateAndDNS = strings.EqualFold(os.Getenv(aggregateAndDNSSupportEnv), "true")
+
+ // XDSRBAC indicates whether xDS configured RBAC HTTP Filter is enabled,
+ // which can be disabled by setting the environment variable
+ // "GRPC_XDS_EXPERIMENTAL_RBAC" to "false".
+ XDSRBAC = !strings.EqualFold(os.Getenv(rbacSupportEnv), "false")
+ // XDSOutlierDetection indicates whether outlier detection support is
+ // enabled, which can be enabled by setting the environment variable
+ // "GRPC_EXPERIMENTAL_ENABLE_OUTLIER_DETECTION" to "true".
+ XDSOutlierDetection = strings.EqualFold(os.Getenv(outlierDetectionSupportEnv), "true")
+ // XDSFederation indicates whether federation support is enabled.
+ XDSFederation = strings.EqualFold(os.Getenv(federationEnv), "true")
+
+ // XDSRLS indicates whether processing of Cluster Specifier plugins and
+ // support for the RLS CLuster Specifier is enabled, which can be enabled by
+ // setting the environment variable "GRPC_EXPERIMENTAL_XDS_RLS_LB" to
+ // "true".
+ XDSRLS = strings.EqualFold(os.Getenv(rlsInXDSEnv), "true")
+
+ // C2PResolverTestOnlyTrafficDirectorURI is the TD URI for testing.
+ C2PResolverTestOnlyTrafficDirectorURI = os.Getenv(c2pResolverTestOnlyTrafficDirectorURIEnv)
+)
diff --git a/vendor/google.golang.org/grpc/internal/grpclog/grpclog.go b/vendor/google.golang.org/grpc/internal/grpclog/grpclog.go
index e6f975cbf..30a3b4258 100644
--- a/vendor/google.golang.org/grpc/internal/grpclog/grpclog.go
+++ b/vendor/google.golang.org/grpc/internal/grpclog/grpclog.go
@@ -115,12 +115,12 @@ type LoggerV2 interface {
// Notice: This type is EXPERIMENTAL and may be changed or removed in a
// later release.
type DepthLoggerV2 interface {
- // InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // InfoDepth logs to INFO log at the specified depth. Arguments are handled in the manner of fmt.Println.
InfoDepth(depth int, args ...interface{})
- // WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // WarningDepth logs to WARNING log at the specified depth. Arguments are handled in the manner of fmt.Println.
WarningDepth(depth int, args ...interface{})
- // ErrorDetph logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // ErrorDepth logs to ERROR log at the specified depth. Arguments are handled in the manner of fmt.Println.
ErrorDepth(depth int, args ...interface{})
- // FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Print.
+ // FatalDepth logs to FATAL log at the specified depth. Arguments are handled in the manner of fmt.Println.
FatalDepth(depth int, args ...interface{})
}
diff --git a/vendor/google.golang.org/grpc/internal/credentials/syscallconn_appengine.go b/vendor/google.golang.org/grpc/internal/grpcutil/grpcutil.go
similarity index 72%
rename from vendor/google.golang.org/grpc/internal/credentials/syscallconn_appengine.go
rename to vendor/google.golang.org/grpc/internal/grpcutil/grpcutil.go
index a6144cd66..e2f948e8f 100644
--- a/vendor/google.golang.org/grpc/internal/credentials/syscallconn_appengine.go
+++ b/vendor/google.golang.org/grpc/internal/grpcutil/grpcutil.go
@@ -1,8 +1,6 @@
-// +build appengine
-
/*
*
- * Copyright 2018 gRPC authors.
+ * Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,13 +16,5 @@
*
*/
-package credentials
-
-import (
- "net"
-)
-
-// WrapSyscallConn returns newConn on appengine.
-func WrapSyscallConn(rawConn, newConn net.Conn) net.Conn {
- return newConn
-}
+// Package grpcutil provides utility functions used across the gRPC codebase.
+package grpcutil
diff --git a/vendor/google.golang.org/grpc/internal/resolver/dns/go113.go b/vendor/google.golang.org/grpc/internal/grpcutil/regex.go
similarity index 63%
rename from vendor/google.golang.org/grpc/internal/resolver/dns/go113.go
rename to vendor/google.golang.org/grpc/internal/grpcutil/regex.go
index 8783a8cf8..7a092b2b8 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/dns/go113.go
+++ b/vendor/google.golang.org/grpc/internal/grpcutil/regex.go
@@ -1,8 +1,6 @@
-// +build go1.13
-
/*
*
- * Copyright 2019 gRPC authors.
+ * Copyright 2021 gRPC authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
@@ -18,16 +16,16 @@
*
*/
-package dns
+package grpcutil
-import "net"
+import "regexp"
-func init() {
- filterError = func(err error) error {
- if dnsErr, ok := err.(*net.DNSError); ok && dnsErr.IsNotFound {
- // The name does not exist; not an error.
- return nil
- }
- return err
+// FullMatchWithRegex returns whether the full text matches the regex provided.
+func FullMatchWithRegex(re *regexp.Regexp, text string) bool {
+ if len(text) == 0 {
+ return re.MatchString(text)
}
+ re.Longest()
+ rem := re.FindString(text)
+ return len(rem) == len(text)
}
diff --git a/vendor/google.golang.org/grpc/internal/grpcutil/target.go b/vendor/google.golang.org/grpc/internal/grpcutil/target.go
deleted file mode 100644
index 8833021da..000000000
--- a/vendor/google.golang.org/grpc/internal/grpcutil/target.go
+++ /dev/null
@@ -1,89 +0,0 @@
-/*
- *
- * Copyright 2020 gRPC authors.
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- *
- */
-
-// Package grpcutil provides a bunch of utility functions to be used across the
-// gRPC codebase.
-package grpcutil
-
-import (
- "strings"
-
- "google.golang.org/grpc/resolver"
-)
-
-// split2 returns the values from strings.SplitN(s, sep, 2).
-// If sep is not found, it returns ("", "", false) instead.
-func split2(s, sep string) (string, string, bool) {
- spl := strings.SplitN(s, sep, 2)
- if len(spl) < 2 {
- return "", "", false
- }
- return spl[0], spl[1], true
-}
-
-// ParseTarget splits target into a resolver.Target struct containing scheme,
-// authority and endpoint. skipUnixColonParsing indicates that the parse should
-// not parse "unix:[path]" cases. This should be true in cases where a custom
-// dialer is present, to prevent a behavior change.
-//
-// If target is not a valid scheme://authority/endpoint as specified in
-// https://github.com/grpc/grpc/blob/master/doc/naming.md,
-// it returns {Endpoint: target}.
-func ParseTarget(target string, skipUnixColonParsing bool) (ret resolver.Target) {
- var ok bool
- if strings.HasPrefix(target, "unix-abstract:") {
- if strings.HasPrefix(target, "unix-abstract://") {
- // Maybe, with Authority specified, try to parse it
- var remain string
- ret.Scheme, remain, _ = split2(target, "://")
- ret.Authority, ret.Endpoint, ok = split2(remain, "/")
- if !ok {
- // No Authority, add the "//" back
- ret.Endpoint = "//" + remain
- } else {
- // Found Authority, add the "/" back
- ret.Endpoint = "/" + ret.Endpoint
- }
- } else {
- // Without Authority specified, split target on ":"
- ret.Scheme, ret.Endpoint, _ = split2(target, ":")
- }
- return ret
- }
- ret.Scheme, ret.Endpoint, ok = split2(target, "://")
- if !ok {
- if strings.HasPrefix(target, "unix:") && !skipUnixColonParsing {
- // Handle the "unix:[local/path]" and "unix:[/absolute/path]" cases,
- // because splitting on :// only handles the
- // "unix://[/absolute/path]" case. Only handle if the dialer is nil,
- // to avoid a behavior change with custom dialers.
- return resolver.Target{Scheme: "unix", Endpoint: target[len("unix:"):]}
- }
- return resolver.Target{Endpoint: target}
- }
- ret.Authority, ret.Endpoint, ok = split2(ret.Endpoint, "/")
- if !ok {
- return resolver.Target{Endpoint: target}
- }
- if ret.Scheme == "unix" {
- // Add the "/" back in the unix case, so the unix resolver receives the
- // actual endpoint in the "unix://[/absolute/path]" case.
- ret.Endpoint = "/" + ret.Endpoint
- }
- return ret
-}
diff --git a/vendor/google.golang.org/grpc/internal/internal.go b/vendor/google.golang.org/grpc/internal/internal.go
index 1b596bf35..20fb880f3 100644
--- a/vendor/google.golang.org/grpc/internal/internal.go
+++ b/vendor/google.golang.org/grpc/internal/internal.go
@@ -38,11 +38,10 @@ var (
// KeepaliveMinPingTime is the minimum ping interval. This must be 10s by
// default, but tests may wish to set it lower for convenience.
KeepaliveMinPingTime = 10 * time.Second
- // ParseServiceConfigForTesting is for creating a fake
- // ClientConn for resolver testing only
- ParseServiceConfigForTesting interface{} // func(string) *serviceconfig.ParseResult
+ // ParseServiceConfig parses a JSON representation of the service config.
+ ParseServiceConfig interface{} // func(string) *serviceconfig.ParseResult
// EqualServiceConfigForTesting is for testing service config generation and
- // parsing. Both a and b should be returned by ParseServiceConfigForTesting.
+ // parsing. Both a and b should be returned by ParseServiceConfig.
// This function compares the config without rawJSON stripped, in case the
// there's difference in white space.
EqualServiceConfigForTesting func(a, b serviceconfig.Config) bool
diff --git a/vendor/google.golang.org/grpc/internal/metadata/metadata.go b/vendor/google.golang.org/grpc/internal/metadata/metadata.go
index 302262613..b8733dbf3 100644
--- a/vendor/google.golang.org/grpc/internal/metadata/metadata.go
+++ b/vendor/google.golang.org/grpc/internal/metadata/metadata.go
@@ -30,14 +30,38 @@ type mdKeyType string
const mdKey = mdKeyType("grpc.internal.address.metadata")
+type mdValue metadata.MD
+
+func (m mdValue) Equal(o interface{}) bool {
+ om, ok := o.(mdValue)
+ if !ok {
+ return false
+ }
+ if len(m) != len(om) {
+ return false
+ }
+ for k, v := range m {
+ ov := om[k]
+ if len(ov) != len(v) {
+ return false
+ }
+ for i, ve := range v {
+ if ov[i] != ve {
+ return false
+ }
+ }
+ }
+ return true
+}
+
// Get returns the metadata of addr.
func Get(addr resolver.Address) metadata.MD {
attrs := addr.Attributes
if attrs == nil {
return nil
}
- md, _ := attrs.Value(mdKey).(metadata.MD)
- return md
+ md, _ := attrs.Value(mdKey).(mdValue)
+ return metadata.MD(md)
}
// Set sets (overrides) the metadata in addr.
@@ -45,6 +69,6 @@ func Get(addr resolver.Address) metadata.MD {
// When a SubConn is created with this address, the RPCs sent on it will all
// have this metadata.
func Set(addr resolver.Address, md metadata.MD) resolver.Address {
- addr.Attributes = addr.Attributes.WithValues(mdKey, md)
+ addr.Attributes = addr.Attributes.WithValue(mdKey, mdValue(md))
return addr
}
diff --git a/vendor/google.golang.org/grpc/internal/resolver/config_selector.go b/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
index 5e7f36703..c7a18a948 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/config_selector.go
@@ -117,9 +117,12 @@ type ClientInterceptor interface {
NewStream(ctx context.Context, ri RPCInfo, done func(), newStream func(ctx context.Context, done func()) (ClientStream, error)) (ClientStream, error)
}
-// ServerInterceptor is unimplementable; do not use.
+// ServerInterceptor is an interceptor for incoming RPC's on gRPC server side.
type ServerInterceptor interface {
- notDefined()
+ // AllowRPC checks if an incoming RPC is allowed to proceed based on
+ // information about connection RPC was received on, and HTTP Headers. This
+ // information will be piped into context.
+ AllowRPC(ctx context.Context) error // TODO: Make this a real interceptor for filters such as rate limiting.
}
type csKeyType string
@@ -129,7 +132,7 @@ const csKey = csKeyType("grpc.internal.resolver.configSelector")
// SetConfigSelector sets the config selector in state and returns the new
// state.
func SetConfigSelector(state resolver.State, cs ConfigSelector) resolver.State {
- state.Attributes = state.Attributes.WithValues(csKey, cs)
+ state.Attributes = state.Attributes.WithValue(csKey, cs)
return state
}
diff --git a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
index 03825bbe7..75301c514 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/dns/dns_resolver.go
@@ -277,18 +277,13 @@ func (d *dnsResolver) lookupSRV() ([]resolver.Address, error) {
return newAddrs, nil
}
-var filterError = func(err error) error {
+func handleDNSError(err error, lookupType string) error {
if dnsErr, ok := err.(*net.DNSError); ok && !dnsErr.IsTimeout && !dnsErr.IsTemporary {
// Timeouts and temporary errors should be communicated to gRPC to
// attempt another DNS query (with backoff). Other errors should be
// suppressed (they may represent the absence of a TXT record).
return nil
}
- return err
-}
-
-func handleDNSError(err error, lookupType string) error {
- err = filterError(err)
if err != nil {
err = fmt.Errorf("dns: %v record lookup error: %v", lookupType, err)
logger.Info(err)
@@ -323,12 +318,12 @@ func (d *dnsResolver) lookupTXT() *serviceconfig.ParseResult {
}
func (d *dnsResolver) lookupHost() ([]resolver.Address, error) {
- var newAddrs []resolver.Address
addrs, err := d.resolver.LookupHost(d.ctx, d.host)
if err != nil {
err = handleDNSError(err, "A")
return nil, err
}
+ newAddrs := make([]resolver.Address, 0, len(addrs))
for _, a := range addrs {
ip, ok := formatIP(a)
if !ok {
diff --git a/vendor/google.golang.org/grpc/internal/resolver/unix/unix.go b/vendor/google.golang.org/grpc/internal/resolver/unix/unix.go
index 0d5a811dd..20852e59d 100644
--- a/vendor/google.golang.org/grpc/internal/resolver/unix/unix.go
+++ b/vendor/google.golang.org/grpc/internal/resolver/unix/unix.go
@@ -37,7 +37,17 @@ func (b *builder) Build(target resolver.Target, cc resolver.ClientConn, _ resolv
if target.Authority != "" {
return nil, fmt.Errorf("invalid (non-empty) authority: %v", target.Authority)
}
- addr := resolver.Address{Addr: target.Endpoint}
+
+ // gRPC was parsing the dial target manually before PR #4817, and we
+ // switched to using url.Parse() in that PR. To avoid breaking existing
+ // resolver implementations we ended up stripping the leading "/" from the
+ // endpoint. This obviously does not work for the "unix" scheme. Hence we
+ // end up using the parsed URL instead.
+ endpoint := target.URL.Path
+ if endpoint == "" {
+ endpoint = target.URL.Opaque
+ }
+ addr := resolver.Address{Addr: endpoint}
if b.scheme == unixAbstractScheme {
// prepend "\x00" to address for unix-abstract
addr.Addr = "\x00" + addr.Addr
diff --git a/vendor/google.golang.org/grpc/internal/serviceconfig/serviceconfig.go b/vendor/google.golang.org/grpc/internal/serviceconfig/serviceconfig.go
index c0634d152..badbdbf59 100644
--- a/vendor/google.golang.org/grpc/internal/serviceconfig/serviceconfig.go
+++ b/vendor/google.golang.org/grpc/internal/serviceconfig/serviceconfig.go
@@ -78,6 +78,7 @@ func (bc *BalancerConfig) UnmarshalJSON(b []byte) error {
return err
}
+ var names []string
for i, lbcfg := range ir {
if len(lbcfg) != 1 {
return fmt.Errorf("invalid loadBalancingConfig: entry %v does not contain exactly 1 policy/config pair: %q", i, lbcfg)
@@ -92,6 +93,7 @@ func (bc *BalancerConfig) UnmarshalJSON(b []byte) error {
for name, jsonCfg = range lbcfg {
}
+ names = append(names, name)
builder := balancer.Get(name)
if builder == nil {
// If the balancer is not registered, move on to the next config.
@@ -120,7 +122,7 @@ func (bc *BalancerConfig) UnmarshalJSON(b []byte) error {
// return. This means we had a loadBalancingConfig slice but did not
// encounter a registered policy. The config is considered invalid in this
// case.
- return fmt.Errorf("invalid loadBalancingConfig: no supported policies found")
+ return fmt.Errorf("invalid loadBalancingConfig: no supported policies found in %v", names)
}
// MethodConfig defines the configuration recommended by the service providers for a
diff --git a/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go b/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go
index 4b2964f2a..b3a72276d 100644
--- a/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go
+++ b/vendor/google.golang.org/grpc/internal/syscall/syscall_linux.go
@@ -1,5 +1,3 @@
-// +build !appengine
-
/*
*
* Copyright 2018 gRPC authors.
diff --git a/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go b/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go
index 7913ef1db..999f52cd7 100644
--- a/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go
+++ b/vendor/google.golang.org/grpc/internal/syscall/syscall_nonlinux.go
@@ -1,4 +1,5 @@
-// +build !linux appengine
+//go:build !linux
+// +build !linux
/*
*
@@ -35,41 +36,41 @@ var logger = grpclog.Component("core")
func log() {
once.Do(func() {
- logger.Info("CPU time info is unavailable on non-linux or appengine environment.")
+ logger.Info("CPU time info is unavailable on non-linux environments.")
})
}
-// GetCPUTime returns the how much CPU time has passed since the start of this process.
-// It always returns 0 under non-linux or appengine environment.
+// GetCPUTime returns the how much CPU time has passed since the start of this
+// process. It always returns 0 under non-linux environments.
func GetCPUTime() int64 {
log()
return 0
}
-// Rusage is an empty struct under non-linux or appengine environment.
+// Rusage is an empty struct under non-linux environments.
type Rusage struct{}
-// GetRusage is a no-op function under non-linux or appengine environment.
+// GetRusage is a no-op function under non-linux environments.
func GetRusage() *Rusage {
log()
return nil
}
// CPUTimeDiff returns the differences of user CPU time and system CPU time used
-// between two Rusage structs. It a no-op function for non-linux or appengine environment.
+// between two Rusage structs. It a no-op function for non-linux environments.
func CPUTimeDiff(first *Rusage, latest *Rusage) (float64, float64) {
log()
return 0, 0
}
-// SetTCPUserTimeout is a no-op function under non-linux or appengine environments
+// SetTCPUserTimeout is a no-op function under non-linux environments.
func SetTCPUserTimeout(conn net.Conn, timeout time.Duration) error {
log()
return nil
}
-// GetTCPUserTimeout is a no-op function under non-linux or appengine environments
-// a negative return value indicates the operation is not supported
+// GetTCPUserTimeout is a no-op function under non-linux environments.
+// A negative return value indicates the operation is not supported
func GetTCPUserTimeout(conn net.Conn) (int, error) {
log()
return -1, nil
diff --git a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
index 45532f8ae..8394d252d 100644
--- a/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
+++ b/vendor/google.golang.org/grpc/internal/transport/controlbuf.go
@@ -133,6 +133,7 @@ type cleanupStream struct {
func (c *cleanupStream) isTransportResponseFrame() bool { return c.rst } // Results in a RST_STREAM
type earlyAbortStream struct {
+ httpStatus uint32
streamID uint32
contentSubtype string
status *status.Status
@@ -771,9 +772,12 @@ func (l *loopyWriter) earlyAbortStreamHandler(eas *earlyAbortStream) error {
if l.side == clientSide {
return errors.New("earlyAbortStream not handled on client")
}
-
+ // In case the caller forgets to set the http status, default to 200.
+ if eas.httpStatus == 0 {
+ eas.httpStatus = 200
+ }
headerFields := []hpack.HeaderField{
- {Name: ":status", Value: "200"},
+ {Name: ":status", Value: strconv.Itoa(int(eas.httpStatus))},
{Name: "content-type", Value: grpcutil.ContentType(eas.contentSubtype)},
{Name: "grpc-status", Value: strconv.Itoa(int(eas.status.Code()))},
{Name: "grpc-message", Value: encodeGrpcMessage(eas.status.Message())},
diff --git a/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go b/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
index f262edd8e..97198c515 100644
--- a/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
+++ b/vendor/google.golang.org/grpc/internal/transport/flowcontrol.go
@@ -136,12 +136,10 @@ type inFlow struct {
// newLimit updates the inflow window to a new value n.
// It assumes that n is always greater than the old limit.
-func (f *inFlow) newLimit(n uint32) uint32 {
+func (f *inFlow) newLimit(n uint32) {
f.mu.Lock()
- d := n - f.limit
f.limit = n
f.mu.Unlock()
- return d
}
func (f *inFlow) maybeAdjust(n uint32) uint32 {
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_client.go b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
index 0cd6da1e7..f0c72d337 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_client.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_client.go
@@ -25,6 +25,7 @@ import (
"math"
"net"
"net/http"
+ "path/filepath"
"strconv"
"strings"
"sync"
@@ -146,13 +147,20 @@ func dial(ctx context.Context, fn func(context.Context, string) (net.Conn, error
address := addr.Addr
networkType, ok := networktype.Get(addr)
if fn != nil {
+ // Special handling for unix scheme with custom dialer. Back in the day,
+ // we did not have a unix resolver and therefore targets with a unix
+ // scheme would end up using the passthrough resolver. So, user's used a
+ // custom dialer in this case and expected the original dial target to
+ // be passed to the custom dialer. Now, we have a unix resolver. But if
+ // a custom dialer is specified, we want to retain the old behavior in
+ // terms of the address being passed to the custom dialer.
if networkType == "unix" && !strings.HasPrefix(address, "\x00") {
- // For backward compatibility, if the user dialed "unix:///path",
- // the passthrough resolver would be used and the user's custom
- // dialer would see "unix:///path". Since the unix resolver is used
- // and the address is now "/path", prepend "unix://" so the user's
- // custom dialer sees the same address.
- return fn(ctx, "unix://"+address)
+ // Supported unix targets are either "unix://absolute-path" or
+ // "unix:relative-path".
+ if filepath.IsAbs(address) {
+ return fn(ctx, "unix://"+address)
+ }
+ return fn(ctx, "unix:"+address)
}
return fn(ctx, address)
}
@@ -193,6 +201,12 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
}
}()
+ // gRPC, resolver, balancer etc. can specify arbitrary data in the
+ // Attributes field of resolver.Address, which is shoved into connectCtx
+ // and passed to the dialer and credential handshaker. This makes it possible for
+ // address specific arbitrary data to reach custom dialers and credential handshakers.
+ connectCtx = icredentials.NewClientHandshakeInfoContext(connectCtx, credentials.ClientHandshakeInfo{Attributes: addr.Attributes})
+
conn, err := dial(connectCtx, opts.Dialer, addr, opts.UseProxy, opts.UserAgent)
if err != nil {
if opts.FailOnNonTempDialError {
@@ -237,11 +251,6 @@ func newHTTP2Client(connectCtx, ctx context.Context, addr resolver.Address, opts
}
}
if transportCreds != nil {
- // gRPC, resolver, balancer etc. can specify arbitrary data in the
- // Attributes field of resolver.Address, which is shoved into connectCtx
- // and passed to the credential handshaker. This makes it possible for
- // address specific arbitrary data to reach the credential handshaker.
- connectCtx = icredentials.NewClientHandshakeInfoContext(connectCtx, credentials.ClientHandshakeInfo{Attributes: addr.Attributes})
rawConn := conn
// Pull the deadline from the connectCtx, which will be used for
// timeouts in the authentication protocol handshake. Can ignore the
@@ -579,7 +588,7 @@ func (t *http2Client) getTrAuthData(ctx context.Context, audience string) (map[s
return nil, err
}
- return nil, status.Errorf(codes.Unauthenticated, "transport: %v", err)
+ return nil, status.Errorf(codes.Unauthenticated, "transport: per-RPC creds failed due to error: %v", err)
}
for k, v := range data {
// Capital header names are illegal in HTTP/2.
@@ -616,12 +625,22 @@ func (t *http2Client) getCallAuthData(ctx context.Context, audience string, call
return callAuthData, nil
}
-// NewStreamError wraps an error and reports additional information.
+// NewStreamError wraps an error and reports additional information. Typically
+// NewStream errors result in transparent retry, as they mean nothing went onto
+// the wire. However, there are two notable exceptions:
+//
+// 1. If the stream headers violate the max header list size allowed by the
+// server. In this case there is no reason to retry at all, as it is
+// assumed the RPC would continue to fail on subsequent attempts.
+// 2. If the credentials errored when requesting their headers. In this case,
+// it's possible a retry can fix the problem, but indefinitely transparently
+// retrying is not appropriate as it is likely the credentials, if they can
+// eventually succeed, would need I/O to do so.
type NewStreamError struct {
Err error
- DoNotRetry bool
- PerformedIO bool
+ DoNotRetry bool
+ DoNotTransparentRetry bool
}
func (e NewStreamError) Error() string {
@@ -631,24 +650,10 @@ func (e NewStreamError) Error() string {
// NewStream creates a stream and registers it into the transport as "active"
// streams. All non-nil errors returned will be *NewStreamError.
func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Stream, err error) {
- defer func() {
- if err != nil {
- nse, ok := err.(*NewStreamError)
- if !ok {
- nse = &NewStreamError{Err: err}
- }
- if len(t.perRPCCreds) > 0 || callHdr.Creds != nil {
- // We may have performed I/O in the per-RPC creds callback, so do not
- // allow transparent retry.
- nse.PerformedIO = true
- }
- err = nse
- }
- }()
ctx = peer.NewContext(ctx, t.getPeer())
headerFields, err := t.createHeaderFields(ctx, callHdr)
if err != nil {
- return nil, err
+ return nil, &NewStreamError{Err: err, DoNotTransparentRetry: true}
}
s := t.newStream(ctx, callHdr)
cleanup := func(err error) {
@@ -748,7 +753,7 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
return true
}, hdr)
if err != nil {
- return nil, err
+ return nil, &NewStreamError{Err: err}
}
if success {
break
@@ -759,12 +764,12 @@ func (t *http2Client) NewStream(ctx context.Context, callHdr *CallHdr) (_ *Strea
firstTry = false
select {
case <-ch:
- case <-s.ctx.Done():
- return nil, ContextErr(s.ctx.Err())
+ case <-ctx.Done():
+ return nil, &NewStreamError{Err: ContextErr(ctx.Err())}
case <-t.goAway:
- return nil, errStreamDrain
+ return nil, &NewStreamError{Err: errStreamDrain}
case <-t.ctx.Done():
- return nil, ErrConnClosing
+ return nil, &NewStreamError{Err: ErrConnClosing}
}
}
if t.statsHandler != nil {
@@ -1077,7 +1082,7 @@ func (t *http2Client) handleData(f *http2.DataFrame) {
}
// The server has closed the stream without sending trailers. Record that
// the read direction is closed, and set the status appropriately.
- if f.FrameHeader.Flags.Has(http2.FlagDataEndStream) {
+ if f.StreamEnded() {
t.closeStream(s, io.EOF, false, http2.ErrCodeNo, status.New(codes.Internal, "server closed the stream without sending trailers"), nil, true)
}
}
@@ -1407,26 +1412,6 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
}
isHeader := false
- defer func() {
- if t.statsHandler != nil {
- if isHeader {
- inHeader := &stats.InHeader{
- Client: true,
- WireLength: int(frame.Header().Length),
- Header: s.header.Copy(),
- Compression: s.recvCompress,
- }
- t.statsHandler.HandleRPC(s.ctx, inHeader)
- } else {
- inTrailer := &stats.InTrailer{
- Client: true,
- WireLength: int(frame.Header().Length),
- Trailer: s.trailer.Copy(),
- }
- t.statsHandler.HandleRPC(s.ctx, inTrailer)
- }
- }
- }()
// If headerChan hasn't been closed yet
if atomic.CompareAndSwapUint32(&s.headerChanClosed, 0, 1) {
@@ -1448,6 +1433,25 @@ func (t *http2Client) operateHeaders(frame *http2.MetaHeadersFrame) {
close(s.headerChan)
}
+ if t.statsHandler != nil {
+ if isHeader {
+ inHeader := &stats.InHeader{
+ Client: true,
+ WireLength: int(frame.Header().Length),
+ Header: metadata.MD(mdata).Copy(),
+ Compression: s.recvCompress,
+ }
+ t.statsHandler.HandleRPC(s.ctx, inHeader)
+ } else {
+ inTrailer := &stats.InTrailer{
+ Client: true,
+ WireLength: int(frame.Header().Length),
+ Trailer: metadata.MD(mdata).Copy(),
+ }
+ t.statsHandler.HandleRPC(s.ctx, inTrailer)
+ }
+ }
+
if !endStream {
return
}
@@ -1553,7 +1557,7 @@ func minTime(a, b time.Duration) time.Duration {
return b
}
-// keepalive running in a separate goroutune makes sure the connection is alive by sending pings.
+// keepalive running in a separate goroutine makes sure the connection is alive by sending pings.
func (t *http2Client) keepalive() {
p := &ping{data: [8]byte{}}
// True iff a ping has been sent, and no data has been received since then.
diff --git a/vendor/google.golang.org/grpc/internal/transport/http2_server.go b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
index e3799d50a..2c6eaf0e5 100644
--- a/vendor/google.golang.org/grpc/internal/transport/http2_server.go
+++ b/vendor/google.golang.org/grpc/internal/transport/http2_server.go
@@ -73,7 +73,6 @@ type http2Server struct {
writerDone chan struct{} // sync point to enable testing.
remoteAddr net.Addr
localAddr net.Addr
- maxStreamID uint32 // max stream ID ever seen
authInfo credentials.AuthInfo // auth info about the connection
inTapHandle tap.ServerInHandle
framer *framer
@@ -123,16 +122,37 @@ type http2Server struct {
bufferPool *bufferPool
connectionID uint64
+
+ // maxStreamMu guards the maximum stream ID
+ // This lock may not be taken if mu is already held.
+ maxStreamMu sync.Mutex
+ maxStreamID uint32 // max stream ID ever seen
}
// NewServerTransport creates a http2 transport with conn and configuration
// options from config.
//
// It returns a non-nil transport and a nil error on success. On failure, it
-// returns a non-nil transport and a nil-error. For a special case where the
+// returns a nil transport and a non-nil error. For a special case where the
// underlying conn gets closed before the client preface could be read, it
// returns a nil transport and a nil error.
func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport, err error) {
+ var authInfo credentials.AuthInfo
+ rawConn := conn
+ if config.Credentials != nil {
+ var err error
+ conn, authInfo, err = config.Credentials.ServerHandshake(rawConn)
+ if err != nil {
+ // ErrConnDispatched means that the connection was dispatched away
+ // from gRPC; those connections should be left open. io.EOF means
+ // the connection was closed before handshaking completed, which can
+ // happen naturally from probers. Return these errors directly.
+ if err == credentials.ErrConnDispatched || err == io.EOF {
+ return nil, err
+ }
+ return nil, connectionErrorf(false, err, "ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err)
+ }
+ }
writeBufSize := config.WriteBufferSize
readBufSize := config.ReadBufferSize
maxHeaderListSize := defaultServerMaxHeaderListSize
@@ -215,14 +235,15 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
if kep.MinTime == 0 {
kep.MinTime = defaultKeepalivePolicyMinTime
}
+
done := make(chan struct{})
t := &http2Server{
- ctx: context.Background(),
+ ctx: setConnection(context.Background(), rawConn),
done: done,
conn: conn,
remoteAddr: conn.RemoteAddr(),
localAddr: conn.LocalAddr(),
- authInfo: config.AuthInfo,
+ authInfo: authInfo,
framer: framer,
readerDone: make(chan struct{}),
writerDone: make(chan struct{}),
@@ -273,10 +294,11 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
if _, err := io.ReadFull(t.conn, preface); err != nil {
// In deployments where a gRPC server runs behind a cloud load balancer
// which performs regular TCP level health checks, the connection is
- // closed immediately by the latter. Skipping the error here will help
- // reduce log clutter.
+ // closed immediately by the latter. Returning io.EOF here allows the
+ // grpc server implementation to recognize this scenario and suppress
+ // logging to reduce spam.
if err == io.EOF {
- return nil, nil
+ return nil, io.EOF
}
return nil, connectionErrorf(false, err, "transport: http2Server.HandleStreams failed to receive the preface from client: %v", err)
}
@@ -316,6 +338,10 @@ func NewServerTransport(conn net.Conn, config *ServerConfig) (_ ServerTransport,
// operateHeader takes action on the decoded headers.
func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(*Stream), traceCtx func(context.Context, string) context.Context) (fatal bool) {
+ // Acquire max stream ID lock for entire duration
+ t.maxStreamMu.Lock()
+ defer t.maxStreamMu.Unlock()
+
streamID := frame.Header().StreamID
// frame.Truncated is set to true when framer detects that the current header
@@ -330,6 +356,15 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
return false
}
+ if streamID%2 != 1 || streamID <= t.maxStreamID {
+ // illegal gRPC stream id.
+ if logger.V(logLevel) {
+ logger.Errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
+ }
+ return true
+ }
+ t.maxStreamID = streamID
+
buf := newRecvBuffer()
s := &Stream{
id: streamID,
@@ -337,7 +372,6 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
buf: buf,
fc: &inFlow{limit: uint32(t.initialWindowSize)},
}
-
var (
// If a gRPC Response-Headers has already been received, then it means
// that the peer is speaking gRPC and we are in gRPC mode.
@@ -373,6 +407,13 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
if timeout, err = decodeTimeout(hf.Value); err != nil {
headerError = true
}
+ // "Transports must consider requests containing the Connection header
+ // as malformed." - A41
+ case "connection":
+ if logger.V(logLevel) {
+ logger.Errorf("transport: http2Server.operateHeaders parsed a :connection header which makes a request malformed as per the HTTP/2 spec")
+ }
+ headerError = true
default:
if isReservedHeader(hf.Name) && !isWhitelistedHeader(hf.Name) {
break
@@ -387,6 +428,25 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
}
}
+ // "If multiple Host headers or multiple :authority headers are present, the
+ // request must be rejected with an HTTP status code 400 as required by Host
+ // validation in RFC 7230 §5.4, gRPC status code INTERNAL, or RST_STREAM
+ // with HTTP/2 error code PROTOCOL_ERROR." - A41. Since this is a HTTP/2
+ // error, this takes precedence over a client not speaking gRPC.
+ if len(mdata[":authority"]) > 1 || len(mdata["host"]) > 1 {
+ errMsg := fmt.Sprintf("num values of :authority: %v, num values of host: %v, both must only have 1 value as per HTTP/2 spec", len(mdata[":authority"]), len(mdata["host"]))
+ if logger.V(logLevel) {
+ logger.Errorf("transport: %v", errMsg)
+ }
+ t.controlBuf.put(&earlyAbortStream{
+ httpStatus: 400,
+ streamID: streamID,
+ contentSubtype: s.contentSubtype,
+ status: status.New(codes.Internal, errMsg),
+ })
+ return false
+ }
+
if !isGRPC || headerError {
t.controlBuf.put(&cleanupStream{
streamID: streamID,
@@ -397,6 +457,19 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
return false
}
+ // "If :authority is missing, Host must be renamed to :authority." - A41
+ if len(mdata[":authority"]) == 0 {
+ // No-op if host isn't present, no eventual :authority header is a valid
+ // RPC.
+ if host, ok := mdata["host"]; ok {
+ mdata[":authority"] = host
+ delete(mdata, "host")
+ }
+ } else {
+ // "If :authority is present, Host must be discarded" - A41
+ delete(mdata, "host")
+ }
+
if frame.StreamEnded() {
// s is just created by the caller. No lock needed.
s.state = streamReadDone
@@ -441,16 +514,6 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
s.cancel()
return false
}
- if streamID%2 != 1 || streamID <= t.maxStreamID {
- t.mu.Unlock()
- // illegal gRPC stream id.
- if logger.V(logLevel) {
- logger.Errorf("transport: http2Server.HandleStreams received an illegal stream id: %v", streamID)
- }
- s.cancel()
- return true
- }
- t.maxStreamID = streamID
if httpMethod != http.MethodPost {
t.mu.Unlock()
if logger.V(logLevel) {
@@ -477,6 +540,7 @@ func (t *http2Server) operateHeaders(frame *http2.MetaHeadersFrame, handle func(
stat = status.New(codes.PermissionDenied, err.Error())
}
t.controlBuf.put(&earlyAbortStream{
+ httpStatus: 200,
streamID: s.id,
contentSubtype: s.contentSubtype,
status: stat,
@@ -717,7 +781,7 @@ func (t *http2Server) handleData(f *http2.DataFrame) {
s.write(recvMsg{buffer: buffer})
}
}
- if f.Header().Flags.Has(http2.FlagDataEndStream) {
+ if f.StreamEnded() {
// Received the end of stream from the client.
s.compareAndSwapState(streamActive, streamReadDone)
s.write(recvMsg{err: io.EOF})
@@ -1235,20 +1299,23 @@ var goAwayPing = &ping{data: [8]byte{1, 6, 1, 8, 0, 3, 3, 9}}
// Handles outgoing GoAway and returns true if loopy needs to put itself
// in draining mode.
func (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) {
+ t.maxStreamMu.Lock()
t.mu.Lock()
if t.state == closing { // TODO(mmukhi): This seems unnecessary.
t.mu.Unlock()
+ t.maxStreamMu.Unlock()
// The transport is closing.
return false, ErrConnClosing
}
- sid := t.maxStreamID
if !g.headsUp {
// Stop accepting more streams now.
t.state = draining
+ sid := t.maxStreamID
if len(t.activeStreams) == 0 {
g.closeConn = true
}
t.mu.Unlock()
+ t.maxStreamMu.Unlock()
if err := t.framer.fr.WriteGoAway(sid, g.code, g.debugData); err != nil {
return false, err
}
@@ -1261,6 +1328,7 @@ func (t *http2Server) outgoingGoAwayHandler(g *goAway) (bool, error) {
return true, nil
}
t.mu.Unlock()
+ t.maxStreamMu.Unlock()
// For a graceful close, send out a GoAway with stream ID of MaxUInt32,
// Follow that with a ping and wait for the ack to come back or a timer
// to expire. During this time accept new streams since they might have
@@ -1345,3 +1413,18 @@ func getJitter(v time.Duration) time.Duration {
j := grpcrand.Int63n(2*r) - r
return time.Duration(j)
}
+
+type connectionKey struct{}
+
+// GetConnection gets the connection from the context.
+func GetConnection(ctx context.Context) net.Conn {
+ conn, _ := ctx.Value(connectionKey{}).(net.Conn)
+ return conn
+}
+
+// SetConnection adds the connection to the context to be able to get
+// information about the destination ip and port for an incoming RPC. This also
+// allows any unary or streaming interceptors to see the connection.
+func setConnection(ctx context.Context, conn net.Conn) context.Context {
+ return context.WithValue(ctx, connectionKey{}, conn)
+}
diff --git a/vendor/google.golang.org/grpc/internal/transport/networktype/networktype.go b/vendor/google.golang.org/grpc/internal/transport/networktype/networktype.go
index 7bb53cff1..c11b52782 100644
--- a/vendor/google.golang.org/grpc/internal/transport/networktype/networktype.go
+++ b/vendor/google.golang.org/grpc/internal/transport/networktype/networktype.go
@@ -31,7 +31,7 @@ const key = keyType("grpc.internal.transport.networktype")
// Set returns a copy of the provided address with attributes containing networkType.
func Set(address resolver.Address, networkType string) resolver.Address {
- address.Attributes = address.Attributes.WithValues(key, networkType)
+ address.Attributes = address.Attributes.WithValue(key, networkType)
return address
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/proxy.go b/vendor/google.golang.org/grpc/internal/transport/proxy.go
index a662bf39a..415961987 100644
--- a/vendor/google.golang.org/grpc/internal/transport/proxy.go
+++ b/vendor/google.golang.org/grpc/internal/transport/proxy.go
@@ -37,7 +37,7 @@ var (
httpProxyFromEnvironment = http.ProxyFromEnvironment
)
-func mapAddress(ctx context.Context, address string) (*url.URL, error) {
+func mapAddress(address string) (*url.URL, error) {
req := &http.Request{
URL: &url.URL{
Scheme: "https",
@@ -114,7 +114,7 @@ func doHTTPConnectHandshake(ctx context.Context, conn net.Conn, backendAddr stri
// connection.
func proxyDial(ctx context.Context, addr string, grpcUA string) (conn net.Conn, err error) {
newAddr := addr
- proxyURL, err := mapAddress(ctx, addr)
+ proxyURL, err := mapAddress(addr)
if err != nil {
return nil, err
}
diff --git a/vendor/google.golang.org/grpc/internal/transport/transport.go b/vendor/google.golang.org/grpc/internal/transport/transport.go
index 141981264..0c43efaa6 100644
--- a/vendor/google.golang.org/grpc/internal/transport/transport.go
+++ b/vendor/google.golang.org/grpc/internal/transport/transport.go
@@ -30,6 +30,7 @@ import (
"net"
"sync"
"sync/atomic"
+ "time"
"google.golang.org/grpc/codes"
"google.golang.org/grpc/credentials"
@@ -518,7 +519,8 @@ const (
// ServerConfig consists of all the configurations to establish a server transport.
type ServerConfig struct {
MaxStreams uint32
- AuthInfo credentials.AuthInfo
+ ConnectionTimeout time.Duration
+ Credentials credentials.TransportCredentials
InTapHandle tap.ServerInHandle
StatsHandler stats.Handler
KeepaliveParams keepalive.ServerParameters
@@ -739,6 +741,12 @@ func (e ConnectionError) Origin() error {
return e.err
}
+// Unwrap returns the original error of this connection error or nil when the
+// origin is nil.
+func (e ConnectionError) Unwrap() error {
+ return e.err
+}
+
var (
// ErrConnClosing indicates that the transport is closing.
ErrConnClosing = connectionErrorf(true, nil, "transport is closing")
diff --git a/vendor/google.golang.org/grpc/internal/xds_handshake_cluster.go b/vendor/google.golang.org/grpc/internal/xds_handshake_cluster.go
index 3677c3f04..e8b492774 100644
--- a/vendor/google.golang.org/grpc/internal/xds_handshake_cluster.go
+++ b/vendor/google.golang.org/grpc/internal/xds_handshake_cluster.go
@@ -28,7 +28,7 @@ type handshakeClusterNameKey struct{}
// SetXDSHandshakeClusterName returns a copy of addr in which the Attributes field
// is updated with the cluster name.
func SetXDSHandshakeClusterName(addr resolver.Address, clusterName string) resolver.Address {
- addr.Attributes = addr.Attributes.WithValues(handshakeClusterNameKey{}, clusterName)
+ addr.Attributes = addr.Attributes.WithValue(handshakeClusterNameKey{}, clusterName)
return addr
}
diff --git a/vendor/google.golang.org/grpc/picker_wrapper.go b/vendor/google.golang.org/grpc/picker_wrapper.go
index 0878ada9d..e8367cb89 100644
--- a/vendor/google.golang.org/grpc/picker_wrapper.go
+++ b/vendor/google.golang.org/grpc/picker_wrapper.go
@@ -144,7 +144,7 @@ func (pw *pickerWrapper) pick(ctx context.Context, failfast bool, info balancer.
acw, ok := pickResult.SubConn.(*acBalancerWrapper)
if !ok {
- logger.Error("subconn returned from pick is not *acBalancerWrapper")
+ logger.Errorf("subconn returned from pick is type %T, not *acBalancerWrapper", pickResult.SubConn)
continue
}
if t := acw.getAddrConn().getReadyTransport(); t != nil {
diff --git a/vendor/google.golang.org/grpc/pickfirst.go b/vendor/google.golang.org/grpc/pickfirst.go
index b858c2a5e..5168b62b0 100644
--- a/vendor/google.golang.org/grpc/pickfirst.go
+++ b/vendor/google.golang.org/grpc/pickfirst.go
@@ -107,10 +107,12 @@ func (b *pickfirstBalancer) UpdateSubConnState(sc balancer.SubConn, s balancer.S
}
switch s.ConnectivityState {
- case connectivity.Ready, connectivity.Idle:
+ case connectivity.Ready:
b.cc.UpdateState(balancer.State{ConnectivityState: s.ConnectivityState, Picker: &picker{result: balancer.PickResult{SubConn: sc}}})
case connectivity.Connecting:
b.cc.UpdateState(balancer.State{ConnectivityState: s.ConnectivityState, Picker: &picker{err: balancer.ErrNoSubConnAvailable}})
+ case connectivity.Idle:
+ b.cc.UpdateState(balancer.State{ConnectivityState: s.ConnectivityState, Picker: &idlePicker{sc: sc}})
case connectivity.TransientFailure:
b.cc.UpdateState(balancer.State{
ConnectivityState: s.ConnectivityState,
@@ -122,6 +124,12 @@ func (b *pickfirstBalancer) UpdateSubConnState(sc balancer.SubConn, s balancer.S
func (b *pickfirstBalancer) Close() {
}
+func (b *pickfirstBalancer) ExitIdle() {
+ if b.sc != nil && b.state == connectivity.Idle {
+ b.sc.Connect()
+ }
+}
+
type picker struct {
result balancer.PickResult
err error
@@ -131,6 +139,17 @@ func (p *picker) Pick(info balancer.PickInfo) (balancer.PickResult, error) {
return p.result, p.err
}
+// idlePicker is used when the SubConn is IDLE and kicks the SubConn into
+// CONNECTING when Pick is called.
+type idlePicker struct {
+ sc balancer.SubConn
+}
+
+func (i *idlePicker) Pick(info balancer.PickInfo) (balancer.PickResult, error) {
+ i.sc.Connect()
+ return balancer.PickResult{}, balancer.ErrNoSubConnAvailable
+}
+
func init() {
balancer.Register(newPickfirstBuilder())
}
diff --git a/vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go b/vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go
index 7d05c14eb..4e6a6b1a8 100644
--- a/vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go
+++ b/vendor/google.golang.org/grpc/reflection/grpc_reflection_v1alpha/reflection_grpc.pb.go
@@ -1,6 +1,6 @@
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
// versions:
-// - protoc-gen-go-grpc v1.1.0
+// - protoc-gen-go-grpc v1.2.0
// - protoc v3.14.0
// source: reflection/grpc_reflection_v1alpha/reflection.proto
diff --git a/vendor/google.golang.org/grpc/reflection/serverreflection.go b/vendor/google.golang.org/grpc/reflection/serverreflection.go
index 82a5ba7f2..81344abd7 100644
--- a/vendor/google.golang.org/grpc/reflection/serverreflection.go
+++ b/vendor/google.golang.org/grpc/reflection/serverreflection.go
@@ -37,21 +37,17 @@ To register server reflection on a gRPC server:
package reflection // import "google.golang.org/grpc/reflection"
import (
- "bytes"
- "compress/gzip"
- "fmt"
"io"
- "io/ioutil"
- "reflect"
"sort"
- "sync"
- "github.com/golang/protobuf/proto"
- dpb "github.com/golang/protobuf/protoc-gen-go/descriptor"
"google.golang.org/grpc"
"google.golang.org/grpc/codes"
rpb "google.golang.org/grpc/reflection/grpc_reflection_v1alpha"
"google.golang.org/grpc/status"
+ "google.golang.org/protobuf/proto"
+ "google.golang.org/protobuf/reflect/protodesc"
+ "google.golang.org/protobuf/reflect/protoreflect"
+ "google.golang.org/protobuf/reflect/protoregistry"
)
// GRPCServer is the interface provided by a gRPC server. It is implemented by
@@ -59,339 +55,174 @@ import (
// as a registry, for accumulating the services exposed by the server.
type GRPCServer interface {
grpc.ServiceRegistrar
- GetServiceInfo() map[string]grpc.ServiceInfo
+ ServiceInfoProvider
}
var _ GRPCServer = (*grpc.Server)(nil)
-type serverReflectionServer struct {
- rpb.UnimplementedServerReflectionServer
- s GRPCServer
-
- initSymbols sync.Once
- serviceNames []string
- symbols map[string]*dpb.FileDescriptorProto // map of fully-qualified names to files
-}
-
// Register registers the server reflection service on the given gRPC server.
func Register(s GRPCServer) {
- rpb.RegisterServerReflectionServer(s, &serverReflectionServer{
- s: s,
- })
+ svr := NewServer(ServerOptions{Services: s})
+ rpb.RegisterServerReflectionServer(s, svr)
}
-// protoMessage is used for type assertion on proto messages.
-// Generated proto message implements function Descriptor(), but Descriptor()
-// is not part of interface proto.Message. This interface is needed to
-// call Descriptor().
-type protoMessage interface {
- Descriptor() ([]byte, []int)
-}
-
-func (s *serverReflectionServer) getSymbols() (svcNames []string, symbolIndex map[string]*dpb.FileDescriptorProto) {
- s.initSymbols.Do(func() {
- serviceInfo := s.s.GetServiceInfo()
-
- s.symbols = map[string]*dpb.FileDescriptorProto{}
- s.serviceNames = make([]string, 0, len(serviceInfo))
- processed := map[string]struct{}{}
- for svc, info := range serviceInfo {
- s.serviceNames = append(s.serviceNames, svc)
- fdenc, ok := parseMetadata(info.Metadata)
- if !ok {
- continue
- }
- fd, err := decodeFileDesc(fdenc)
- if err != nil {
- continue
- }
- s.processFile(fd, processed)
- }
- sort.Strings(s.serviceNames)
- })
-
- return s.serviceNames, s.symbols
-}
-
-func (s *serverReflectionServer) processFile(fd *dpb.FileDescriptorProto, processed map[string]struct{}) {
- filename := fd.GetName()
- if _, ok := processed[filename]; ok {
- return
- }
- processed[filename] = struct{}{}
-
- prefix := fd.GetPackage()
-
- for _, msg := range fd.MessageType {
- s.processMessage(fd, prefix, msg)
- }
- for _, en := range fd.EnumType {
- s.processEnum(fd, prefix, en)
- }
- for _, ext := range fd.Extension {
- s.processField(fd, prefix, ext)
- }
- for _, svc := range fd.Service {
- svcName := fqn(prefix, svc.GetName())
- s.symbols[svcName] = fd
- for _, meth := range svc.Method {
- name := fqn(svcName, meth.GetName())
- s.symbols[name] = fd
- }
- }
-
- for _, dep := range fd.Dependency {
- fdenc := proto.FileDescriptor(dep)
- fdDep, err := decodeFileDesc(fdenc)
- if err != nil {
- continue
- }
- s.processFile(fdDep, processed)
- }
-}
-
-func (s *serverReflectionServer) processMessage(fd *dpb.FileDescriptorProto, prefix string, msg *dpb.DescriptorProto) {
- msgName := fqn(prefix, msg.GetName())
- s.symbols[msgName] = fd
-
- for _, nested := range msg.NestedType {
- s.processMessage(fd, msgName, nested)
- }
- for _, en := range msg.EnumType {
- s.processEnum(fd, msgName, en)
- }
- for _, ext := range msg.Extension {
- s.processField(fd, msgName, ext)
- }
- for _, fld := range msg.Field {
- s.processField(fd, msgName, fld)
- }
- for _, oneof := range msg.OneofDecl {
- oneofName := fqn(msgName, oneof.GetName())
- s.symbols[oneofName] = fd
- }
-}
-
-func (s *serverReflectionServer) processEnum(fd *dpb.FileDescriptorProto, prefix string, en *dpb.EnumDescriptorProto) {
- enName := fqn(prefix, en.GetName())
- s.symbols[enName] = fd
-
- for _, val := range en.Value {
- valName := fqn(enName, val.GetName())
- s.symbols[valName] = fd
- }
-}
-
-func (s *serverReflectionServer) processField(fd *dpb.FileDescriptorProto, prefix string, fld *dpb.FieldDescriptorProto) {
- fldName := fqn(prefix, fld.GetName())
- s.symbols[fldName] = fd
-}
-
-func fqn(prefix, name string) string {
- if prefix == "" {
- return name
- }
- return prefix + "." + name
-}
-
-// fileDescForType gets the file descriptor for the given type.
-// The given type should be a proto message.
-func (s *serverReflectionServer) fileDescForType(st reflect.Type) (*dpb.FileDescriptorProto, error) {
- m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(protoMessage)
- if !ok {
- return nil, fmt.Errorf("failed to create message from type: %v", st)
- }
- enc, _ := m.Descriptor()
-
- return decodeFileDesc(enc)
-}
-
-// decodeFileDesc does decompression and unmarshalling on the given
-// file descriptor byte slice.
-func decodeFileDesc(enc []byte) (*dpb.FileDescriptorProto, error) {
- raw, err := decompress(enc)
- if err != nil {
- return nil, fmt.Errorf("failed to decompress enc: %v", err)
- }
-
- fd := new(dpb.FileDescriptorProto)
- if err := proto.Unmarshal(raw, fd); err != nil {
- return nil, fmt.Errorf("bad descriptor: %v", err)
- }
- return fd, nil
+// ServiceInfoProvider is an interface used to retrieve metadata about the
+// services to expose.
+//
+// The reflection service is only interested in the service names, but the
+// signature is this way so that *grpc.Server implements it. So it is okay
+// for a custom implementation to return zero values for the
+// grpc.ServiceInfo values in the map.
+//
+// Experimental
+//
+// Notice: This type is EXPERIMENTAL and may be changed or removed in a
+// later release.
+type ServiceInfoProvider interface {
+ GetServiceInfo() map[string]grpc.ServiceInfo
}
-// decompress does gzip decompression.
-func decompress(b []byte) ([]byte, error) {
- r, err := gzip.NewReader(bytes.NewReader(b))
- if err != nil {
- return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
- }
- out, err := ioutil.ReadAll(r)
- if err != nil {
- return nil, fmt.Errorf("bad gzipped descriptor: %v", err)
- }
- return out, nil
+// ExtensionResolver is the interface used to query details about extensions.
+// This interface is satisfied by protoregistry.GlobalTypes.
+//
+// Experimental
+//
+// Notice: This type is EXPERIMENTAL and may be changed or removed in a
+// later release.
+type ExtensionResolver interface {
+ protoregistry.ExtensionTypeResolver
+ RangeExtensionsByMessage(message protoreflect.FullName, f func(protoreflect.ExtensionType) bool)
}
-func typeForName(name string) (reflect.Type, error) {
- pt := proto.MessageType(name)
- if pt == nil {
- return nil, fmt.Errorf("unknown type: %q", name)
- }
- st := pt.Elem()
-
- return st, nil
+// ServerOptions represents the options used to construct a reflection server.
+//
+// Experimental
+//
+// Notice: This type is EXPERIMENTAL and may be changed or removed in a
+// later release.
+type ServerOptions struct {
+ // The source of advertised RPC services. If not specified, the reflection
+ // server will report an empty list when asked to list services.
+ //
+ // This value will typically be a *grpc.Server. But the set of advertised
+ // services can be customized by wrapping a *grpc.Server or using an
+ // alternate implementation that returns a custom set of service names.
+ Services ServiceInfoProvider
+ // Optional resolver used to load descriptors. If not specified,
+ // protoregistry.GlobalFiles will be used.
+ DescriptorResolver protodesc.Resolver
+ // Optional resolver used to query for known extensions. If not specified,
+ // protoregistry.GlobalTypes will be used.
+ ExtensionResolver ExtensionResolver
}
-func fileDescContainingExtension(st reflect.Type, ext int32) (*dpb.FileDescriptorProto, error) {
- m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(proto.Message)
- if !ok {
- return nil, fmt.Errorf("failed to create message from type: %v", st)
+// NewServer returns a reflection server implementation using the given options.
+// This can be used to customize behavior of the reflection service. Most usages
+// should prefer to use Register instead.
+//
+// Experimental
+//
+// Notice: This function is EXPERIMENTAL and may be changed or removed in a
+// later release.
+func NewServer(opts ServerOptions) rpb.ServerReflectionServer {
+ if opts.DescriptorResolver == nil {
+ opts.DescriptorResolver = protoregistry.GlobalFiles
+ }
+ if opts.ExtensionResolver == nil {
+ opts.ExtensionResolver = protoregistry.GlobalTypes
+ }
+ return &serverReflectionServer{
+ s: opts.Services,
+ descResolver: opts.DescriptorResolver,
+ extResolver: opts.ExtensionResolver,
}
-
- var extDesc *proto.ExtensionDesc
- for id, desc := range proto.RegisteredExtensions(m) {
- if id == ext {
- extDesc = desc
- break
- }
- }
-
- if extDesc == nil {
- return nil, fmt.Errorf("failed to find registered extension for extension number %v", ext)
- }
-
- return decodeFileDesc(proto.FileDescriptor(extDesc.Filename))
}
-func (s *serverReflectionServer) allExtensionNumbersForType(st reflect.Type) ([]int32, error) {
- m, ok := reflect.Zero(reflect.PtrTo(st)).Interface().(proto.Message)
- if !ok {
- return nil, fmt.Errorf("failed to create message from type: %v", st)
- }
-
- exts := proto.RegisteredExtensions(m)
- out := make([]int32, 0, len(exts))
- for id := range exts {
- out = append(out, id)
- }
- return out, nil
+type serverReflectionServer struct {
+ rpb.UnimplementedServerReflectionServer
+ s ServiceInfoProvider
+ descResolver protodesc.Resolver
+ extResolver ExtensionResolver
}
// fileDescWithDependencies returns a slice of serialized fileDescriptors in
// wire format ([]byte). The fileDescriptors will include fd and all the
// transitive dependencies of fd with names not in sentFileDescriptors.
-func fileDescWithDependencies(fd *dpb.FileDescriptorProto, sentFileDescriptors map[string]bool) ([][]byte, error) {
- r := [][]byte{}
- queue := []*dpb.FileDescriptorProto{fd}
+func (s *serverReflectionServer) fileDescWithDependencies(fd protoreflect.FileDescriptor, sentFileDescriptors map[string]bool) ([][]byte, error) {
+ var r [][]byte
+ queue := []protoreflect.FileDescriptor{fd}
for len(queue) > 0 {
currentfd := queue[0]
queue = queue[1:]
- if sent := sentFileDescriptors[currentfd.GetName()]; len(r) == 0 || !sent {
- sentFileDescriptors[currentfd.GetName()] = true
- currentfdEncoded, err := proto.Marshal(currentfd)
+ if sent := sentFileDescriptors[currentfd.Path()]; len(r) == 0 || !sent {
+ sentFileDescriptors[currentfd.Path()] = true
+ fdProto := protodesc.ToFileDescriptorProto(currentfd)
+ currentfdEncoded, err := proto.Marshal(fdProto)
if err != nil {
return nil, err
}
r = append(r, currentfdEncoded)
}
- for _, dep := range currentfd.Dependency {
- fdenc := proto.FileDescriptor(dep)
- fdDep, err := decodeFileDesc(fdenc)
- if err != nil {
- continue
- }
- queue = append(queue, fdDep)
+ for i := 0; i < currentfd.Imports().Len(); i++ {
+ queue = append(queue, currentfd.Imports().Get(i))
}
}
return r, nil
}
-// fileDescEncodingByFilename finds the file descriptor for given filename,
-// finds all of its previously unsent transitive dependencies, does marshalling
-// on them, and returns the marshalled result.
-func (s *serverReflectionServer) fileDescEncodingByFilename(name string, sentFileDescriptors map[string]bool) ([][]byte, error) {
- enc := proto.FileDescriptor(name)
- if enc == nil {
- return nil, fmt.Errorf("unknown file: %v", name)
- }
- fd, err := decodeFileDesc(enc)
- if err != nil {
- return nil, err
- }
- return fileDescWithDependencies(fd, sentFileDescriptors)
-}
-
-// parseMetadata finds the file descriptor bytes specified meta.
-// For SupportPackageIsVersion4, m is the name of the proto file, we
-// call proto.FileDescriptor to get the byte slice.
-// For SupportPackageIsVersion3, m is a byte slice itself.
-func parseMetadata(meta interface{}) ([]byte, bool) {
- // Check if meta is the file name.
- if fileNameForMeta, ok := meta.(string); ok {
- return proto.FileDescriptor(fileNameForMeta), true
- }
-
- // Check if meta is the byte slice.
- if enc, ok := meta.([]byte); ok {
- return enc, true
- }
-
- return nil, false
-}
-
// fileDescEncodingContainingSymbol finds the file descriptor containing the
// given symbol, finds all of its previously unsent transitive dependencies,
// does marshalling on them, and returns the marshalled result. The given symbol
// can be a type, a service or a method.
func (s *serverReflectionServer) fileDescEncodingContainingSymbol(name string, sentFileDescriptors map[string]bool) ([][]byte, error) {
- _, symbols := s.getSymbols()
- fd := symbols[name]
- if fd == nil {
- // Check if it's a type name that was not present in the
- // transitive dependencies of the registered services.
- if st, err := typeForName(name); err == nil {
- fd, err = s.fileDescForType(st)
- if err != nil {
- return nil, err
- }
- }
- }
-
- if fd == nil {
- return nil, fmt.Errorf("unknown symbol: %v", name)
+ d, err := s.descResolver.FindDescriptorByName(protoreflect.FullName(name))
+ if err != nil {
+ return nil, err
}
-
- return fileDescWithDependencies(fd, sentFileDescriptors)
+ return s.fileDescWithDependencies(d.ParentFile(), sentFileDescriptors)
}
// fileDescEncodingContainingExtension finds the file descriptor containing
// given extension, finds all of its previously unsent transitive dependencies,
// does marshalling on them, and returns the marshalled result.
func (s *serverReflectionServer) fileDescEncodingContainingExtension(typeName string, extNum int32, sentFileDescriptors map[string]bool) ([][]byte, error) {
- st, err := typeForName(typeName)
- if err != nil {
- return nil, err
- }
- fd, err := fileDescContainingExtension(st, extNum)
+ xt, err := s.extResolver.FindExtensionByNumber(protoreflect.FullName(typeName), protoreflect.FieldNumber(extNum))
if err != nil {
return nil, err
}
- return fileDescWithDependencies(fd, sentFileDescriptors)
+ return s.fileDescWithDependencies(xt.TypeDescriptor().ParentFile(), sentFileDescriptors)
}
// allExtensionNumbersForTypeName returns all extension numbers for the given type.
func (s *serverReflectionServer) allExtensionNumbersForTypeName(name string) ([]int32, error) {
- st, err := typeForName(name)
- if err != nil {
- return nil, err
+ var numbers []int32
+ s.extResolver.RangeExtensionsByMessage(protoreflect.FullName(name), func(xt protoreflect.ExtensionType) bool {
+ numbers = append(numbers, int32(xt.TypeDescriptor().Number()))
+ return true
+ })
+ sort.Slice(numbers, func(i, j int) bool {
+ return numbers[i] < numbers[j]
+ })
+ if len(numbers) == 0 {
+ // maybe return an error if given type name is not known
+ if _, err := s.descResolver.FindDescriptorByName(protoreflect.FullName(name)); err != nil {
+ return nil, err
+ }
}
- extNums, err := s.allExtensionNumbersForType(st)
- if err != nil {
- return nil, err
+ return numbers, nil
+}
+
+// listServices returns the names of services this server exposes.
+func (s *serverReflectionServer) listServices() []*rpb.ServiceResponse {
+ serviceInfo := s.s.GetServiceInfo()
+ resp := make([]*rpb.ServiceResponse, 0, len(serviceInfo))
+ for svc := range serviceInfo {
+ resp = append(resp, &rpb.ServiceResponse{Name: svc})
}
- return extNums, nil
+ sort.Slice(resp, func(i, j int) bool {
+ return resp[i].Name < resp[j].Name
+ })
+ return resp
}
// ServerReflectionInfo is the reflection service handler.
@@ -412,7 +243,11 @@ func (s *serverReflectionServer) ServerReflectionInfo(stream rpb.ServerReflectio
}
switch req := in.MessageRequest.(type) {
case *rpb.ServerReflectionRequest_FileByFilename:
- b, err := s.fileDescEncodingByFilename(req.FileByFilename, sentFileDescriptors)
+ var b [][]byte
+ fd, err := s.descResolver.FindFileByPath(req.FileByFilename)
+ if err == nil {
+ b, err = s.fileDescWithDependencies(fd, sentFileDescriptors)
+ }
if err != nil {
out.MessageResponse = &rpb.ServerReflectionResponse_ErrorResponse{
ErrorResponse: &rpb.ErrorResponse{
@@ -473,16 +308,9 @@ func (s *serverReflectionServer) ServerReflectionInfo(stream rpb.ServerReflectio
}
}
case *rpb.ServerReflectionRequest_ListServices:
- svcNames, _ := s.getSymbols()
- serviceResponses := make([]*rpb.ServiceResponse, len(svcNames))
- for i, n := range svcNames {
- serviceResponses[i] = &rpb.ServiceResponse{
- Name: n,
- }
- }
out.MessageResponse = &rpb.ServerReflectionResponse_ListServicesResponse{
ListServicesResponse: &rpb.ListServiceResponse{
- Service: serviceResponses,
+ Service: s.listServices(),
},
}
default:
diff --git a/vendor/google.golang.org/grpc/regenerate.sh b/vendor/google.golang.org/grpc/regenerate.sh
index dfd3226a1..978b89f37 100644
--- a/vendor/google.golang.org/grpc/regenerate.sh
+++ b/vendor/google.golang.org/grpc/regenerate.sh
@@ -27,9 +27,9 @@ export PATH=${GOBIN}:${PATH}
mkdir -p ${GOBIN}
echo "remove existing generated files"
-# grpc_testingv3/testv3.pb.go is not re-generated because it was
-# intentionally generated by an older version of protoc-gen-go.
-rm -f $(find . -name '*.pb.go' | grep -v 'grpc_testingv3/testv3.pb.go')
+# grpc_testing_not_regenerate/*.pb.go is not re-generated,
+# see grpc_testing_not_regenerate/README.md for details.
+rm -f $(find . -name '*.pb.go' | grep -v 'grpc_testing_not_regenerate')
echo "go install google.golang.org/protobuf/cmd/protoc-gen-go"
(cd test/tools && go install google.golang.org/protobuf/cmd/protoc-gen-go)
@@ -76,7 +76,21 @@ SOURCES=(
# These options of the form 'Mfoo.proto=bar' instruct the codegen to use an
# import path of 'bar' in the generated code when 'foo.proto' is imported in
# one of the sources.
-OPTS=Mgrpc/service_config/service_config.proto=/internal/proto/grpc_service_config,Mgrpc/core/stats.proto=google.golang.org/grpc/interop/grpc_testing/core
+#
+# Note that the protos listed here are all for testing purposes. All protos to
+# be used externally should have a go_package option (and they don't need to be
+# listed here).
+OPTS=Mgrpc/service_config/service_config.proto=/internal/proto/grpc_service_config,\
+Mgrpc/core/stats.proto=google.golang.org/grpc/interop/grpc_testing/core,\
+Mgrpc/testing/benchmark_service.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/stats.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/report_qps_scenario_service.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/messages.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/worker_service.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/control.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/test.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/payloads.proto=google.golang.org/grpc/interop/grpc_testing,\
+Mgrpc/testing/empty.proto=google.golang.org/grpc/interop/grpc_testing
for src in ${SOURCES[@]}; do
echo "protoc ${src}"
@@ -85,7 +99,6 @@ for src in ${SOURCES[@]}; do
-I${WORKDIR}/grpc-proto \
-I${WORKDIR}/googleapis \
-I${WORKDIR}/protobuf/src \
- -I${WORKDIR}/istio \
${src}
done
@@ -96,18 +109,17 @@ for src in ${LEGACY_SOURCES[@]}; do
-I${WORKDIR}/grpc-proto \
-I${WORKDIR}/googleapis \
-I${WORKDIR}/protobuf/src \
- -I${WORKDIR}/istio \
${src}
done
# The go_package option in grpc/lookup/v1/rls.proto doesn't match the
# current location. Move it into the right place.
-mkdir -p ${WORKDIR}/out/google.golang.org/grpc/balancer/rls/internal/proto/grpc_lookup_v1
-mv ${WORKDIR}/out/google.golang.org/grpc/lookup/grpc_lookup_v1/* ${WORKDIR}/out/google.golang.org/grpc/balancer/rls/internal/proto/grpc_lookup_v1
+mkdir -p ${WORKDIR}/out/google.golang.org/grpc/internal/proto/grpc_lookup_v1
+mv ${WORKDIR}/out/google.golang.org/grpc/lookup/grpc_lookup_v1/* ${WORKDIR}/out/google.golang.org/grpc/internal/proto/grpc_lookup_v1
-# grpc_testingv3/testv3.pb.go is not re-generated because it was
-# intentionally generated by an older version of protoc-gen-go.
-rm ${WORKDIR}/out/google.golang.org/grpc/reflection/grpc_testingv3/*.pb.go
+# grpc_testing_not_regenerate/*.pb.go are not re-generated,
+# see grpc_testing_not_regenerate/README.md for details.
+rm ${WORKDIR}/out/google.golang.org/grpc/reflection/grpc_testing_not_regenerate/*.pb.go
# grpc/service_config/service_config.proto does not have a go_package option.
mv ${WORKDIR}/out/grpc/service_config/service_config.pb.go internal/proto/grpc_service_config
diff --git a/vendor/google.golang.org/grpc/resolver/map.go b/vendor/google.golang.org/grpc/resolver/map.go
new file mode 100644
index 000000000..e87ecd0ee
--- /dev/null
+++ b/vendor/google.golang.org/grpc/resolver/map.go
@@ -0,0 +1,109 @@
+/*
+ *
+ * Copyright 2021 gRPC authors.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+package resolver
+
+type addressMapEntry struct {
+ addr Address
+ value interface{}
+}
+
+// AddressMap is a map of addresses to arbitrary values taking into account
+// Attributes. BalancerAttributes are ignored, as are Metadata and Type.
+// Multiple accesses may not be performed concurrently. Must be created via
+// NewAddressMap; do not construct directly.
+type AddressMap struct {
+ m map[string]addressMapEntryList
+}
+
+type addressMapEntryList []*addressMapEntry
+
+// NewAddressMap creates a new AddressMap.
+func NewAddressMap() *AddressMap {
+ return &AddressMap{m: make(map[string]addressMapEntryList)}
+}
+
+// find returns the index of addr in the addressMapEntry slice, or -1 if not
+// present.
+func (l addressMapEntryList) find(addr Address) int {
+ if len(l) == 0 {
+ return -1
+ }
+ for i, entry := range l {
+ if entry.addr.ServerName == addr.ServerName &&
+ entry.addr.Attributes.Equal(addr.Attributes) {
+ return i
+ }
+ }
+ return -1
+}
+
+// Get returns the value for the address in the map, if present.
+func (a *AddressMap) Get(addr Address) (value interface{}, ok bool) {
+ entryList := a.m[addr.Addr]
+ if entry := entryList.find(addr); entry != -1 {
+ return entryList[entry].value, true
+ }
+ return nil, false
+}
+
+// Set updates or adds the value to the address in the map.
+func (a *AddressMap) Set(addr Address, value interface{}) {
+ entryList := a.m[addr.Addr]
+ if entry := entryList.find(addr); entry != -1 {
+ a.m[addr.Addr][entry].value = value
+ return
+ }
+ a.m[addr.Addr] = append(a.m[addr.Addr], &addressMapEntry{addr: addr, value: value})
+}
+
+// Delete removes addr from the map.
+func (a *AddressMap) Delete(addr Address) {
+ entryList := a.m[addr.Addr]
+ entry := entryList.find(addr)
+ if entry == -1 {
+ return
+ }
+ if len(entryList) == 1 {
+ entryList = nil
+ } else {
+ copy(entryList[entry:], entryList[entry+1:])
+ entryList = entryList[:len(entryList)-1]
+ }
+ a.m[addr.Addr] = entryList
+}
+
+// Len returns the number of entries in the map.
+func (a *AddressMap) Len() int {
+ ret := 0
+ for _, entryList := range a.m {
+ ret += len(entryList)
+ }
+ return ret
+}
+
+// Keys returns a slice of all current map keys.
+func (a *AddressMap) Keys() []Address {
+ ret := make([]Address, 0, a.Len())
+ for _, entryList := range a.m {
+ for _, entry := range entryList {
+ ret = append(ret, entry.addr)
+ }
+ }
+ return ret
+}
diff --git a/vendor/google.golang.org/grpc/resolver/resolver.go b/vendor/google.golang.org/grpc/resolver/resolver.go
index 6a9d234a5..e28b68026 100644
--- a/vendor/google.golang.org/grpc/resolver/resolver.go
+++ b/vendor/google.golang.org/grpc/resolver/resolver.go
@@ -23,6 +23,7 @@ package resolver
import (
"context"
"net"
+ "net/url"
"google.golang.org/grpc/attributes"
"google.golang.org/grpc/credentials"
@@ -116,9 +117,14 @@ type Address struct {
ServerName string
// Attributes contains arbitrary data about this address intended for
- // consumption by the load balancing policy.
+ // consumption by the SubConn.
Attributes *attributes.Attributes
+ // BalancerAttributes contains arbitrary data about this address intended
+ // for consumption by the LB policy. These attribes do not affect SubConn
+ // creation, connection establishment, handshaking, etc.
+ BalancerAttributes *attributes.Attributes
+
// Type is the type of this address.
//
// Deprecated: use Attributes instead.
@@ -131,6 +137,15 @@ type Address struct {
Metadata interface{}
}
+// Equal returns whether a and o are identical. Metadata is compared directly,
+// not with any recursive introspection.
+func (a *Address) Equal(o Address) bool {
+ return a.Addr == o.Addr && a.ServerName == o.ServerName &&
+ a.Attributes.Equal(o.Attributes) &&
+ a.BalancerAttributes.Equal(o.BalancerAttributes) &&
+ a.Type == o.Type && a.Metadata == o.Metadata
+}
+
// BuildOptions includes additional information for the builder to create
// the resolver.
type BuildOptions struct {
@@ -204,25 +219,36 @@ type ClientConn interface {
// Target represents a target for gRPC, as specified in:
// https://github.com/grpc/grpc/blob/master/doc/naming.md.
-// It is parsed from the target string that gets passed into Dial or DialContext by the user. And
-// grpc passes it to the resolver and the balancer.
+// It is parsed from the target string that gets passed into Dial or DialContext
+// by the user. And gRPC passes it to the resolver and the balancer.
//
-// If the target follows the naming spec, and the parsed scheme is registered with grpc, we will
-// parse the target string according to the spec. e.g. "dns://some_authority/foo.bar" will be parsed
-// into &Target{Scheme: "dns", Authority: "some_authority", Endpoint: "foo.bar"}
+// If the target follows the naming spec, and the parsed scheme is registered
+// with gRPC, we will parse the target string according to the spec. If the
+// target does not contain a scheme or if the parsed scheme is not registered
+// (i.e. no corresponding resolver available to resolve the endpoint), we will
+// apply the default scheme, and will attempt to reparse it.
//
-// If the target does not contain a scheme, we will apply the default scheme, and set the Target to
-// be the full target string. e.g. "foo.bar" will be parsed into
-// &Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "foo.bar"}.
+// Examples:
//
-// If the parsed scheme is not registered (i.e. no corresponding resolver available to resolve the
-// endpoint), we set the Scheme to be the default scheme, and set the Endpoint to be the full target
-// string. e.g. target string "unknown_scheme://authority/endpoint" will be parsed into
-// &Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "unknown_scheme://authority/endpoint"}.
+// - "dns://some_authority/foo.bar"
+// Target{Scheme: "dns", Authority: "some_authority", Endpoint: "foo.bar"}
+// - "foo.bar"
+// Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "foo.bar"}
+// - "unknown_scheme://authority/endpoint"
+// Target{Scheme: resolver.GetDefaultScheme(), Endpoint: "unknown_scheme://authority/endpoint"}
type Target struct {
- Scheme string
+ // Deprecated: use URL.Scheme instead.
+ Scheme string
+ // Deprecated: use URL.Host instead.
Authority string
- Endpoint string
+ // Deprecated: use URL.Path or URL.Opaque instead. The latter is set when
+ // the former is empty.
+ Endpoint string
+ // URL contains the parsed dial target with an optional default scheme added
+ // to it if the original dial target contained no scheme or contained an
+ // unregistered scheme. Any query params specified in the original dial
+ // target can be accessed from here.
+ URL url.URL
}
// Builder creates a resolver that will be used to watch name resolution updates.
diff --git a/vendor/google.golang.org/grpc/rpc_util.go b/vendor/google.golang.org/grpc/rpc_util.go
index 87987a2e6..5d407b004 100644
--- a/vendor/google.golang.org/grpc/rpc_util.go
+++ b/vendor/google.golang.org/grpc/rpc_util.go
@@ -712,13 +712,11 @@ func recvAndDecompress(p *parser, s *transport.Stream, dc Decompressor, maxRecei
if err != nil {
return nil, status.Errorf(codes.Internal, "grpc: failed to decompress the received message %v", err)
}
- } else {
- size = len(d)
- }
- if size > maxReceiveMessageSize {
- // TODO: Revisit the error code. Currently keep it consistent with java
- // implementation.
- return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message larger than max (%d vs. %d)", size, maxReceiveMessageSize)
+ if size > maxReceiveMessageSize {
+ // TODO: Revisit the error code. Currently keep it consistent with java
+ // implementation.
+ return nil, status.Errorf(codes.ResourceExhausted, "grpc: received message after decompression larger than max (%d vs. %d)", size, maxReceiveMessageSize)
+ }
}
return d, nil
}
diff --git a/vendor/google.golang.org/grpc/server.go b/vendor/google.golang.org/grpc/server.go
index 0251f48da..b24b6d539 100644
--- a/vendor/google.golang.org/grpc/server.go
+++ b/vendor/google.golang.org/grpc/server.go
@@ -710,13 +710,6 @@ func (s *Server) GetServiceInfo() map[string]ServiceInfo {
// the server being stopped.
var ErrServerStopped = errors.New("grpc: the server has been stopped")
-func (s *Server) useTransportAuthenticator(rawConn net.Conn) (net.Conn, credentials.AuthInfo, error) {
- if s.opts.creds == nil {
- return rawConn, nil, nil
- }
- return s.opts.creds.ServerHandshake(rawConn)
-}
-
type listenSocket struct {
net.Listener
channelzID int64
@@ -839,35 +832,14 @@ func (s *Server) handleRawConn(lisAddr string, rawConn net.Conn) {
return
}
rawConn.SetDeadline(time.Now().Add(s.opts.connectionTimeout))
- conn, authInfo, err := s.useTransportAuthenticator(rawConn)
- if err != nil {
- // ErrConnDispatched means that the connection was dispatched away from
- // gRPC; those connections should be left open.
- if err != credentials.ErrConnDispatched {
- // In deployments where a gRPC server runs behind a cloud load
- // balancer which performs regular TCP level health checks, the
- // connection is closed immediately by the latter. Skipping the
- // error here will help reduce log clutter.
- if err != io.EOF {
- s.mu.Lock()
- s.errorf("ServerHandshake(%q) failed: %v", rawConn.RemoteAddr(), err)
- s.mu.Unlock()
- channelz.Warningf(logger, s.channelzID, "grpc: Server.Serve failed to complete security handshake from %q: %v", rawConn.RemoteAddr(), err)
- }
- rawConn.Close()
- }
- rawConn.SetDeadline(time.Time{})
- return
- }
// Finish handshaking (HTTP2)
- st := s.newHTTP2Transport(conn, authInfo)
+ st := s.newHTTP2Transport(rawConn)
+ rawConn.SetDeadline(time.Time{})
if st == nil {
- conn.Close()
return
}
- rawConn.SetDeadline(time.Time{})
if !s.addConn(lisAddr, st) {
return
}
@@ -888,10 +860,11 @@ func (s *Server) drainServerTransports(addr string) {
// newHTTP2Transport sets up a http/2 transport (using the
// gRPC http2 server transport in transport/http2_server.go).
-func (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) transport.ServerTransport {
+func (s *Server) newHTTP2Transport(c net.Conn) transport.ServerTransport {
config := &transport.ServerConfig{
MaxStreams: s.opts.maxConcurrentStreams,
- AuthInfo: authInfo,
+ ConnectionTimeout: s.opts.connectionTimeout,
+ Credentials: s.opts.creds,
InTapHandle: s.opts.inTapHandle,
StatsHandler: s.opts.statsHandler,
KeepaliveParams: s.opts.keepaliveParams,
@@ -909,8 +882,15 @@ func (s *Server) newHTTP2Transport(c net.Conn, authInfo credentials.AuthInfo) tr
s.mu.Lock()
s.errorf("NewServerTransport(%q) failed: %v", c.RemoteAddr(), err)
s.mu.Unlock()
- c.Close()
- channelz.Warning(logger, s.channelzID, "grpc: Server.Serve failed to create ServerTransport: ", err)
+ // ErrConnDispatched means that the connection was dispatched away from
+ // gRPC; those connections should be left open.
+ if err != credentials.ErrConnDispatched {
+ // Don't log on ErrConnDispatched and io.EOF to prevent log spam.
+ if err != io.EOF {
+ channelz.Warning(logger, s.channelzID, "grpc: Server.Serve failed to create ServerTransport: ", err)
+ }
+ c.Close()
+ }
return nil
}
@@ -1124,16 +1104,21 @@ func chainUnaryServerInterceptors(s *Server) {
func chainUnaryInterceptors(interceptors []UnaryServerInterceptor) UnaryServerInterceptor {
return func(ctx context.Context, req interface{}, info *UnaryServerInfo, handler UnaryHandler) (interface{}, error) {
- var i int
- var next UnaryHandler
- next = func(ctx context.Context, req interface{}) (interface{}, error) {
- if i == len(interceptors)-1 {
- return interceptors[i](ctx, req, info, handler)
+ // the struct ensures the variables are allocated together, rather than separately, since we
+ // know they should be garbage collected together. This saves 1 allocation and decreases
+ // time/call by about 10% on the microbenchmark.
+ var state struct {
+ i int
+ next UnaryHandler
+ }
+ state.next = func(ctx context.Context, req interface{}) (interface{}, error) {
+ if state.i == len(interceptors)-1 {
+ return interceptors[state.i](ctx, req, info, handler)
}
- i++
- return interceptors[i-1](ctx, req, info, next)
+ state.i++
+ return interceptors[state.i-1](ctx, req, info, state.next)
}
- return next(ctx, req)
+ return state.next(ctx, req)
}
}
@@ -1298,9 +1283,10 @@ func (s *Server) processUnaryRPC(t transport.ServerTransport, stream *transport.
if appErr != nil {
appStatus, ok := status.FromError(appErr)
if !ok {
- // Convert appErr if it is not a grpc status error.
- appErr = status.Error(codes.Unknown, appErr.Error())
- appStatus, _ = status.FromError(appErr)
+ // Convert non-status application error to a status error with code
+ // Unknown, but handle context errors specifically.
+ appStatus = status.FromContextError(appErr)
+ appErr = appStatus.Err()
}
if trInfo != nil {
trInfo.tr.LazyLog(stringer(appStatus.Message()), true)
@@ -1409,16 +1395,21 @@ func chainStreamServerInterceptors(s *Server) {
func chainStreamInterceptors(interceptors []StreamServerInterceptor) StreamServerInterceptor {
return func(srv interface{}, ss ServerStream, info *StreamServerInfo, handler StreamHandler) error {
- var i int
- var next StreamHandler
- next = func(srv interface{}, ss ServerStream) error {
- if i == len(interceptors)-1 {
- return interceptors[i](srv, ss, info, handler)
+ // the struct ensures the variables are allocated together, rather than separately, since we
+ // know they should be garbage collected together. This saves 1 allocation and decreases
+ // time/call by about 10% on the microbenchmark.
+ var state struct {
+ i int
+ next StreamHandler
+ }
+ state.next = func(srv interface{}, ss ServerStream) error {
+ if state.i == len(interceptors)-1 {
+ return interceptors[state.i](srv, ss, info, handler)
}
- i++
- return interceptors[i-1](srv, ss, info, next)
+ state.i++
+ return interceptors[state.i-1](srv, ss, info, state.next)
}
- return next(srv, ss)
+ return state.next(srv, ss)
}
}
@@ -1559,7 +1550,9 @@ func (s *Server) processStreamingRPC(t transport.ServerTransport, stream *transp
if appErr != nil {
appStatus, ok := status.FromError(appErr)
if !ok {
- appStatus = status.New(codes.Unknown, appErr.Error())
+ // Convert non-status application error to a status error with code
+ // Unknown, but handle context errors specifically.
+ appStatus = status.FromContextError(appErr)
appErr = appStatus.Err()
}
if trInfo != nil {
diff --git a/vendor/google.golang.org/grpc/service_config.go b/vendor/google.golang.org/grpc/service_config.go
index 22c4240cf..6926a06dc 100644
--- a/vendor/google.golang.org/grpc/service_config.go
+++ b/vendor/google.golang.org/grpc/service_config.go
@@ -218,7 +218,7 @@ type jsonSC struct {
}
func init() {
- internal.ParseServiceConfigForTesting = parseServiceConfig
+ internal.ParseServiceConfig = parseServiceConfig
}
func parseServiceConfig(js string) *serviceconfig.ParseResult {
if len(js) == 0 {
diff --git a/vendor/google.golang.org/grpc/stats/stats.go b/vendor/google.golang.org/grpc/stats/stats.go
index a5ebeeb69..0285dcc6a 100644
--- a/vendor/google.golang.org/grpc/stats/stats.go
+++ b/vendor/google.golang.org/grpc/stats/stats.go
@@ -36,12 +36,12 @@ type RPCStats interface {
IsClient() bool
}
-// Begin contains stats when an RPC begins.
+// Begin contains stats when an RPC attempt begins.
// FailFast is only valid if this Begin is from client side.
type Begin struct {
// Client is true if this Begin is from client side.
Client bool
- // BeginTime is the time when the RPC begins.
+ // BeginTime is the time when the RPC attempt begins.
BeginTime time.Time
// FailFast indicates if this RPC is failfast.
FailFast bool
@@ -49,6 +49,9 @@ type Begin struct {
IsClientStream bool
// IsServerStream indicates whether the RPC is a server streaming RPC.
IsServerStream bool
+ // IsTransparentRetryAttempt indicates whether this attempt was initiated
+ // due to transparently retrying a previous attempt.
+ IsTransparentRetryAttempt bool
}
// IsClient indicates if the stats information is from client side.
diff --git a/vendor/google.golang.org/grpc/status/status.go b/vendor/google.golang.org/grpc/status/status.go
index 54d187186..6d163b6e3 100644
--- a/vendor/google.golang.org/grpc/status/status.go
+++ b/vendor/google.golang.org/grpc/status/status.go
@@ -29,6 +29,7 @@ package status
import (
"context"
+ "errors"
"fmt"
spb "google.golang.org/genproto/googleapis/rpc/status"
@@ -73,11 +74,16 @@ func FromProto(s *spb.Status) *Status {
return status.FromProto(s)
}
-// FromError returns a Status representing err if it was produced by this
-// package or has a method `GRPCStatus() *Status`.
-// If err is nil, a Status is returned with codes.OK and no message.
-// Otherwise, ok is false and a Status is returned with codes.Unknown and
-// the original error message.
+// FromError returns a Status representation of err.
+//
+// - If err was produced by this package or implements the method `GRPCStatus()
+// *Status`, the appropriate Status is returned.
+//
+// - If err is nil, a Status is returned with codes.OK and no message.
+//
+// - Otherwise, err is an error not compatible with this package. In this
+// case, a Status is returned with codes.Unknown and err's Error() message,
+// and ok is false.
func FromError(err error) (s *Status, ok bool) {
if err == nil {
return nil, true
@@ -112,18 +118,18 @@ func Code(err error) codes.Code {
return codes.Unknown
}
-// FromContextError converts a context error into a Status. It returns a
-// Status with codes.OK if err is nil, or a Status with codes.Unknown if err is
-// non-nil and not a context error.
+// FromContextError converts a context error or wrapped context error into a
+// Status. It returns a Status with codes.OK if err is nil, or a Status with
+// codes.Unknown if err is non-nil and not a context error.
func FromContextError(err error) *Status {
- switch err {
- case nil:
+ if err == nil {
return nil
- case context.DeadlineExceeded:
+ }
+ if errors.Is(err, context.DeadlineExceeded) {
return New(codes.DeadlineExceeded, err.Error())
- case context.Canceled:
+ }
+ if errors.Is(err, context.Canceled) {
return New(codes.Canceled, err.Error())
- default:
- return New(codes.Unknown, err.Error())
}
+ return New(codes.Unknown, err.Error())
}
diff --git a/vendor/google.golang.org/grpc/stream.go b/vendor/google.golang.org/grpc/stream.go
index e224af12d..8cdd652e0 100644
--- a/vendor/google.golang.org/grpc/stream.go
+++ b/vendor/google.golang.org/grpc/stream.go
@@ -46,10 +46,12 @@ import (
)
// StreamHandler defines the handler called by gRPC server to complete the
-// execution of a streaming RPC. If a StreamHandler returns an error, it
-// should be produced by the status package, or else gRPC will use
-// codes.Unknown as the status code and err.Error() as the status message
-// of the RPC.
+// execution of a streaming RPC.
+//
+// If a StreamHandler returns an error, it should either be produced by the
+// status package, or be one of the context errors. Otherwise, gRPC will use
+// codes.Unknown as the status code and err.Error() as the status message of the
+// RPC.
type StreamHandler func(srv interface{}, stream ServerStream) error
// StreamDesc represents a streaming RPC service's method specification. Used
@@ -274,35 +276,6 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
if c.creds != nil {
callHdr.Creds = c.creds
}
- var trInfo *traceInfo
- if EnableTracing {
- trInfo = &traceInfo{
- tr: trace.New("grpc.Sent."+methodFamily(method), method),
- firstLine: firstLine{
- client: true,
- },
- }
- if deadline, ok := ctx.Deadline(); ok {
- trInfo.firstLine.deadline = time.Until(deadline)
- }
- trInfo.tr.LazyLog(&trInfo.firstLine, false)
- ctx = trace.NewContext(ctx, trInfo.tr)
- }
- ctx = newContextWithRPCInfo(ctx, c.failFast, c.codec, cp, comp)
- sh := cc.dopts.copts.StatsHandler
- var beginTime time.Time
- if sh != nil {
- ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: c.failFast})
- beginTime = time.Now()
- begin := &stats.Begin{
- Client: true,
- BeginTime: beginTime,
- FailFast: c.failFast,
- IsClientStream: desc.ClientStreams,
- IsServerStream: desc.ServerStreams,
- }
- sh.HandleRPC(ctx, begin)
- }
cs := &clientStream{
callHdr: callHdr,
@@ -316,7 +289,6 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
cp: cp,
comp: comp,
cancel: cancel,
- beginTime: beginTime,
firstAttempt: true,
onCommit: onCommit,
}
@@ -325,9 +297,7 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
}
cs.binlog = binarylog.GetMethodLogger(method)
- // Only this initial attempt has stats/tracing.
- // TODO(dfawley): move to newAttempt when per-attempt stats are implemented.
- if err := cs.newAttemptLocked(sh, trInfo); err != nil {
+ if err := cs.newAttemptLocked(false /* isTransparent */); err != nil {
cs.finish(err)
return nil, err
}
@@ -375,8 +345,43 @@ func newClientStreamWithParams(ctx context.Context, desc *StreamDesc, cc *Client
// newAttemptLocked creates a new attempt with a transport.
// If it succeeds, then it replaces clientStream's attempt with this new attempt.
-func (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo *traceInfo) (retErr error) {
+func (cs *clientStream) newAttemptLocked(isTransparent bool) (retErr error) {
+ ctx := newContextWithRPCInfo(cs.ctx, cs.callInfo.failFast, cs.callInfo.codec, cs.cp, cs.comp)
+ method := cs.callHdr.Method
+ sh := cs.cc.dopts.copts.StatsHandler
+ var beginTime time.Time
+ if sh != nil {
+ ctx = sh.TagRPC(ctx, &stats.RPCTagInfo{FullMethodName: method, FailFast: cs.callInfo.failFast})
+ beginTime = time.Now()
+ begin := &stats.Begin{
+ Client: true,
+ BeginTime: beginTime,
+ FailFast: cs.callInfo.failFast,
+ IsClientStream: cs.desc.ClientStreams,
+ IsServerStream: cs.desc.ServerStreams,
+ IsTransparentRetryAttempt: isTransparent,
+ }
+ sh.HandleRPC(ctx, begin)
+ }
+
+ var trInfo *traceInfo
+ if EnableTracing {
+ trInfo = &traceInfo{
+ tr: trace.New("grpc.Sent."+methodFamily(method), method),
+ firstLine: firstLine{
+ client: true,
+ },
+ }
+ if deadline, ok := ctx.Deadline(); ok {
+ trInfo.firstLine.deadline = time.Until(deadline)
+ }
+ trInfo.tr.LazyLog(&trInfo.firstLine, false)
+ ctx = trace.NewContext(ctx, trInfo.tr)
+ }
+
newAttempt := &csAttempt{
+ ctx: ctx,
+ beginTime: beginTime,
cs: cs,
dc: cs.cc.dopts.dc,
statsHandler: sh,
@@ -391,15 +396,14 @@ func (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo *traceInfo) (r
}
}()
- if err := cs.ctx.Err(); err != nil {
+ if err := ctx.Err(); err != nil {
return toRPCErr(err)
}
- ctx := cs.ctx
if cs.cc.parsedTarget.Scheme == "xds" {
// Add extra metadata (metadata that will be added by transport) to context
// so the balancer can see them.
- ctx = grpcutil.WithExtraMetadata(cs.ctx, metadata.Pairs(
+ ctx = grpcutil.WithExtraMetadata(ctx, metadata.Pairs(
"content-type", grpcutil.ContentType(cs.callHdr.ContentSubtype),
))
}
@@ -419,7 +423,7 @@ func (cs *clientStream) newAttemptLocked(sh stats.Handler, trInfo *traceInfo) (r
func (a *csAttempt) newStream() error {
cs := a.cs
cs.callHdr.PreviousAttempts = cs.numRetries
- s, err := a.t.NewStream(cs.ctx, cs.callHdr)
+ s, err := a.t.NewStream(a.ctx, cs.callHdr)
if err != nil {
// Return without converting to an RPC error so retry code can
// inspect.
@@ -444,8 +448,7 @@ type clientStream struct {
cancel context.CancelFunc // cancels all attempts
- sentLast bool // sent an end stream
- beginTime time.Time
+ sentLast bool // sent an end stream
methodConfig *MethodConfig
@@ -485,6 +488,7 @@ type clientStream struct {
// csAttempt implements a single transport stream attempt within a
// clientStream.
type csAttempt struct {
+ ctx context.Context
cs *clientStream
t transport.ClientTransport
s *transport.Stream
@@ -503,6 +507,7 @@ type csAttempt struct {
trInfo *traceInfo
statsHandler stats.Handler
+ beginTime time.Time
}
func (cs *clientStream) commitAttemptLocked() {
@@ -520,15 +525,16 @@ func (cs *clientStream) commitAttempt() {
}
// shouldRetry returns nil if the RPC should be retried; otherwise it returns
-// the error that should be returned by the operation.
-func (cs *clientStream) shouldRetry(err error) error {
+// the error that should be returned by the operation. If the RPC should be
+// retried, the bool indicates whether it is being retried transparently.
+func (cs *clientStream) shouldRetry(err error) (bool, error) {
if cs.attempt.s == nil {
// Error from NewClientStream.
nse, ok := err.(*transport.NewStreamError)
if !ok {
// Unexpected, but assume no I/O was performed and the RPC is not
// fatal, so retry indefinitely.
- return nil
+ return true, nil
}
// Unwrap and convert error.
@@ -537,19 +543,19 @@ func (cs *clientStream) shouldRetry(err error) error {
// Never retry DoNotRetry errors, which indicate the RPC should not be
// retried due to max header list size violation, etc.
if nse.DoNotRetry {
- return err
+ return false, err
}
// In the event of a non-IO operation error from NewStream, we never
// attempted to write anything to the wire, so we can retry
// indefinitely.
- if !nse.PerformedIO {
- return nil
+ if !nse.DoNotTransparentRetry {
+ return true, nil
}
}
if cs.finished || cs.committed {
// RPC is finished or committed; cannot retry.
- return err
+ return false, err
}
// Wait for the trailers.
unprocessed := false
@@ -559,17 +565,17 @@ func (cs *clientStream) shouldRetry(err error) error {
}
if cs.firstAttempt && unprocessed {
// First attempt, stream unprocessed: transparently retry.
- return nil
+ return true, nil
}
if cs.cc.dopts.disableRetry {
- return err
+ return false, err
}
pushback := 0
hasPushback := false
if cs.attempt.s != nil {
if !cs.attempt.s.TrailersOnly() {
- return err
+ return false, err
}
// TODO(retry): Move down if the spec changes to not check server pushback
@@ -580,13 +586,13 @@ func (cs *clientStream) shouldRetry(err error) error {
if pushback, e = strconv.Atoi(sps[0]); e != nil || pushback < 0 {
channelz.Infof(logger, cs.cc.channelzID, "Server retry pushback specified to abort (%q).", sps[0])
cs.retryThrottler.throttle() // This counts as a failure for throttling.
- return err
+ return false, err
}
hasPushback = true
} else if len(sps) > 1 {
channelz.Warningf(logger, cs.cc.channelzID, "Server retry pushback specified multiple values (%q); not retrying.", sps)
cs.retryThrottler.throttle() // This counts as a failure for throttling.
- return err
+ return false, err
}
}
@@ -599,16 +605,16 @@ func (cs *clientStream) shouldRetry(err error) error {
rp := cs.methodConfig.RetryPolicy
if rp == nil || !rp.RetryableStatusCodes[code] {
- return err
+ return false, err
}
// Note: the ordering here is important; we count this as a failure
// only if the code matched a retryable code.
if cs.retryThrottler.throttle() {
- return err
+ return false, err
}
if cs.numRetries+1 >= rp.MaxAttempts {
- return err
+ return false, err
}
var dur time.Duration
@@ -631,10 +637,10 @@ func (cs *clientStream) shouldRetry(err error) error {
select {
case <-t.C:
cs.numRetries++
- return nil
+ return false, nil
case <-cs.ctx.Done():
t.Stop()
- return status.FromContextError(cs.ctx.Err()).Err()
+ return false, status.FromContextError(cs.ctx.Err()).Err()
}
}
@@ -642,12 +648,13 @@ func (cs *clientStream) shouldRetry(err error) error {
func (cs *clientStream) retryLocked(lastErr error) error {
for {
cs.attempt.finish(toRPCErr(lastErr))
- if err := cs.shouldRetry(lastErr); err != nil {
+ isTransparent, err := cs.shouldRetry(lastErr)
+ if err != nil {
cs.commitAttemptLocked()
return err
}
cs.firstAttempt = false
- if err := cs.newAttemptLocked(nil, nil); err != nil {
+ if err := cs.newAttemptLocked(isTransparent); err != nil {
return err
}
if lastErr = cs.replayBufferLocked(); lastErr == nil {
@@ -937,7 +944,7 @@ func (a *csAttempt) sendMsg(m interface{}, hdr, payld, data []byte) error {
return io.EOF
}
if a.statsHandler != nil {
- a.statsHandler.HandleRPC(cs.ctx, outPayload(true, m, data, payld, time.Now()))
+ a.statsHandler.HandleRPC(a.ctx, outPayload(true, m, data, payld, time.Now()))
}
if channelz.IsOn() {
a.t.IncrMsgSent()
@@ -985,7 +992,7 @@ func (a *csAttempt) recvMsg(m interface{}, payInfo *payloadInfo) (err error) {
a.mu.Unlock()
}
if a.statsHandler != nil {
- a.statsHandler.HandleRPC(cs.ctx, &stats.InPayload{
+ a.statsHandler.HandleRPC(a.ctx, &stats.InPayload{
Client: true,
RecvTime: time.Now(),
Payload: m,
@@ -1047,12 +1054,12 @@ func (a *csAttempt) finish(err error) {
if a.statsHandler != nil {
end := &stats.End{
Client: true,
- BeginTime: a.cs.beginTime,
+ BeginTime: a.beginTime,
EndTime: time.Now(),
Trailer: tr,
Error: err,
}
- a.statsHandler.HandleRPC(a.cs.ctx, end)
+ a.statsHandler.HandleRPC(a.ctx, end)
}
if a.trInfo != nil && a.trInfo.tr != nil {
if err == nil {
diff --git a/vendor/google.golang.org/grpc/version.go b/vendor/google.golang.org/grpc/version.go
index e3510e10f..5bd4f534c 100644
--- a/vendor/google.golang.org/grpc/version.go
+++ b/vendor/google.golang.org/grpc/version.go
@@ -19,4 +19,4 @@
package grpc
// Version is the current grpc version.
-const Version = "1.40.0"
+const Version = "1.45.0"
diff --git a/vendor/google.golang.org/grpc/vet.sh b/vendor/google.golang.org/grpc/vet.sh
index 5eaa8b05d..ceb436c6c 100644
--- a/vendor/google.golang.org/grpc/vet.sh
+++ b/vendor/google.golang.org/grpc/vet.sh
@@ -89,10 +89,6 @@ not git grep "\(import \|^\s*\)\"github.com/golang/protobuf/ptypes/" -- "*.go"
# - Ensure all xds proto imports are renamed to *pb or *grpc.
git grep '"github.com/envoyproxy/go-control-plane/envoy' -- '*.go' ':(exclude)*.pb.go' | not grep -v 'pb "\|grpc "'
-# - Check imports that are illegal in appengine (until Go 1.11).
-# TODO: Remove when we drop Go 1.10 support
-go list -f {{.Dir}} ./... | xargs go run test/go_vet/vet.go
-
misspell -error .
# - Check that generated proto files are up to date.
@@ -111,7 +107,7 @@ for MOD_FILE in $(find . -name 'go.mod'); do
go vet -all ./... | fail_on_output
gofmt -s -d -l . 2>&1 | fail_on_output
goimports -l . 2>&1 | not grep -vE "\.pb\.go"
- golint ./... 2>&1 | not grep -vE "/testv3\.pb\.go:"
+ golint ./... 2>&1 | not grep -vE "/grpc_testing_not_regenerate/.*\.pb\.go:"
go mod tidy
git status --porcelain 2>&1 | fail_on_output || \
diff --git a/vendor/modules.txt b/vendor/modules.txt
index 33bbdade7..463fcf642 100644
--- a/vendor/modules.txt
+++ b/vendor/modules.txt
@@ -1,15 +1,18 @@
-# cloud.google.com/go v0.95.0
-## explicit
+# cloud.google.com/go v0.100.2
cloud.google.com/go
-cloud.google.com/go/compute/metadata
-cloud.google.com/go/iam
cloud.google.com/go/internal
cloud.google.com/go/internal/optional
cloud.google.com/go/internal/trace
cloud.google.com/go/internal/version
-# cloud.google.com/go/storage v1.16.1
+# cloud.google.com/go/compute v1.5.0
+cloud.google.com/go/compute/metadata
+# cloud.google.com/go/iam v0.3.0
+## explicit
+cloud.google.com/go/iam
+# cloud.google.com/go/storage v1.21.0
## explicit
cloud.google.com/go/storage
+cloud.google.com/go/storage/internal
cloud.google.com/go/storage/internal/apiv2
# github.com/Masterminds/goutils v1.1.1
## explicit
@@ -32,9 +35,8 @@ github.com/apparentlymart/go-textseg/v13/textseg
# github.com/armon/go-radix v1.0.0
github.com/armon/go-radix
# github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d
-## explicit
github.com/asaskevich/govalidator
-# github.com/aws/aws-sdk-go v1.40.48
+# github.com/aws/aws-sdk-go v1.43.16
## explicit
github.com/aws/aws-sdk-go/aws
github.com/aws/aws-sdk-go/aws/arn
@@ -92,8 +94,7 @@ github.com/bgentry/speakeasy
# github.com/fatih/color v1.13.0
## explicit
github.com/fatih/color
-# github.com/go-openapi/analysis v0.20.1
-## explicit
+# github.com/go-openapi/analysis v0.21.2
github.com/go-openapi/analysis
github.com/go-openapi/analysis/internal/debug
github.com/go-openapi/analysis/internal/flatten/normalize
@@ -101,17 +102,15 @@ github.com/go-openapi/analysis/internal/flatten/operations
github.com/go-openapi/analysis/internal/flatten/replace
github.com/go-openapi/analysis/internal/flatten/schutils
github.com/go-openapi/analysis/internal/flatten/sortref
-# github.com/go-openapi/errors v0.20.1
-## explicit
+# github.com/go-openapi/errors v0.20.2
github.com/go-openapi/errors
# github.com/go-openapi/jsonpointer v0.19.5
github.com/go-openapi/jsonpointer
# github.com/go-openapi/jsonreference v0.19.6
-## explicit
github.com/go-openapi/jsonreference
-# github.com/go-openapi/loads v0.20.2
+# github.com/go-openapi/loads v0.21.1
github.com/go-openapi/loads
-# github.com/go-openapi/runtime v0.19.31
+# github.com/go-openapi/runtime v0.23.2
## explicit
github.com/go-openapi/runtime
github.com/go-openapi/runtime/client
@@ -122,26 +121,22 @@ github.com/go-openapi/runtime/middleware/header
github.com/go-openapi/runtime/middleware/untyped
github.com/go-openapi/runtime/security
github.com/go-openapi/runtime/yamlpc
-# github.com/go-openapi/spec v0.20.3
+# github.com/go-openapi/spec v0.20.4
github.com/go-openapi/spec
-# github.com/go-openapi/strfmt v0.20.2
+# github.com/go-openapi/strfmt v0.21.2
## explicit
github.com/go-openapi/strfmt
-# github.com/go-openapi/swag v0.19.15
-## explicit
+# github.com/go-openapi/swag v0.21.1
github.com/go-openapi/swag
-# github.com/go-openapi/validate v0.20.2
-## explicit
+# github.com/go-openapi/validate v0.21.0
github.com/go-openapi/validate
# github.com/go-stack/stack v1.8.1
-## explicit
github.com/go-stack/stack
# github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da
## explicit
github.com/golang/groupcache/lru
# github.com/golang/protobuf v1.5.2
github.com/golang/protobuf/proto
-github.com/golang/protobuf/protoc-gen-go/descriptor
github.com/golang/protobuf/ptypes
github.com/golang/protobuf/ptypes/any
github.com/golang/protobuf/ptypes/duration
@@ -149,7 +144,7 @@ github.com/golang/protobuf/ptypes/empty
github.com/golang/protobuf/ptypes/timestamp
# github.com/golang/snappy v0.0.4
## explicit
-# github.com/google/go-cmp v0.5.6
+# github.com/google/go-cmp v0.5.7
github.com/google/go-cmp/cmp
github.com/google/go-cmp/cmp/internal/diff
github.com/google/go-cmp/cmp/internal/flags
@@ -159,7 +154,6 @@ github.com/google/go-cmp/cmp/internal/value
## explicit
github.com/google/uuid
# github.com/googleapis/gax-go/v2 v2.1.1
-## explicit
github.com/googleapis/gax-go/v2
github.com/googleapis/gax-go/v2/apierror
github.com/googleapis/gax-go/v2/apierror/internal/proto
@@ -168,11 +162,11 @@ github.com/googleapis/gax-go/v2/apierror/internal/proto
github.com/hashicorp/errwrap
# github.com/hashicorp/go-cleanhttp v0.5.2
github.com/hashicorp/go-cleanhttp
-# github.com/hashicorp/go-getter v1.5.8
+# github.com/hashicorp/go-getter v1.5.11
## explicit
github.com/hashicorp/go-getter
github.com/hashicorp/go-getter/helper/url
-# github.com/hashicorp/go-hclog v0.16.2
+# github.com/hashicorp/go-hclog v1.2.0
## explicit
github.com/hashicorp/go-hclog
# github.com/hashicorp/go-multierror v1.1.1
@@ -187,9 +181,10 @@ github.com/hashicorp/go-safetemp
# github.com/hashicorp/go-uuid v1.0.2
## explicit
github.com/hashicorp/go-uuid
-# github.com/hashicorp/go-version v1.3.0
+# github.com/hashicorp/go-version v1.4.0
+## explicit
github.com/hashicorp/go-version
-# github.com/hashicorp/hcl/v2 v2.10.1
+# github.com/hashicorp/hcl/v2 v2.11.1
## explicit
github.com/hashicorp/hcl/v2
github.com/hashicorp/hcl/v2/ext/customdecode
@@ -241,7 +236,7 @@ github.com/hashicorp/terraform-plugin-sdk/terraform
github.com/hashicorp/terraform-svchost
github.com/hashicorp/terraform-svchost/auth
github.com/hashicorp/terraform-svchost/disco
-# github.com/hashicorp/yamux v0.0.0-20210826001029-26ff87cf9493
+# github.com/hashicorp/yamux v0.0.0-20211028200310-0bc27b27de87
## explicit
github.com/hashicorp/yamux
# github.com/huandu/xstrings v1.3.2
@@ -252,7 +247,7 @@ github.com/imdario/mergo
github.com/jmespath/go-jmespath
# github.com/josharian/intern v1.0.0
github.com/josharian/intern
-# github.com/klauspost/compress v1.13.6
+# github.com/klauspost/compress v1.15.1
## explicit
github.com/klauspost/compress
github.com/klauspost/compress/fse
@@ -261,11 +256,11 @@ github.com/klauspost/compress/internal/snapref
github.com/klauspost/compress/zstd
github.com/klauspost/compress/zstd/internal/xxhash
# github.com/mailru/easyjson v0.7.7
-## explicit
github.com/mailru/easyjson/buffer
github.com/mailru/easyjson/jlexer
github.com/mailru/easyjson/jwriter
-# github.com/mattn/go-colorable v0.1.9
+# github.com/mattn/go-colorable v0.1.12
+## explicit
github.com/mattn/go-colorable
# github.com/mattn/go-isatty v0.0.14
github.com/mattn/go-isatty
@@ -282,8 +277,7 @@ github.com/mitchellh/go-testing-interface
# github.com/mitchellh/go-wordwrap v1.0.1
## explicit
github.com/mitchellh/go-wordwrap
-# github.com/mitchellh/mapstructure v1.4.2
-## explicit
+# github.com/mitchellh/mapstructure v1.4.3
github.com/mitchellh/mapstructure
# github.com/mitchellh/reflectwalk v1.0.2
github.com/mitchellh/reflectwalk
@@ -301,20 +295,19 @@ github.com/opentracing/opentracing-go/log
github.com/posener/complete
github.com/posener/complete/cmd
github.com/posener/complete/cmd/install
-# github.com/smutel/go-netbox v2.11.0+incompatible
+# github.com/smutel/go-netbox v3.0.0+incompatible
## explicit
github.com/smutel/go-netbox/netbox/client
github.com/smutel/go-netbox/netbox/client/circuits
github.com/smutel/go-netbox/netbox/client/dcim
github.com/smutel/go-netbox/netbox/client/extras
github.com/smutel/go-netbox/netbox/client/ipam
-github.com/smutel/go-netbox/netbox/client/secrets
github.com/smutel/go-netbox/netbox/client/status
github.com/smutel/go-netbox/netbox/client/tenancy
github.com/smutel/go-netbox/netbox/client/users
github.com/smutel/go-netbox/netbox/client/virtualization
github.com/smutel/go-netbox/netbox/models
-# github.com/spf13/afero v1.6.0
+# github.com/spf13/afero v1.8.2
## explicit
github.com/spf13/afero
github.com/spf13/afero/mem
@@ -332,7 +325,7 @@ github.com/vmihailenco/msgpack/v4/codes
github.com/vmihailenco/tagparser
github.com/vmihailenco/tagparser/internal
github.com/vmihailenco/tagparser/internal/parser
-# github.com/zclconf/go-cty v1.9.1
+# github.com/zclconf/go-cty v1.10.0
## explicit
github.com/zclconf/go-cty/cty
github.com/zclconf/go-cty/cty/convert
@@ -344,7 +337,7 @@ github.com/zclconf/go-cty/cty/msgpack
github.com/zclconf/go-cty/cty/set
# github.com/zclconf/go-cty-yaml v1.0.2
github.com/zclconf/go-cty-yaml
-# go.mongodb.org/mongo-driver v1.7.2
+# go.mongodb.org/mongo-driver v1.8.4
## explicit
go.mongodb.org/mongo-driver/bson
go.mongodb.org/mongo-driver/bson/bsoncodec
@@ -371,7 +364,7 @@ go.opencensus.io/trace
go.opencensus.io/trace/internal
go.opencensus.io/trace/propagation
go.opencensus.io/trace/tracestate
-# golang.org/x/crypto v0.0.0-20210921155107-089bfa567519
+# golang.org/x/crypto v0.0.0-20220307211146-efcb8507fb70
## explicit
golang.org/x/crypto/bcrypt
golang.org/x/crypto/blowfish
@@ -384,8 +377,7 @@ golang.org/x/crypto/openpgp/packet
golang.org/x/crypto/openpgp/s2k
golang.org/x/crypto/pbkdf2
golang.org/x/crypto/scrypt
-# golang.org/x/net v0.0.0-20210924054057-cf34111cab4d
-## explicit
+# golang.org/x/net v0.0.0-20220225172249-27dd8689420f
golang.org/x/net/context
golang.org/x/net/context/ctxhttp
golang.org/x/net/http/httpguts
@@ -394,7 +386,8 @@ golang.org/x/net/http2/hpack
golang.org/x/net/idna
golang.org/x/net/internal/timeseries
golang.org/x/net/trace
-# golang.org/x/oauth2 v0.0.0-20210819190943-2bc19b11175f
+# golang.org/x/oauth2 v0.0.0-20220309155454-6242fa91716a
+## explicit
golang.org/x/oauth2
golang.org/x/oauth2/authhandler
golang.org/x/oauth2/google
@@ -402,20 +395,24 @@ golang.org/x/oauth2/google/internal/externalaccount
golang.org/x/oauth2/internal
golang.org/x/oauth2/jws
golang.org/x/oauth2/jwt
-# golang.org/x/sys v0.0.0-20210923061019-b8560ed6a9b7
+# golang.org/x/sys v0.0.0-20220310020820-b874c991c1a5
## explicit
golang.org/x/sys/internal/unsafeheader
golang.org/x/sys/unix
# golang.org/x/text v0.3.7
-## explicit
golang.org/x/text/secure/bidirule
golang.org/x/text/transform
golang.org/x/text/unicode/bidi
golang.org/x/text/unicode/norm
golang.org/x/text/width
-# google.golang.org/api v0.57.0
+# golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
+golang.org/x/xerrors
+golang.org/x/xerrors/internal
+# google.golang.org/api v0.71.0
+## explicit
google.golang.org/api/googleapi
google.golang.org/api/googleapi/transport
+google.golang.org/api/iamcredentials/v1
google.golang.org/api/internal
google.golang.org/api/internal/gensupport
google.golang.org/api/internal/impersonate
@@ -424,6 +421,7 @@ google.golang.org/api/iterator
google.golang.org/api/option
google.golang.org/api/option/internaloption
google.golang.org/api/storage/v1
+google.golang.org/api/transport
google.golang.org/api/transport/cert
google.golang.org/api/transport/grpc
google.golang.org/api/transport/http
@@ -445,7 +443,7 @@ google.golang.org/appengine/internal/socket
google.golang.org/appengine/internal/urlfetch
google.golang.org/appengine/socket
google.golang.org/appengine/urlfetch
-# google.golang.org/genproto v0.0.0-20210924002016-3dee208752a0
+# google.golang.org/genproto v0.0.0-20220310185008-1973136f34c6
## explicit
google.golang.org/genproto/googleapis/api/annotations
google.golang.org/genproto/googleapis/iam/v1
@@ -455,7 +453,8 @@ google.golang.org/genproto/googleapis/rpc/status
google.golang.org/genproto/googleapis/storage/v2
google.golang.org/genproto/googleapis/type/date
google.golang.org/genproto/googleapis/type/expr
-# google.golang.org/grpc v1.40.0
+# google.golang.org/grpc v1.45.0
+## explicit
google.golang.org/grpc
google.golang.org/grpc/attributes
google.golang.org/grpc/backoff
@@ -477,6 +476,7 @@ google.golang.org/grpc/credentials/alts/internal/handshaker
google.golang.org/grpc/credentials/alts/internal/handshaker/service
google.golang.org/grpc/credentials/alts/internal/proto/grpc_gcp
google.golang.org/grpc/credentials/google
+google.golang.org/grpc/credentials/insecure
google.golang.org/grpc/credentials/oauth
google.golang.org/grpc/encoding
google.golang.org/grpc/encoding/proto