From 6b53766aa6a9998ee230b8fcd7a9ae469f6d4ace Mon Sep 17 00:00:00 2001 From: Johan Brandhorst-Satzkorn Date: Mon, 8 Apr 2024 13:55:17 -0700 Subject: [PATCH] internal/proto: improvements to OpenAPIv2 spec (#4555) * internal/gen: better API docs Add various pieces of metadata that can be used by the API docs renderer. Improve the service labels by specifying explicit tags. Specify error responses. Specify version at generation time. * internal/gen: add better errors The default error entry is now used to cover all errors, as adding a new error for every possible status code was a bit much. This also properly includes the real error type now! * Add various pieces of metadata that can be used by the API docs renderer. Improve the service labels by specifying explicit tags. * make auth method API docs * make API docs better * make auth methods API docs nicer * internal/gen: better attribute examples Replace Output Only comments with a field behavior annotation in accounts. Mark some fields as required. Add elaborate description for attributes. * Make API docs better * Make API docs better * Make API docs better * internal/proto: regenerate files * internal/proto: finish off account service * Make API docs better * internal/proto: add better API docs for aliases * Tidy up service descriptions * Added description for Boundary controller API doc * internal/gen: add better API intro Copy parts of the API docs into the description * sdk: add openapi dependency * internal/gen: move global API doc to separate file * internal/gen: remove required annotations Unfortunately, while these help with the creating of resources, they still appear required in contexts where they are not, such as when updating a resource. * Review comments --------- Co-authored-by: jigar-hashicorp Co-authored-by: Isaac Christian (he/him) <112639904+isaacchristian@users.noreply.github.com> --- Makefile | 6 +- internal/auth/oidc/store/oidc.pb.go | 2 +- internal/authtoken/store/authtoken.pb.go | 2 +- internal/gen/controller.swagger.json | 2364 ++++++++++++----- internal/gen/controller/api/error.pb.go | 7 +- .../api/services/account_service.pb.go | 222 +- .../api/services/account_service_grpc.pb.go | 64 +- .../api/services/alias_service.pb.go | 67 +- .../api/services/alias_service_grpc.pb.go | 44 +- .../api/services/auth_method_service.pb.go | 82 +- .../services/auth_method_service_grpc.pb.go | 48 +- .../api/services/authtokens_service.pb.go | 50 +- .../api/services/billing_service.pb.go | 24 +- .../services/credential_library_service.pb.go | 67 +- .../api/services/credential_service.pb.go | 58 +- .../services/credential_store_service.pb.go | 61 +- .../gen/controller/api/services/doc.pb.go | 322 +++ .../api/services/group_service.pb.go | 50 +- .../api/services/host_catalog_service.pb.go | 52 +- .../api/services/host_service.pb.go | 50 +- .../api/services/host_set_service.pb.go | 52 +- .../api/services/managed_group_service.pb.go | 52 +- .../services/managed_group_service_grpc.pb.go | 4 +- .../api/services/policy_service.pb.go | 44 +- .../api/services/policy_service_grpc.pb.go | 28 +- .../api/services/role_service.pb.go | 50 +- .../api/services/scope_service.pb.go | 54 +- .../services/session_recording_service.pb.go | 60 +- .../api/services/session_service.pb.go | 50 +- .../api/services/storage_bucket_service.pb.go | 56 +- .../api/services/target_service.pb.go | 49 +- .../api/services/user_service.pb.go | 42 +- .../api/services/worker_service.pb.go | 32 +- internal/oplog/store/oplog.pb.go | 2 +- .../api/resources/accounts/v1/account.proto | 144 +- .../api/resources/aliases/v1/alias.proto | 62 +- .../api/resources/scopes/v1/scope.proto | 71 +- .../api/services/v1/account_service.proto | 83 +- .../api/services/v1/alias_service.proto | 52 +- .../api/services/v1/auth_method_service.proto | 67 +- .../api/services/v1/authtokens_service.proto | 23 +- .../api/services/v1/billing_service.proto | 5 + .../v1/credential_library_service.proto | 28 +- .../api/services/v1/credential_service.proto | 27 +- .../v1/credential_store_service.proto | 27 +- .../controller/api/services/v1/doc.proto | 79 + .../api/services/v1/group_service.proto | 23 +- .../services/v1/host_catalog_service.proto | 23 +- .../api/services/v1/host_service.proto | 23 +- .../api/services/v1/host_set_service.proto | 22 +- .../services/v1/managed_group_service.proto | 24 +- .../api/services/v1/policy_service.proto | 33 +- .../api/services/v1/role_service.proto | 22 +- .../api/services/v1/scope_service.proto | 25 +- .../v1/session_recording_service.proto | 25 +- .../api/services/v1/session_service.proto | 22 +- .../services/v1/storage_bucket_service.proto | 26 +- .../api/services/v1/target_service.proto | 22 +- .../api/services/v1/user_service.proto | 20 +- .../api/services/v1/worker_service.proto | 8 + internal/proto/controller/api/v1/error.proto | 9 +- .../storage/auth/oidc/store/v1/oidc.proto | 2 +- .../authtoken/store/v1/authtoken.proto | 2 +- .../storage/oplog/store/v1/oplog.proto | 2 +- sdk/go.mod | 21 +- sdk/go.sum | 38 +- .../api/resources/accounts/account.pb.go | 361 +-- .../api/resources/aliases/alias.pb.go | 223 +- .../api/resources/scopes/scope.pb.go | 281 +- 69 files changed, 4339 insertions(+), 1803 deletions(-) create mode 100644 internal/gen/controller/api/services/doc.pb.go create mode 100644 internal/proto/controller/api/services/v1/doc.proto diff --git a/Makefile b/Makefile index 140b34ca8..0b8cc835a 100644 --- a/Makefile +++ b/Makefile @@ -148,8 +148,8 @@ protobuild: # Move the generated files from the tmp file subdirectories into the current repo. cp -R ${TMP_DIR}/${REPO_PATH}/* ${THIS_DIR} - @buf generate --template buf.openapiv2.gen.yaml --path internal/proto/controller/api/services/v1/ - cd internal/bsr/ && buf generate proto/ + @buf generate --template buf.openapiv2.gen.yaml --path internal/proto/controller/api/services/v1/ --path internal/proto/controller/api/v1/ + cd internal/bsr/ && buf generate proto/ @protoc-go-inject-tag -input=./internal/oplog/store/oplog.pb.go @protoc-go-inject-tag -input=./internal/oplog/oplog_test/oplog_test.pb.go @@ -256,6 +256,8 @@ protobuild: @buf generate --template buf.testing.gen.yaml --path internal/proto/testing/event/v1/ @go run ./scripts/remove-gotags-comments/ -path ./internal/gen/controller.swagger.json + # Avoid use of -i to be compatible between GNU and BSD sed + @sed -e 's/placeholder-version/$(shell cat ./version/VERSION)/g' ./internal/gen/controller.swagger.json > controller.swagger.json.tmp && mv controller.swagger.json.tmp ./internal/gen/controller.swagger.json @rm -R ${TMP_DIR} diff --git a/internal/auth/oidc/store/oidc.pb.go b/internal/auth/oidc/store/oidc.pb.go index 4b1af53fb..369107ee7 100644 --- a/internal/auth/oidc/store/oidc.pb.go +++ b/internal/auth/oidc/store/oidc.pb.go @@ -94,7 +94,7 @@ type AuthMethod struct { // for max age based on the oidc spec. // @inject_tag: `gorm:"default:null"` MaxAge int32 `protobuf:"varint,150,opt,name=max_age,json=maxAge,proto3" json:"max_age,omitempty" gorm:"default:null"` - // api_url is the URLs prefix at which the boundary api is reachable. This value + // api_url is the URLs prefix at which the Boundary api is reachable. This value // is used by the auth method in the different steps of the auth flow. // @inject_tag: `gorm:"default:null"` ApiUrl string `protobuf:"bytes,160,opt,name=api_url,json=apiUrl,proto3" json:"api_url,omitempty" gorm:"default:null"` diff --git a/internal/authtoken/store/authtoken.pb.go b/internal/authtoken/store/authtoken.pb.go index 8997a17d5..e6a51f24b 100644 --- a/internal/authtoken/store/authtoken.pb.go +++ b/internal/authtoken/store/authtoken.pb.go @@ -38,7 +38,7 @@ type AuthToken struct { // update_time from the RDBMS // @inject_tag: `gorm:"default:current_timestamp"` UpdateTime *timestamp.Timestamp `protobuf:"bytes,3,opt,name=update_time,json=updateTime,proto3" json:"update_time,omitempty" gorm:"default:current_timestamp"` - // last_access_time indicates the last time the auth token was used on the boundary API. + // last_access_time indicates the last time the auth token was used on the Boundary API. // @inject_tag: `gorm:"default:current_timestamp"` ApproximateLastAccessTime *timestamp.Timestamp `protobuf:"bytes,4,opt,name=approximate_last_access_time,json=approximateLastAccessTime,proto3" json:"approximate_last_access_time,omitempty" gorm:"default:current_timestamp"` // expiration_time indicates when this session will expire. diff --git a/internal/gen/controller.swagger.json b/internal/gen/controller.swagger.json index a60b79b90..bb8fc106f 100644 --- a/internal/gen/controller.swagger.json +++ b/internal/gen/controller.swagger.json @@ -1,77 +1,181 @@ { "swagger": "2.0", "info": { - "title": "Boundary Controller HTTP API", - "version": "version not set" + "title": "Boundary controller HTTP API", + "description": "Welcome to the Boundary controller HTTP API documentation. This page provides a reference guide for using the Boundary controller API, a JSON-based HTTP API. The API implements commonly seen HTTP API patterns for status codes, paths, and errors. See the [API overview](https://developer.hashicorp.com/boundary/docs/api-clients/api) for more information.\n\nBefore you read this page, it is useful to understand Boundary's [domain model](https://developer.hashicorp.com/boundary/docs/concepts/domain-model) and to be aware of the terminology used here. To get started, search for the service you want to interact with in the sidebar to the left. Each resource in Boundary, such as accounts and credential stores, has its own service. Each service contains all the API endpoints for the resource.\n## Status codes\n- `2XX`: Boundary returns a code between `200` and `299` on success. Generally this is `200`, but implementations should be prepared to accept any `2XX` status code as indicating success. If a call returns a `2XX` code that is not `200`, it follows well-understood semantics for those status codes.\n- `400`: Boundary returns `400` when a command cannot be completed due to invalid user input, except for a properly-formatted identifier that does not map to an existing resource, which returns a `404` as discussed below.\n- `401`: Boundary returns `401` if no authentication token is provided or if the provided token is invalid. A valid token that simply does not have permission for a resource returns a `403` instead. A token that is invalid or missing, but where the anonymous user (`u_anon`) is able to successfully perform the action, will not return a `401` but instead will return the result of the action.\n- `403`: Boundary returns `403` if a provided token was valid but does not have the grants required to perform the requested action.\n- `404`: Boundary returns `404` if a resource cannot be found. Note that this happens _prior_ to authentication/authorization checking in nearly all cases as the resource information (such as its scope, available actions, etc.) is a required part of that check. As a result, an action against a resource that does not exist returns a `404` instead of a `401` or `403`. While this could be considered an information leak, since IDs are randomly generated and this only discloses whether an ID is valid, it's tolerable as it allows for far simpler and more robust client implementation.\n- `405`: Boundary returns a `405` to indicate that the method (HTTP verb or custom action) is not implemented for the given resource.\n- `429`: Boundary returns a `429` if any of the API rate limit quotas have been exhausted for the resource and action. It includes the `Retry-After` header so that the client knows how long to wait before making a new request.\n- `500`: Boundary returns `500` if an error occurred that is not (directly) tied to invalid user input. If a `500` is generated, information about the error is logged to Boundary's server log but is not generally provided to the client.\n- `503`: Boundary returns a `503` if it is unable to store a quota due to the API rate limit being exceeded. It includes the `Retry-After` header so that the client knows how long to wait before making a new request.\n## List pagination\nBoundary uses [API pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination) to support searching and filtering large lists of results efficiently.", + "version": "0.16.0", + "contact": { + "name": "HashiCorp Boundary", + "url": "https://www.boundaryproject.io/" + }, + "license": { + "name": "Business Source License 1.1", + "url": "https://github.com/hashicorp/boundary/blob/main/LICENSE" + } }, "tags": [ { - "name": "controller.api.services.v1.ScopeService" + "name": "Account service", + "description": "The account service exposes endpoints for interacting with accounts in Boundary. Accounts belong to an auth method and are associated with users.", + "externalDocs": { + "description": "Read about accounts in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/accounts" + } }, { - "name": "controller.api.services.v1.AccountService" + "name": "Alias service", + "description": "The alias service exposes endpoints for interacting with aliases in Boundary. An alias acts as a reference or an alternate ID for an existing entity within the Boundary access control system. It provides a way to simplify access control by offering a more user-friendly or descriptive identifier for an entity." }, { - "name": "controller.api.services.v1.AliasService" + "name": "Auth method service", + "description": "The auth method service exposes endpoints for interacting with auth methods in Boundary. An auth method defines how users can authenticate themselves within the system. It acts as a bridge between Boundary and various external identity providers or authentication mechanisms.", + "externalDocs": { + "description": "Read about auth methods in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/auth-methods" + } }, { - "name": "controller.api.services.v1.AuthMethodService" + "name": "Auth token service", + "description": "The auth token service provides the ability to manage and retrieve auth tokens. An auth token serves as a temporary credential issued to a user after successful authentication. It grants the user access to Boundary's resources and capabilities for a limited duration." }, { - "name": "controller.api.services.v1.AuthTokenService" + "name": "Billing service", + "description": "The billing service provides the usage data. It includes the active users in a given time period." }, { - "name": "controller.api.services.v1.BillingService" + "name": "Credential library service", + "description": "The credential library service acts as a centralized repository for managing credentials used during sessions. It offers a secure and efficient way to store, rotate, and manage various the various types of credentials that are required for infrastructure access. The credential library service provides endpoints for interacting with credential libraries.", + "externalDocs": { + "description": "Read about credential libraries in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credential-libraries" + } }, { - "name": "controller.api.services.v1.CredentialLibraryService" + "name": "Credential service", + "description": "A credential is a data structure that contains one or more secrets that bind an identity to a set of permissions or capabilities on a host for a session. The credential service provides endpoints for managing credentials in Boundary. ", + "externalDocs": { + "description": "Read about credentials in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credentials" + } }, { - "name": "controller.api.services.v1.CredentialService" + "name": "Credential store service", + "description": "A credential store is a resource that can retrieve, store, and potentially generate credentials of differing types and differing access levels. The credential store service provides endpoints for managing credential stores in Boundary. ", + "externalDocs": { + "description": "Read about credential stores in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credential-stores" + } }, { - "name": "controller.api.services.v1.CredentialStoreService" + "name": "Group service", + "description": "A group is a resource that represents a collection of users that can be treated equally for the purposes of access control. The group service provides endpoints for managing groups in Boundary. ", + "externalDocs": { + "description": "Read about groups in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/groups" + } }, { - "name": "controller.api.services.v1.GroupService" + "name": "Host catalog service", + "description": "A host catalog serves as a central repository for managing and organizing the target hosts or resources that Boundary can access and control. The host catalog service provides endpoints for managing host catalogs in Boundary.", + "externalDocs": { + "description": "Read about host catalogs in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/host-catalogs" + } }, { - "name": "controller.api.services.v1.HostCatalogService" + "name": "Host service", + "description": "A host is a resource that represents a computing element with a network address that is reachable from a Boundary worker. The host service provides endpoints for managing hosts in Boundary.", + "externalDocs": { + "description": "Read about hosts in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/hosts" + } }, { - "name": "controller.api.services.v1.HostService" + "name": "Host set service", + "description": "A host set is a resource that represents a collection of hosts that are considered equivalent for the purposes of access control. The host set service provides endpoints for managing host sets in Boundary.", + "externalDocs": { + "description": "Read about host sets in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/host-sets" + } }, { - "name": "controller.api.services.v1.HostSetService" + "name": "Managed group service", + "description": "A managed group is a resource that represents a collection of accounts. The managed group service provides endpoints for creating, reading, updating, and deleting managed groups in Boundary.", + "externalDocs": { + "description": "Read about managed groups in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/managed-groups" + } }, { - "name": "controller.api.services.v1.ManagedGroupService" + "name": "Policy service", + "description": "The policy service provides endpoints that let you manage policies in Boundary. Policies are used to define rules for the lifecycle of session recordings.", + "externalDocs": { + "description": "Read about policies in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/storage-policy" + } }, { - "name": "controller.api.services.v1.PolicyService" + "name": "Role service", + "description": "A role represents a collection of permissions that define what actions a user or service account can perform within the system. The role service provides endpoints that let you manage roles in Boundary.", + "externalDocs": { + "description": "Read about roles in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/roles" + } }, { - "name": "controller.api.services.v1.RoleService" + "name": "Scope service", + "description": "A scope acts as a permission Boundary modeled using the concept of a container. It creates a hierarchical structure that lets you organize your resources and manage access control within Boundary. The scope service provides endpoints to let you manage scopes in Boundary.", + "externalDocs": { + "description": "Read about scopes in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/scopes" + } }, { - "name": "controller.api.services.v1.SessionRecordingService" + "name": "Session recording service", + "description": "A session recording is a feature that enables administrators to record and play back user access sessions to target resources. It provides an audit trail of user activity and lets administrators monitor access. The session recording service provides endpoints that let you manage session recordings in Boundary.", + "externalDocs": { + "description": "Read about session recordings in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/session-recordings" + } }, { - "name": "controller.api.services.v1.SessionService" + "name": "Session service", + "description": "A session represents a temporary, authorized access connection between a user and a target resource. The session service provides endpoints that let you manage sessions in Boundary.", + "externalDocs": { + "description": "Read about sessions in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/sessions" + } }, { - "name": "controller.api.services.v1.StorageBucketService" + "name": "Storage bucket service", + "description": "A storage bucket is an external storage location used to store recordings of user access sessions. The storage bucket service provides endpoints that let you manage storage buckets in Boundary.", + "externalDocs": { + "description": "Read about storage buckets in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/storage-buckets" + } }, { - "name": "controller.api.services.v1.TargetService" + "name": "Target service", + "description": "A target represents an endpoint or resource that users can access through Boundary sessions. The target service provides endpoints that let you manage targets in Boundary.", + "externalDocs": { + "description": "Read about targets in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/targets" + } }, { - "name": "controller.api.services.v1.UserService" + "name": "User service", + "description": "A user can be a human individual or a service account that accesses resources. The user service provides endpoints that let you manage users in Boundary.", + "externalDocs": { + "description": "Read about users in the Boundary domain model", + "url": "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/users" + } }, { - "name": "controller.api.services.v1.WorkerService" + "name": "Worker service", + "description": "A worker is a service that acts as a network proxy for Boundary sessions. It functions as a bridge between users and the target resources they need to access. The worker service provides endpoints that let you manage workers in Boundary." } ], + "host": "your-boundary-hostname.com", "schemes": [ "https", "http" @@ -85,7 +189,7 @@ "paths": { "/v1/accounts": { "get": { - "summary": "Lists all Accounts in a specific Auth Method.", + "summary": "Lists all accounts in a specific auth method.", "operationId": "AccountService_ListAccounts", "responses": { "200": { @@ -93,33 +197,39 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListAccountsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "auth_method_id", - "description": "", + "description": "The ID of the auth method whose accounts should be listed.", "in": "query", "required": false, "type": "string" }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -127,11 +237,11 @@ } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] }, "post": { - "summary": "Creates a single Account in the provided Auth Method.", + "summary": "Creates a single account in the provided auth method.", "operationId": "AccountService_CreateAccount", "responses": { "200": { @@ -139,6 +249,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -152,13 +268,13 @@ } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] } }, "/v1/accounts/{id}": { "get": { - "summary": "Gets a single Account.", + "summary": "Gets a single account based on the input ID", "operationId": "AccountService_GetAccount", "responses": { "200": { @@ -166,23 +282,29 @@ "schema": { "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the account that should be retrieved.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] }, "delete": { - "summary": "Deletes an Account.", + "summary": "Deletes an account.", "operationId": "AccountService_DeleteAccount", "responses": { "200": { @@ -190,23 +312,29 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.DeleteAccountResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the account to delete.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] }, "patch": { - "summary": "Updates an Account.", + "summary": "Updates an account.", "operationId": "AccountService_UpdateAccount", "responses": { "200": { @@ -214,18 +342,25 @@ "schema": { "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the account that should be updated.", "in": "path", "required": true, "type": "string" }, { "name": "item", + "description": "A subset of the account that contains the fields to update.", "in": "body", "required": true, "schema": { @@ -234,13 +369,13 @@ } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] } }, "/v1/accounts/{id}:change-password": { "post": { - "summary": "Sets the password for the provided Account.", + "summary": "Sets the password for the provided account.", "operationId": "AccountService_ChangePassword", "responses": { "200": { @@ -248,12 +383,18 @@ "schema": { "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the account for which the password should be changed.", "in": "path", "required": true, "type": "string" @@ -268,13 +409,13 @@ } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] } }, "/v1/accounts/{id}:set-password": { "post": { - "summary": "Sets the password for the provided Account.", + "summary": "Sets the password for the provided account.", "operationId": "AccountService_SetPassword", "responses": { "200": { @@ -282,12 +423,18 @@ "schema": { "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the account for which the password should be set.", "in": "path", "required": true, "type": "string" @@ -302,7 +449,7 @@ } ], "tags": [ - "controller.api.services.v1.AccountService" + "Account service" ] } }, @@ -316,40 +463,46 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListAliasesResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "scope_id", - "description": "", + "description": "The ID of the scope in which to list aliases", "in": "query", "required": false, "type": "string" }, { "name": "recursive", - "description": "", + "description": "Whether to recursively list aliases in the provided scope's child scopes.", "in": "query", "required": false, "type": "boolean" }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -357,7 +510,7 @@ } ], "tags": [ - "controller.api.services.v1.AliasService" + "Alias service" ] }, "post": { @@ -369,6 +522,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.aliases.v1.Alias" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -382,7 +541,7 @@ } ], "tags": [ - "controller.api.services.v1.AliasService" + "Alias service" ] } }, @@ -396,19 +555,25 @@ "schema": { "$ref": "#/definitions/controller.api.resources.aliases.v1.Alias" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the alias to retrieve.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "controller.api.services.v1.AliasService" + "Alias service" ] }, "delete": { @@ -420,19 +585,25 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.DeleteAliasResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the alias to delete.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "controller.api.services.v1.AliasService" + "Alias service" ] }, "patch": { @@ -444,18 +615,25 @@ "schema": { "$ref": "#/definitions/controller.api.resources.aliases.v1.Alias" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "The ID of the alias to update.", "in": "path", "required": true, "type": "string" }, { "name": "item", + "description": "A subset of the alias that contains the fields to update.", "in": "body", "required": true, "schema": { @@ -464,13 +642,13 @@ } ], "tags": [ - "controller.api.services.v1.AliasService" + "Alias service" ] } }, "/v1/auth-methods": { "get": { - "summary": "Lists all Auth Methods.", + "summary": "Lists all auth methods.", "operationId": "AuthMethodService_ListAuthMethods", "responses": { "200": { @@ -478,40 +656,46 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListAuthMethodsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "scope_id", - "description": "", + "description": "The scope id in which to list auth methods.", "in": "query", "required": false, "type": "string" }, { "name": "recursive", - "description": "", + "description": "Whether to recursively list auth methods in the provided scope's child scopes.", "in": "query", "required": false, "type": "boolean" }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -519,11 +703,11 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] }, "post": { - "summary": "Creates a single Auth Method.", + "summary": "Creates a single auth method.", "operationId": "AuthMethodService_CreateAuthMethod", "responses": { "200": { @@ -531,6 +715,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.authmethods.v1.AuthMethod" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -544,7 +734,7 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] } }, @@ -558,12 +748,18 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.AuthenticateResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "auth_method_id", - "description": "The ID of the Auth Method in the system that should be used for authentication.", + "description": "The ID of the auth method in the system that should be used for authentication.", "in": "path", "required": true, "type": "string" @@ -578,13 +774,13 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] } }, "/v1/auth-methods/{id}": { "get": { - "summary": "Gets a single Auth Method.", + "summary": "Gets a single auth method.", "operationId": "AuthMethodService_GetAuthMethod", "responses": { "200": { @@ -592,19 +788,25 @@ "schema": { "$ref": "#/definitions/controller.api.resources.authmethods.v1.AuthMethod" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ { "name": "id", - "description": "", + "description": "Id of the auth method being requested.", "in": "path", "required": true, "type": "string" } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] }, "delete": { @@ -616,6 +818,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.DeleteAuthMethodResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -628,11 +836,11 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] }, "patch": { - "summary": "Updates an Auth Method.", + "summary": "Updates an auth method.", "operationId": "AuthMethodService_UpdateAuthMethod", "responses": { "200": { @@ -640,6 +848,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.authmethods.v1.AuthMethod" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -660,7 +874,7 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] } }, @@ -674,6 +888,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.authmethods.v1.AuthMethod" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -694,7 +914,7 @@ } ], "tags": [ - "controller.api.services.v1.AuthMethodService" + "Auth method service" ] } }, @@ -708,6 +928,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListAuthTokensResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -727,21 +953,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -749,7 +975,7 @@ } ], "tags": [ - "controller.api.services.v1.AuthTokenService" + "Auth token service" ] } }, @@ -763,29 +989,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.authtokens.v1.AuthToken" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.AuthTokenService" - ] - }, - "delete": { - "summary": "Deletes an Auth Token.", - "operationId": "AuthTokenService_DeleteAuthToken", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteAuthTokenResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -799,7 +1007,37 @@ } ], "tags": [ - "controller.api.services.v1.AuthTokenService" + "Auth token service" + ] + }, + "delete": { + "summary": "Deletes an Auth Token.", + "operationId": "AuthTokenService_DeleteAuthToken", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteAuthTokenResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Auth token service" ] } }, @@ -813,6 +1051,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.MonthlyActiveUsersResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -832,7 +1076,7 @@ } ], "tags": [ - "controller.api.services.v1.BillingService" + "Billing service" ] } }, @@ -846,6 +1090,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListCredentialLibrariesResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -858,21 +1108,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -880,7 +1130,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialLibraryService" + "Credential library service" ] }, "post": { @@ -892,6 +1142,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentiallibraries.v1.CredentialLibrary" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -905,7 +1161,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialLibraryService" + "Credential library service" ] } }, @@ -919,29 +1175,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentiallibraries.v1.CredentialLibrary" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.CredentialLibraryService" - ] - }, - "delete": { - "summary": "Deletes a Credential Library", - "operationId": "CredentialLibraryService_DeleteCredentialLibrary", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialLibraryResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -955,7 +1193,37 @@ } ], "tags": [ - "controller.api.services.v1.CredentialLibraryService" + "Credential library service" + ] + }, + "delete": { + "summary": "Deletes a Credential Library", + "operationId": "CredentialLibraryService_DeleteCredentialLibrary", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialLibraryResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Credential library service" ] }, "patch": { @@ -967,6 +1235,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentiallibraries.v1.CredentialLibrary" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -987,7 +1261,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialLibraryService" + "Credential library service" ] } }, @@ -1001,6 +1275,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListCredentialStoresResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1020,21 +1300,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -1042,7 +1322,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialStoreService" + "Credential store service" ] }, "post": { @@ -1054,6 +1334,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentialstores.v1.CredentialStore" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1067,7 +1353,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialStoreService" + "Credential store service" ] } }, @@ -1081,29 +1367,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentialstores.v1.CredentialStore" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.CredentialStoreService" - ] - }, - "delete": { - "summary": "Deletes a CredentialStore", - "operationId": "CredentialStoreService_DeleteCredentialStore", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialStoreResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -1117,7 +1385,37 @@ } ], "tags": [ - "controller.api.services.v1.CredentialStoreService" + "Credential store service" + ] + }, + "delete": { + "summary": "Deletes a CredentialStore", + "operationId": "CredentialStoreService_DeleteCredentialStore", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialStoreResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Credential store service" ] }, "patch": { @@ -1129,6 +1427,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentialstores.v1.CredentialStore" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1149,7 +1453,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialStoreService" + "Credential store service" ] } }, @@ -1163,6 +1467,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListCredentialsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1175,21 +1485,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -1197,7 +1507,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialService" + "Credential service" ] }, "post": { @@ -1209,6 +1519,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentials.v1.Credential" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1222,7 +1538,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialService" + "Credential service" ] } }, @@ -1236,29 +1552,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentials.v1.Credential" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.CredentialService" - ] - }, - "delete": { - "summary": "Deletes a Credential", - "operationId": "CredentialService_DeleteCredential", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -1272,7 +1570,37 @@ } ], "tags": [ - "controller.api.services.v1.CredentialService" + "Credential service" + ] + }, + "delete": { + "summary": "Deletes a Credential", + "operationId": "CredentialService_DeleteCredential", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteCredentialResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Credential service" ] }, "patch": { @@ -1284,6 +1612,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.credentials.v1.Credential" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1304,7 +1638,7 @@ } ], "tags": [ - "controller.api.services.v1.CredentialService" + "Credential service" ] } }, @@ -1318,6 +1652,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListGroupsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1337,21 +1677,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number.", "in": "query", "required": false, "type": "integer", @@ -1359,7 +1699,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] }, "post": { @@ -1371,6 +1711,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1384,7 +1730,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] } }, @@ -1398,29 +1744,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.GroupService" - ] - }, - "delete": { - "summary": "Deletes a Group.", - "operationId": "GroupService_DeleteGroup", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteGroupResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -1434,7 +1762,37 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" + ] + }, + "delete": { + "summary": "Deletes a Group.", + "operationId": "GroupService_DeleteGroup", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteGroupResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Group service" ] }, "patch": { @@ -1446,6 +1804,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1466,7 +1830,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] } }, @@ -1480,6 +1844,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1500,7 +1870,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] } }, @@ -1514,6 +1884,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1534,7 +1910,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] } }, @@ -1548,6 +1924,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.groups.v1.Group" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1568,7 +1950,7 @@ } ], "tags": [ - "controller.api.services.v1.GroupService" + "Group service" ] } }, @@ -1582,6 +1964,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListHostCatalogsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1601,21 +1989,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number.", "in": "query", "required": false, "type": "integer", @@ -1623,7 +2011,7 @@ } ], "tags": [ - "controller.api.services.v1.HostCatalogService" + "Host catalog service" ] }, "post": { @@ -1635,6 +2023,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostcatalogs.v1.HostCatalog" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1655,7 +2049,7 @@ } ], "tags": [ - "controller.api.services.v1.HostCatalogService" + "Host catalog service" ] } }, @@ -1669,29 +2063,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostcatalogs.v1.HostCatalog" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.HostCatalogService" - ] - }, - "delete": { - "summary": "Deletes a Host Catalog", - "operationId": "HostCatalogService_DeleteHostCatalog", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteHostCatalogResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -1705,7 +2081,37 @@ } ], "tags": [ - "controller.api.services.v1.HostCatalogService" + "Host catalog service" + ] + }, + "delete": { + "summary": "Deletes a Host Catalog", + "operationId": "HostCatalogService_DeleteHostCatalog", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteHostCatalogResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Host catalog service" ] }, "patch": { @@ -1717,6 +2123,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostcatalogs.v1.HostCatalog" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1737,7 +2149,7 @@ } ], "tags": [ - "controller.api.services.v1.HostCatalogService" + "Host catalog service" ] } }, @@ -1751,6 +2163,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListHostSetsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1763,21 +2181,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -1785,7 +2203,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] }, "post": { @@ -1797,6 +2215,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1810,7 +2234,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] } }, @@ -1824,29 +2248,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.HostSetService" - ] - }, - "delete": { - "summary": "Delete a Host Set.", - "operationId": "HostSetService_DeleteHostSet", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteHostSetResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -1860,7 +2266,37 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" + ] + }, + "delete": { + "summary": "Delete a Host Set.", + "operationId": "HostSetService_DeleteHostSet", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteHostSetResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Host set service" ] }, "patch": { @@ -1872,6 +2308,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1892,7 +2334,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] } }, @@ -1906,6 +2348,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1926,7 +2374,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] } }, @@ -1940,6 +2388,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1960,7 +2414,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] } }, @@ -1974,6 +2428,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hostsets.v1.HostSet" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -1994,7 +2454,7 @@ } ], "tags": [ - "controller.api.services.v1.HostSetService" + "Host set service" ] } }, @@ -2008,6 +2468,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListHostsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2020,21 +2486,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number.", "in": "query", "required": false, "type": "integer", @@ -2042,7 +2508,7 @@ } ], "tags": [ - "controller.api.services.v1.HostService" + "Host service" ] }, "post": { @@ -2054,6 +2520,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hosts.v1.Host" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2067,7 +2539,7 @@ } ], "tags": [ - "controller.api.services.v1.HostService" + "Host service" ] } }, @@ -2081,29 +2553,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hosts.v1.Host" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.HostService" - ] - }, - "delete": { - "summary": "Delete a Host.", - "operationId": "HostService_DeleteHost", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteHostResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -2117,7 +2571,37 @@ } ], "tags": [ - "controller.api.services.v1.HostService" + "Host service" + ] + }, + "delete": { + "summary": "Delete a Host.", + "operationId": "HostService_DeleteHost", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteHostResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Host service" ] }, "patch": { @@ -2129,6 +2613,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.hosts.v1.Host" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2149,7 +2639,7 @@ } ], "tags": [ - "controller.api.services.v1.HostService" + "Host service" ] } }, @@ -2163,6 +2653,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListManagedGroupsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2175,21 +2671,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -2197,7 +2693,7 @@ } ], "tags": [ - "controller.api.services.v1.ManagedGroupService" + "Managed group service" ] }, "post": { @@ -2209,6 +2705,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.managedgroups.v1.ManagedGroup" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2222,7 +2724,7 @@ } ], "tags": [ - "controller.api.services.v1.ManagedGroupService" + "Managed group service" ] } }, @@ -2236,29 +2738,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.managedgroups.v1.ManagedGroup" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.ManagedGroupService" - ] - }, - "delete": { - "summary": "Deletes a ManagedGroup.", - "operationId": "ManagedGroupService_DeleteManagedGroup", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteManagedGroupResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -2272,7 +2756,37 @@ } ], "tags": [ - "controller.api.services.v1.ManagedGroupService" + "Managed group service" + ] + }, + "delete": { + "summary": "Deletes a ManagedGroup.", + "operationId": "ManagedGroupService_DeleteManagedGroup", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteManagedGroupResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Managed group service" ] }, "patch": { @@ -2284,6 +2798,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.managedgroups.v1.ManagedGroup" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2304,7 +2824,7 @@ } ], "tags": [ - "controller.api.services.v1.ManagedGroupService" + "Managed group service" ] } }, @@ -2318,6 +2838,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListPoliciesResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2344,14 +2870,14 @@ }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -2359,7 +2885,7 @@ } ], "tags": [ - "controller.api.services.v1.PolicyService" + "Policy service" ] }, "post": { @@ -2371,6 +2897,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.policies.v1.Policy" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2384,7 +2916,7 @@ } ], "tags": [ - "controller.api.services.v1.PolicyService" + "Policy service" ] } }, @@ -2398,29 +2930,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.policies.v1.Policy" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.PolicyService" - ] - }, - "delete": { - "summary": "Deletes an existing policy.", - "operationId": "PolicyService_DeletePolicy", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeletePolicyResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -2434,7 +2948,37 @@ } ], "tags": [ - "controller.api.services.v1.PolicyService" + "Policy service" + ] + }, + "delete": { + "summary": "Deletes an existing policy.", + "operationId": "PolicyService_DeletePolicy", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeletePolicyResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Policy service" ] }, "patch": { @@ -2446,6 +2990,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.policies.v1.Policy" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2466,7 +3016,7 @@ } ], "tags": [ - "controller.api.services.v1.PolicyService" + "Policy service" ] } }, @@ -2480,6 +3030,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListRolesResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2499,21 +3055,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -2521,7 +3077,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] }, "post": { @@ -2533,6 +3089,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2546,7 +3108,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2560,29 +3122,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.RoleService" - ] - }, - "delete": { - "summary": "Deletes a Role.", - "operationId": "RoleService_DeleteRole", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteRoleResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -2596,7 +3140,37 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" + ] + }, + "delete": { + "summary": "Deletes a Role.", + "operationId": "RoleService_DeleteRole", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteRoleResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Role service" ] }, "patch": { @@ -2608,6 +3182,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2628,7 +3208,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2642,6 +3222,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2662,7 +3248,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2676,6 +3262,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2696,7 +3288,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2710,6 +3302,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2730,7 +3328,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2744,6 +3342,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2764,7 +3368,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2778,6 +3382,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2798,7 +3408,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2812,6 +3422,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2832,7 +3448,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2846,6 +3462,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2866,7 +3488,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2880,6 +3502,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2900,7 +3528,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2914,6 +3542,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.roles.v1.Role" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2934,7 +3568,7 @@ } ], "tags": [ - "controller.api.services.v1.RoleService" + "Role service" ] } }, @@ -2948,6 +3582,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListScopesResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -2967,7 +3607,7 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" @@ -2981,7 +3621,7 @@ }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -2989,7 +3629,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] }, "post": { @@ -3001,6 +3641,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.scopes.v1.Scope" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3028,7 +3674,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3042,29 +3688,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.scopes.v1.Scope" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.ScopeService" - ] - }, - "delete": { - "summary": "Deletes a Scope.", - "operationId": "ScopeService_DeleteScope", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteScopeResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -3078,7 +3706,37 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" + ] + }, + "delete": { + "summary": "Deletes a Scope.", + "operationId": "ScopeService_DeleteScope", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteScopeResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Scope service" ] }, "patch": { @@ -3090,6 +3748,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.scopes.v1.Scope" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3110,7 +3774,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3124,6 +3788,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.scopes.v1.Scope" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3144,7 +3814,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3158,6 +3828,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.scopes.v1.Scope" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3178,7 +3854,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3192,6 +3868,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListKeysResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3204,7 +3886,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3218,6 +3900,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListKeyVersionDestructionJobsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3230,7 +3918,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3244,6 +3932,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.DestroyKeyVersionResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3257,7 +3951,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3271,6 +3965,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.RotateKeysResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3284,7 +3984,7 @@ } ], "tags": [ - "controller.api.services.v1.ScopeService" + "Scope service" ] } }, @@ -3298,6 +3998,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListSessionRecordingsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3317,14 +4023,14 @@ }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -3332,7 +4038,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionRecordingService" + "Session recording service" ] } }, @@ -3346,6 +4052,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.SessionRecording" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3358,7 +4070,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionRecordingService" + "Session recording service" ] }, "delete": { @@ -3370,6 +4082,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.DeleteSessionRecordingResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3382,7 +4100,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionRecordingService" + "Session recording service" ] } }, @@ -3399,6 +4117,12 @@ "properties": {}, "title": "Free form byte stream" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3418,7 +4142,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionRecordingService" + "Session recording service" ] } }, @@ -3432,6 +4156,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.sessionrecordings.v1.SessionRecording" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3444,7 +4174,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionRecordingService" + "Session recording service" ] } }, @@ -3458,6 +4188,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListSessionsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3477,7 +4213,7 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" @@ -3491,14 +4227,14 @@ }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -3506,7 +4242,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionService" + "Session service" ] } }, @@ -3520,6 +4256,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.sessions.v1.Session" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3532,7 +4274,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionService" + "Session service" ] } }, @@ -3546,6 +4288,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.sessions.v1.Session" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3566,7 +4314,7 @@ } ], "tags": [ - "controller.api.services.v1.SessionService" + "Session service" ] } }, @@ -3580,6 +4328,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListStorageBucketsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3599,21 +4353,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the max page size configured,\nthe page size will be truncated to this number.", + "description": "The maximum size of a page in this iteration.\nIf you do not set a page size, Boundary uses the configured default page size.\nIf the page_size is greater than the default page size configured,\nBoundary truncates the page size to this number.", "in": "query", "required": false, "type": "integer", @@ -3621,7 +4375,7 @@ } ], "tags": [ - "controller.api.services.v1.StorageBucketService" + "Storage bucket service" ] }, "post": { @@ -3633,6 +4387,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.storagebuckets.v1.StorageBucket" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3653,7 +4413,7 @@ } ], "tags": [ - "controller.api.services.v1.StorageBucketService" + "Storage bucket service" ] } }, @@ -3667,29 +4427,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.storagebuckets.v1.StorageBucket" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.StorageBucketService" - ] - }, - "delete": { - "summary": "Deletes a Storage Bucket", - "operationId": "StorageBucketService_DeleteStorageBucket", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteStorageBucketResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -3703,7 +4445,37 @@ } ], "tags": [ - "controller.api.services.v1.StorageBucketService" + "Storage bucket service" + ] + }, + "delete": { + "summary": "Deletes a Storage Bucket", + "operationId": "StorageBucketService_DeleteStorageBucket", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteStorageBucketResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Storage bucket service" ] }, "patch": { @@ -3715,6 +4487,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.storagebuckets.v1.StorageBucket" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3735,7 +4513,7 @@ } ], "tags": [ - "controller.api.services.v1.StorageBucketService" + "Storage bucket service" ] } }, @@ -3749,6 +4527,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListTargetsResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3768,21 +4552,21 @@ }, { "name": "filter", - "description": "", + "description": "You can specify that the filter should only return items that match.\nRefer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information.", "in": "query", "required": false, "type": "string" }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -3790,7 +4574,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] }, "post": { @@ -3802,6 +4586,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3815,7 +4605,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -3829,29 +4619,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.TargetService" - ] - }, - "delete": { - "summary": "Deletes a Target.", - "operationId": "TargetService_DeleteTarget", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteTargetResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -3865,7 +4637,37 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" + ] + }, + "delete": { + "summary": "Deletes a Target.", + "operationId": "TargetService_DeleteTarget", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteTargetResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Target service" ] }, "patch": { @@ -3877,6 +4679,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3897,7 +4705,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -3911,6 +4719,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3931,7 +4745,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -3945,6 +4759,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -3965,7 +4785,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -3979,6 +4799,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.SessionAuthorization" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4000,7 +4826,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -4014,6 +4840,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4034,7 +4866,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -4048,6 +4880,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4068,7 +4906,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -4082,6 +4920,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4102,7 +4946,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -4116,6 +4960,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.targets.v1.Target" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4136,7 +4986,7 @@ } ], "tags": [ - "controller.api.services.v1.TargetService" + "Target service" ] } }, @@ -4150,6 +5000,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListUsersResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4176,14 +5032,14 @@ }, { "name": "list_token", - "description": "An opaque token used to continue an existing iteration or\nrequest updated items. If not specified, pagination\nwill start from the beginning.", + "description": "An opaque token that Boundary uses to continue an existing iteration or\nrequest updated items. If you do not specify a token, pagination\nstarts from the beginning. To learn more about list pagination\nin Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination).", "in": "query", "required": false, "type": "string" }, { "name": "page_size", - "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nan error will be returned.", + "description": "The maximum size of a page in this iteration.\nIf unset, the default page size configured will be used.\nIf the page_size is greater than the default page configured,\nthe page size will be truncated to this number..", "in": "query", "required": false, "type": "integer", @@ -4191,7 +5047,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] }, "post": { @@ -4203,6 +5059,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4216,7 +5078,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] } }, @@ -4230,29 +5092,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.UserService" - ] - }, - "delete": { - "summary": "Deletes a User.", - "operationId": "UserService_DeleteUser", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteUserResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -4266,7 +5110,37 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" + ] + }, + "delete": { + "summary": "Deletes a User.", + "operationId": "UserService_DeleteUser", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteUserResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "User service" ] }, "patch": { @@ -4278,6 +5152,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4298,7 +5178,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] } }, @@ -4312,6 +5192,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4332,7 +5218,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] } }, @@ -4346,6 +5232,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4366,7 +5258,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] } }, @@ -4380,6 +5272,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.users.v1.User" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4400,7 +5298,7 @@ } ], "tags": [ - "controller.api.services.v1.UserService" + "User service" ] } }, @@ -4414,6 +5312,12 @@ "schema": { "$ref": "#/definitions/controller.api.services.v1.ListWorkersResponse" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4440,7 +5344,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4454,29 +5358,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } - } - }, - "parameters": [ - { - "name": "id", - "description": "", - "in": "path", - "required": true, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.WorkerService" - ] - }, - "delete": { - "summary": "Deletes a Worker.", - "operationId": "WorkerService_DeleteWorker", - "responses": { - "200": { - "description": "A successful response.", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.services.v1.DeleteWorkerResponse" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -4490,7 +5376,37 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" + ] + }, + "delete": { + "summary": "Deletes a Worker.", + "operationId": "WorkerService_DeleteWorker", + "responses": { + "200": { + "description": "A successful response.", + "schema": { + "$ref": "#/definitions/controller.api.services.v1.DeleteWorkerResponse" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "id", + "description": "", + "in": "path", + "required": true, + "type": "string" + } + ], + "tags": [ + "Worker service" ] }, "patch": { @@ -4502,6 +5418,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4522,7 +5444,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4536,6 +5458,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4556,7 +5484,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4570,6 +5498,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4590,7 +5524,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4604,6 +5538,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4624,7 +5564,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4638,6 +5578,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4651,7 +5597,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4665,6 +5611,12 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.Worker" } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } } }, "parameters": [ @@ -4678,7 +5630,7 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" ] } }, @@ -4692,31 +5644,11 @@ "schema": { "$ref": "#/definitions/controller.api.resources.workers.v1.CertificateAuthority" } - } - }, - "parameters": [ - { - "name": "scope_id", - "description": "", - "in": "query", - "required": false, - "type": "string" - } - ], - "tags": [ - "controller.api.services.v1.WorkerService" - ] - } - }, - "/v1/workers:reinitialize-certificate-authority": { - "post": { - "summary": "Reinitializes root certificates used for worker authentication.", - "operationId": "WorkerService_ReinitializeCertificateAuthority", - "responses": { - "200": { - "description": "", + }, + "default": { + "description": "Returned when there is an error processing the request.", "schema": { - "$ref": "#/definitions/controller.api.resources.workers.v1.CertificateAuthority" + "$ref": "#/definitions/controller.api.v1.Error" } } }, @@ -4730,7 +5662,39 @@ } ], "tags": [ - "controller.api.services.v1.WorkerService" + "Worker service" + ] + } + }, + "/v1/workers:reinitialize-certificate-authority": { + "post": { + "summary": "Reinitializes root certificates used for worker authentication.", + "operationId": "WorkerService_ReinitializeCertificateAuthority", + "responses": { + "200": { + "description": "", + "schema": { + "$ref": "#/definitions/controller.api.resources.workers.v1.CertificateAuthority" + } + }, + "default": { + "description": "Returned when there is an error processing the request.", + "schema": { + "$ref": "#/definitions/controller.api.v1.Error" + } + } + }, + "parameters": [ + { + "name": "scope_id", + "description": "", + "in": "query", + "required": false, + "type": "string" + } + ], + "tags": [ + "Worker service" ] } } @@ -4741,12 +5705,12 @@ "properties": { "id": { "type": "string", - "description": "Output only. The ID of the Account.", + "description": "The ID of the account.", "readOnly": true }, "scope": { "$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo", - "description": "Output only. Scope information for the Account.", + "description": "Scope information for the account.", "readOnly": true }, "name": { @@ -4760,31 +5724,34 @@ "created_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was created.", + "description": "The time this resource was created.", "readOnly": true }, "updated_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was last updated.", + "description": "The time this resource was last updated.", "readOnly": true }, "version": { "type": "integer", "format": "int64", - "description": "Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.\nThe mutation will fail if the version does not match the latest known good version." + "description": "Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.\nThe mutation fails if the version does not match the latest known good version.\nVersion is not required when you create an account." }, "type": { "type": "string", - "description": "The type of this Account." + "description": "The type of this account. If you do not set an account type, Boundary infers it from the type of the auth method." }, "auth_method_id": { "type": "string", - "description": "The ID of the Auth Method that is associated with this Account." + "description": "The ID of the auth method that is associated with this account." }, "attributes": { "type": "object", - "description": "The attributes that are applicable for the specific Account type." + "example": { + "login_name": "login_name" + }, + "description": "The attributes that are applicable for the specific account type. The schema of this field depends on the type of the auth method that you create the account in.\nFor password auth methods, the parameters are:\n```json\n{\n \"login_name\": \"login_name\",\n \"password\": \"password\"\n}\n```\nFor OIDC auth methods, the parameters are:\n```json\n{\n \"issuer\": \"issuer\",\n \"subject\": \"subject\",\n \"full_name\": \"full_name\",\n \"email\": \"email\",\n \"token_claims\": {},\n \"userinfo_claims\": {}\n}\n```\nFor LDAP auth methods, the parameters are:\n```json\n{\n \"login_name\": \"login_name\",\n \"full_name\": \"full_name\",\n \"email\": \"email\",\n \"dn\": \"dn\",\n \"member_of_groups\": [\"member_of_groups\"]\n}\n```\n" }, "managed_group_ids": { "type": "array", @@ -4792,7 +5759,7 @@ "type": "string" }, "description": "", - "title": "Output only. managed_group_ids indicates IDs of the managed groups that currently contain this account", + "title": "Indicates the IDs of the managed groups that currently contain this account", "readOnly": true }, "authorized_actions": { @@ -4800,27 +5767,27 @@ "items": { "type": "string" }, - "description": "Output only. The available actions on this resource for this user.", + "description": "The available actions on this resource for this user.", "readOnly": true } }, - "title": "Account contains all fields related to an Account resource" + "title": "Account contains all fields related to an account resource" }, "controller.api.resources.aliases.v1.Alias": { "type": "object", "properties": { "id": { "type": "string", - "description": "Output only. The ID of the Alias.", + "description": "The ID of the alias.", "readOnly": true }, "scope_id": { "type": "string", - "description": "The ID of the scope of which this Alias is a part." + "description": "The ID of the scope of which this alias is a part." }, "scope": { "$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo", - "description": "Output only. Scope information for this Alias.", + "description": "Scope information for this alias.", "readOnly": true }, "name": { @@ -4834,27 +5801,27 @@ "created_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was created.", + "description": "The time this resource was created.", "readOnly": true }, "updated_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was last updated.", + "description": "The time this resource was last updated.", "readOnly": true }, "version": { "type": "integer", "format": "int64", - "description": "Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.\nThe mutation will fail if the version does not match the latest known good version." + "description": "Version is used in mutation requests, after the initial creation, to ensure this resource has not changed.\nThe mutation fails if the version does not match the latest known good version.\nVersion is not required when you create an alias." }, "value": { "type": "string", - "description": "Required value of the alias. This is the value referenced by the user that\nis resolved to the destination id." + "description": "Value of the alias. This is the value referenced by the user that\nis resolved to the destination id." }, "destination_id": { "type": "string", - "description": "destination_id is the id of the resource that this Alias points to." + "description": "destination_id is the id of the resource that this alias points to." }, "type": { "type": "string", @@ -4862,18 +5829,23 @@ }, "attributes": { "type": "object", - "description": "The attributes that are applicable for the specific Alias type." + "example": { + "authorize_session_arguments": { + "host_id": "host_id" + } + }, + "description": "The attributes that are applicable for the specific alias type. The schema of this field depends on the type of resource that you create the alias for.\nFor target aliases, the parameters are:\n```json\n{\n \"authorize_session_arguments\": {\"host_id\":\"host_id\"}\n}\n```\n" }, "authorized_actions": { "type": "array", "items": { "type": "string" }, - "description": "Output only. The available actions on this resource for this user.", + "description": "The available actions on this resource for this user.", "readOnly": true } }, - "title": "Alias contains all fields related to an Alias resource" + "title": "Alias contains all fields related to an alias resource" }, "controller.api.resources.authmethods.v1.AuthMethod": { "type": "object", @@ -6022,16 +6994,16 @@ "properties": { "id": { "type": "string", - "description": "Output only. The ID of the Scope.", + "description": "The ID of the scope.", "readOnly": true }, "scope_id": { "type": "string", - "description": "The ID of the Scope this resource is in. If this is the \"global\" Scope this field will be empty." + "description": "The ID of the scope this resource is in. If this is the \"global\" scope this field will be empty." }, "scope": { "$ref": "#/definitions/controller.api.resources.scopes.v1.ScopeInfo", - "description": "Output only. Scope information for this resource.", + "description": "Scope information for this resource.", "readOnly": true }, "name": { @@ -6045,13 +7017,13 @@ "created_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was created.", + "description": "The time this resource was created.", "readOnly": true }, "updated_time": { "type": "string", "format": "date-time", - "description": "Output only. The time this resource was last updated.", + "description": "The time this resource was last updated.", "readOnly": true }, "version": { @@ -6073,7 +7045,7 @@ "items": { "type": "string" }, - "description": "Output only. The available actions on this resource for this user.", + "description": "The available actions on this resource for this user.", "readOnly": true }, "authorized_collection_actions": { @@ -6084,43 +7056,43 @@ "type": "object" } }, - "description": "Output only. The authorized actions for the scope's collections.", + "description": "The authorized actions for the scope's collections.", "readOnly": true }, "storage_policy_id": { "type": "string", - "description": "Output only. The attached storage policy id.", + "description": "The attached storage policy id.", "readOnly": true } }, - "title": "Scope contains all fields related to a Scope resource" + "title": "Scope contains all fields related to a scope resource" }, "controller.api.resources.scopes.v1.ScopeInfo": { "type": "object", "properties": { "id": { "type": "string", - "description": "Output only. The ID of the Scope.", + "description": "The ID of the scope.", "readOnly": true }, "type": { "type": "string", - "description": "Output only. The type of the Scope.", + "description": "The type of the scope.", "readOnly": true }, "name": { "type": "string", - "description": "Output only. The name of the Scope, if any.", + "description": "The name of the scope, if any.", "readOnly": true }, "description": { "type": "string", - "description": "Output only. The description of the Scope, if any.", + "description": "The description of the scope, if any.", "readOnly": true }, "parent_scope_id": { "type": "string", - "description": "Output only. The ID of the parent Scope, if any. This field will be empty if this is the \"global\" scope.", + "description": "The ID of the parent scope, if any. This field is empty if it is the \"global\" scope.", "readOnly": true } } @@ -7583,11 +8555,11 @@ }, "current_password": { "type": "string", - "title": "" + "description": "The current password for the account." }, "new_password": { "type": "string", - "title": "" + "description": "The new password that should be set." } } }, @@ -7601,7 +8573,7 @@ }, "password": { "type": "string", - "title": "" + "description": "The password that should be set." } } }, @@ -7698,7 +8670,7 @@ }, "attributes": { "type": "object", - "description": "Attributes are passed to the Auth Method; the valid keys and values depend on the type of Auth Method as well as the command." + "description": "Attributes are passed to the auth method. The valid keys and values depend on the type of auth method as well as the command." }, "command": { "type": "string", @@ -7729,7 +8701,7 @@ }, "attributes": { "type": "object", - "description": "Valid keys and values depend on the type of Auth Method as well as the command." + "description": "Valid keys and values depend on the type of auth method as well as the command." }, "command": { "type": "string", @@ -8365,7 +9337,8 @@ "items": { "type": "object", "$ref": "#/definitions/controller.api.resources.accounts.v1.Account" - } + }, + "description": "The list of accounts." }, "response_type": { "type": "string", @@ -8405,7 +9378,8 @@ "items": { "type": "object", "$ref": "#/definitions/controller.api.resources.aliases.v1.Alias" - } + }, + "description": "The list of aliases." }, "response_type": { "type": "string", @@ -9992,6 +10966,78 @@ } } }, + "controller.api.v1.Error": { + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "The kind of error this is." + }, + "op": { + "type": "string", + "description": "An string indicating what operation was being run when the error was returned." + }, + "message": { + "type": "string", + "description": "A human-readable explanation specific to this occurrence of the error." + }, + "details": { + "$ref": "#/definitions/controller.api.v1.ErrorDetails", + "description": "Additional metadata regarding the error. Depending on the error, different fields are populated." + } + }, + "description": "Error is returned by the JSON API when an error occurs." + }, + "controller.api.v1.ErrorDetails": { + "type": "object", + "properties": { + "request_fields": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/controller.api.v1.FieldError" + }, + "description": "Request-field-specific error details." + }, + "wrapped_errors": { + "type": "array", + "items": { + "type": "object", + "$ref": "#/definitions/controller.api.v1.WrappedError" + }, + "description": "The errors that were wrapped in the backend for this returned error." + } + }, + "description": "Additional details regarding a specific error." + }, + "controller.api.v1.FieldError": { + "type": "object", + "properties": { + "name": { + "type": "string", + "description": "The name of the field." + }, + "description": { + "type": "string", + "description": "The description of the error." + } + }, + "description": "FieldErrors contains error information on a per field basis." + }, + "controller.api.v1.WrappedError": { + "type": "object", + "properties": { + "op": { + "type": "string", + "description": "A string indicating what operation was being run when the wrapped error occurred." + }, + "message": { + "type": "string", + "description": "The wrapped error message." + } + }, + "description": "Error information relevant to an error that was wrapped by the backend." + }, "google.api.HttpBody": { "type": "object", "properties": { @@ -10034,5 +11080,21 @@ "default": "NULL_VALUE", "description": "`NullValue` is a singleton enumeration to represent the null value for the\n`Value` type union.\n\n The JSON representation for `NullValue` is JSON `null`.\n\n - NULL_VALUE: Null value." } + }, + "securityDefinitions": { + "ApiKeyAuth": { + "type": "apiKey", + "name": "Authorization", + "in": "header" + } + }, + "security": [ + { + "ApiKeyAuth": [] + } + ], + "externalDocs": { + "description": "Boundary documentation", + "url": "https://developer.hashicorp.com/boundary/docs" } } diff --git a/internal/gen/controller/api/error.pb.go b/internal/gen/controller/api/error.pb.go index b8121409d..108a389df 100644 --- a/internal/gen/controller/api/error.pb.go +++ b/internal/gen/controller/api/error.pb.go @@ -29,8 +29,9 @@ type WrappedError struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // An string indicating what operation was being run when the wrapped error was created. - Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` + // A string indicating what operation was being run when the wrapped error occurred. + Op string `protobuf:"bytes,1,opt,name=op,proto3" json:"op,omitempty"` + // The wrapped error message. Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"` } @@ -208,7 +209,7 @@ type Error struct { Op string `protobuf:"bytes,2,opt,name=op,proto3" json:"op,omitempty"` // A human-readable explanation specific to this occurrence of the error. Message string `protobuf:"bytes,3,opt,name=message,proto3" json:"message,omitempty"` - // Additional metadata regarding the error. Depending on the error, different fields will be populated. + // Additional metadata regarding the error. Depending on the error, different fields are populated. Details *ErrorDetails `protobuf:"bytes,4,opt,name=details,proto3" json:"details,omitempty"` } diff --git a/internal/gen/controller/api/services/account_service.pb.go b/internal/gen/controller/api/services/account_service.pb.go index 2d7ca5779..f0944b92b 100644 --- a/internal/gen/controller/api/services/account_service.pb.go +++ b/internal/gen/controller/api/services/account_service.pb.go @@ -33,6 +33,7 @@ type GetAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the account that should be retrieved. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -127,16 +128,20 @@ type ListAccountsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the auth method whose accounts should be listed. AuthMethodId string `protobuf:"bytes,1,opt,name=auth_method_id,proto3" json:"auth_method_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -205,6 +210,7 @@ type ListAccountsResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of accounts. Items []*accounts.Account `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // The type of response, either "delta" or "complete". // Delta signifies that this is part of a paginated result @@ -416,7 +422,9 @@ type UpdateAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // The ID of the account that should be updated. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // A subset of the account that contains the fields to update. Item *accounts.Account `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,proto3" json:"update_mask,omitempty"` } @@ -526,6 +534,7 @@ type DeleteAccountRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the account to delete. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -611,10 +620,12 @@ type SetPasswordRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the account for which the password should be set. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Version is used to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. - Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` + // The password that should be set. Password string `protobuf:"bytes,3,opt,name=password,proto3" json:"password,omitempty" class:"secret"` // @gotags: `class:"secret"` } @@ -723,12 +734,15 @@ type ChangePasswordRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the account for which the password should be changed. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Version is used to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. - Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` + Version uint32 `protobuf:"varint,2,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` + // The current password for the account. CurrentPassword string `protobuf:"bytes,3,opt,name=current_password,proto3" json:"current_password,omitempty" class:"secret"` // @gotags: `class:"secret"` - NewPassword string `protobuf:"bytes,4,opt,name=new_password,proto3" json:"new_password,omitempty" class:"secret"` // @gotags: `class:"secret"` + // The new password that should be set. + NewPassword string `protobuf:"bytes,4,opt,name=new_password,proto3" json:"new_password,omitempty" class:"secret"` // @gotags: `class:"secret"` } func (x *ChangePasswordRequest) Reset() { @@ -953,99 +967,119 @@ var file_controller_api_services_v1_account_service_proto_rawDesc = []byte{ 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, - 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xd9, 0x0a, + 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x9d, 0x0d, 0x0a, 0x0e, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x12, 0xa7, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x12, 0xbc, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3a, - 0x92, 0x41, 0x18, 0x12, 0x16, 0x47, 0x65, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, - 0x6c, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, - 0x19, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb9, 0x01, 0x0a, 0x0c, 0x4c, - 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0x2f, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x30, 0x2e, 0x63, - 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, - 0x92, 0x41, 0x2f, 0x12, 0x2d, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, 0x61, 0x6c, 0x6c, 0x20, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x73, 0x70, 0x65, - 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5a, 0x92, - 0x41, 0x37, 0x12, 0x35, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, - 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x20, - 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x41, 0x75, 0x74, - 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x3a, - 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x0c, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xb3, 0x01, 0x0a, 0x0d, 0x55, 0x70, - 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, - 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x22, 0x3d, 0x92, 0x41, 0x15, 0x12, 0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, - 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, - 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x11, 0x2f, 0x76, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x4f, + 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x47, 0x65, 0x74, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, + 0x6c, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x20, 0x49, 0x44, + 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, - 0xa7, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, - 0x74, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, - 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, - 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0xb9, 0x01, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x12, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, + 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, + 0x74, 0x1a, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, + 0x69, 0x73, 0x74, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, + 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x2f, 0x12, 0x2d, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, + 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x61, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x0e, 0x12, 0x0c, 0x2f, + 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xd0, 0x01, 0x0a, 0x0d, + 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, + 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, + 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, + 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, + 0x73, 0x65, 0x22, 0x5a, 0x92, 0x41, 0x37, 0x12, 0x35, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, + 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x64, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, + 0xe4, 0x93, 0x02, 0x1a, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x22, 0x0c, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x12, 0xb3, + 0x01, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, + 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x3d, 0x92, 0x41, 0x15, 0x12, 0x13, 0x55, 0x70, 0x64, 0x61, + 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, + 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, + 0x6d, 0x32, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, + 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xa7, 0x01, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x92, 0x41, 0x15, + 0x12, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xcf, + 0x01, 0x0a, 0x0b, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2e, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, + 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, + 0x5f, 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x53, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, + 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, + 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, + 0x69, 0x64, 0x7d, 0x3a, 0x73, 0x65, 0x74, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, + 0x12, 0xdb, 0x01, 0x0a, 0x0e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, + 0x6f, 0x72, 0x64, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x31, 0x92, 0x41, 0x15, 0x12, 0x13, 0x44, 0x65, 0x6c, - 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, - 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xcf, 0x01, 0x0a, 0x0b, 0x53, 0x65, - 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, - 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x92, 0x41, 0x2d, 0x12, + 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, + 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x53, 0x65, 0x74, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, - 0x64, 0x65, 0x64, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, - 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x1e, 0x2f, 0x76, 0x31, - 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x73, - 0x65, 0x74, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0xdb, 0x01, 0x0a, 0x0e, - 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x31, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x68, 0x61, 0x6e, - 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, - 0x74, 0x1a, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, - 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, - 0x68, 0x61, 0x6e, 0x67, 0x65, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x62, 0x92, 0x41, 0x2d, 0x12, 0x2b, 0x53, 0x65, 0x74, 0x73, - 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x66, 0x6f, - 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x41, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2c, 0x3a, 0x01, 0x2a, - 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x21, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x68, 0x61, 0x6e, 0x67, 0x65, - 0x2d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x61, - 0x75, 0x74, 0x68, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x64, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, + 0x02, 0x2c, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x21, 0x2f, 0x76, 0x31, + 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x63, + 0x68, 0x61, 0x6e, 0x67, 0x65, 0x2d, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x1a, 0xac, + 0x02, 0x92, 0x41, 0xa8, 0x02, 0x0a, 0x0f, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x91, 0x01, 0x54, 0x68, 0x65, 0x20, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x65, 0x78, 0x70, + 0x6f, 0x73, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x6e, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x61, 0x72, 0x65, 0x20, 0x61, 0x73, 0x73, 0x6f, 0x63, 0x69, 0x61, 0x74, 0x65, 0x64, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x1a, 0x80, 0x01, 0x0a, 0x30, 0x52, + 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x4c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, + 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x42, 0x55, 0xa2, + 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/account_service_grpc.pb.go b/internal/gen/controller/api/services/account_service_grpc.pb.go index f5e2c3d50..dcf654e8b 100644 --- a/internal/gen/controller/api/services/account_service_grpc.pb.go +++ b/internal/gen/controller/api/services/account_service_grpc.pb.go @@ -35,39 +35,39 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type AccountServiceClient interface { - // GetAccount returns a stored Account if present. The provided request must - // include the id for the Account be retrieved. If missing, malformed or - // referencing a non existing Account an error is returned. + // GetAccount returns a stored account if present. The provided request must + // include the id for the account be retrieved. If missing, malformed or + // referencing a non existing account an error is returned. GetAccount(ctx context.Context, in *GetAccountRequest, opts ...grpc.CallOption) (*GetAccountResponse, error) - // ListAccounts returns a list of stored Accounts which exist inside the - // provided Auth Method. The request must include the Auth Method id which - // contains the Accounts being listed. If missing or malformed an error + // ListAccounts returns a list of stored accounts which exist inside the + // provided auth method. The request must include the auth method id which + // contains the accounts being listed. If missing or malformed, an error // is returned. ListAccounts(ctx context.Context, in *ListAccountsRequest, opts ...grpc.CallOption) (*ListAccountsResponse, error) - // CreateAccount creates and stores an Account in boundary. The provided - // request must include the Auth Method ID in which the Account will be - // created. If the Auth Method ID is missing, malformed, or references a non + // CreateAccount creates and stores an account in boundary. The provided + // request must include the auth method ID in which the account will be + // created. If the auth method ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Account in the same Auth Method an + // provided that is in use in another account in the same auth method an // error is returned. CreateAccount(ctx context.Context, in *CreateAccountRequest, opts ...grpc.CallOption) (*CreateAccountResponse, error) - // UpdateAccount updates an existing Account in boundary. The provided Account + // UpdateAccount updates an existing account in boundary. The provided account // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Account. An error is returned if the Account id is missing or references a + // account. An error is returned if the account id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the - // containing Auth Method. + // containing auth method. UpdateAccount(ctx context.Context, in *UpdateAccountRequest, opts ...grpc.CallOption) (*UpdateAccountResponse, error) - // DeleteAccount removes an Account from Boundary. If the provided Account Id + // DeleteAccount removes an account from Boundary. If the provided account Id // is malformed or not provided an error is returned. DeleteAccount(ctx context.Context, in *DeleteAccountRequest, opts ...grpc.CallOption) (*DeleteAccountResponse, error) - // SetPassword sets the Account's password to the one provided in the + // SetPassword sets the account's password to the one provided in the // request. This method is intended for administration purpose and as such // does not require the old password. SetPassword(ctx context.Context, in *SetPasswordRequest, opts ...grpc.CallOption) (*SetPasswordResponse, error) - // ChangePassword changes the Account's password to the one provided in the + // ChangePassword changes the account's password to the one provided in the // request. This method is intended for end users and requires the existing // password to be provided for authentication purposes. ChangePassword(ctx context.Context, in *ChangePasswordRequest, opts ...grpc.CallOption) (*ChangePasswordResponse, error) @@ -148,39 +148,39 @@ func (c *accountServiceClient) ChangePassword(ctx context.Context, in *ChangePas // All implementations must embed UnimplementedAccountServiceServer // for forward compatibility type AccountServiceServer interface { - // GetAccount returns a stored Account if present. The provided request must - // include the id for the Account be retrieved. If missing, malformed or - // referencing a non existing Account an error is returned. + // GetAccount returns a stored account if present. The provided request must + // include the id for the account be retrieved. If missing, malformed or + // referencing a non existing account an error is returned. GetAccount(context.Context, *GetAccountRequest) (*GetAccountResponse, error) - // ListAccounts returns a list of stored Accounts which exist inside the - // provided Auth Method. The request must include the Auth Method id which - // contains the Accounts being listed. If missing or malformed an error + // ListAccounts returns a list of stored accounts which exist inside the + // provided auth method. The request must include the auth method id which + // contains the accounts being listed. If missing or malformed, an error // is returned. ListAccounts(context.Context, *ListAccountsRequest) (*ListAccountsResponse, error) - // CreateAccount creates and stores an Account in boundary. The provided - // request must include the Auth Method ID in which the Account will be - // created. If the Auth Method ID is missing, malformed, or references a non + // CreateAccount creates and stores an account in boundary. The provided + // request must include the auth method ID in which the account will be + // created. If the auth method ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Account in the same Auth Method an + // provided that is in use in another account in the same auth method an // error is returned. CreateAccount(context.Context, *CreateAccountRequest) (*CreateAccountResponse, error) - // UpdateAccount updates an existing Account in boundary. The provided Account + // UpdateAccount updates an existing account in boundary. The provided account // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Account. An error is returned if the Account id is missing or references a + // account. An error is returned if the account id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the - // containing Auth Method. + // containing auth method. UpdateAccount(context.Context, *UpdateAccountRequest) (*UpdateAccountResponse, error) - // DeleteAccount removes an Account from Boundary. If the provided Account Id + // DeleteAccount removes an account from Boundary. If the provided account Id // is malformed or not provided an error is returned. DeleteAccount(context.Context, *DeleteAccountRequest) (*DeleteAccountResponse, error) - // SetPassword sets the Account's password to the one provided in the + // SetPassword sets the account's password to the one provided in the // request. This method is intended for administration purpose and as such // does not require the old password. SetPassword(context.Context, *SetPasswordRequest) (*SetPasswordResponse, error) - // ChangePassword changes the Account's password to the one provided in the + // ChangePassword changes the account's password to the one provided in the // request. This method is intended for end users and requires the existing // password to be provided for authentication purposes. ChangePassword(context.Context, *ChangePasswordRequest) (*ChangePasswordResponse, error) diff --git a/internal/gen/controller/api/services/alias_service.pb.go b/internal/gen/controller/api/services/alias_service.pb.go index 5ea5cad22..67e1c8963 100644 --- a/internal/gen/controller/api/services/alias_service.pb.go +++ b/internal/gen/controller/api/services/alias_service.pb.go @@ -33,6 +33,7 @@ type GetAliasRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the alias to retrieve. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -127,17 +128,22 @@ type ListAliasesRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // The ID of the scope in which to list aliases + ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // Whether to recursively list aliases in the provided scope's child scopes. + Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -213,6 +219,7 @@ type ListAliasesResponse struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The list of aliases. Items []*aliases.Alias `protobuf:"bytes,1,rep,name=items,proto3" json:"items,omitempty"` // The type of response, either "delta" or "complete". // Delta signifies that this is part of a paginated result @@ -424,7 +431,9 @@ type UpdateAliasRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // The ID of the alias to update. + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // A subset of the alias that contains the fields to update. Item *aliases.Alias `protobuf:"bytes,2,opt,name=item,proto3" json:"item,omitempty"` UpdateMask *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,proto3" json:"update_mask,omitempty"` } @@ -534,6 +543,7 @@ type DeleteAliasRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The ID of the alias to delete. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -702,7 +712,7 @@ var file_controller_api_services_v1_alias_service_proto_rawDesc = []byte{ 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, - 0xf2, 0x06, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0xc1, 0x09, 0x0a, 0x0c, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9e, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x6c, @@ -757,13 +767,34 @@ var file_controller_api_services_v1_alias_service_proto_rawDesc = []byte{ 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2e, 0x92, 0x41, 0x13, 0x12, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x2a, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x2f, - 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xcc, 0x02, 0x92, 0x41, 0xc8, 0x02, 0x0a, 0x0d, 0x41, 0x6c, 0x69, + 0x61, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb6, 0x02, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x65, + 0x78, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6e, 0x67, + 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x20, 0x69, 0x6e, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x6c, + 0x69, 0x61, 0x73, 0x20, 0x61, 0x63, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, + 0x66, 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x61, 0x6c, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x74, 0x65, 0x20, 0x49, 0x44, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, + 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x65, 0x6e, 0x74, 0x69, 0x74, + 0x79, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, 0x6d, 0x2e, 0x20, 0x49, 0x74, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x20, 0x77, 0x61, 0x79, 0x20, 0x74, + 0x6f, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x69, 0x66, 0x79, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x20, 0x62, 0x79, 0x20, 0x6f, 0x66, 0x66, + 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, + 0x72, 0x2d, 0x66, 0x72, 0x69, 0x65, 0x6e, 0x64, 0x6c, 0x79, 0x20, 0x6f, 0x72, 0x20, 0x64, 0x65, + 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x76, 0x65, 0x20, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x66, 0x69, 0x65, 0x72, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6e, 0x74, 0x69, + 0x74, 0x79, 0x2e, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, + 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, + 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/alias_service_grpc.pb.go b/internal/gen/controller/api/services/alias_service_grpc.pb.go index 0e90d0f67..ca67c6f84 100644 --- a/internal/gen/controller/api/services/alias_service_grpc.pb.go +++ b/internal/gen/controller/api/services/alias_service_grpc.pb.go @@ -33,32 +33,32 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type AliasServiceClient interface { - // GetAlias returns a stored Alias if present. The provided request must - // include the id for the Alias be retrieved. If missing, malformed or - // referencing a non existing Alias an error is returned. + // GetAlias returns a stored alias if present. The provided request must + // include the id for the alias be retrieved. If missing, malformed or + // referencing a non existing alias an error is returned. GetAlias(ctx context.Context, in *GetAliasRequest, opts ...grpc.CallOption) (*GetAliasResponse, error) - // ListAliases returns a list of stored Aliases which exist inside the + // ListAliases returns a list of stored aliases which exist inside the // provided Scope. The request must include the Scope id which - // contains the Aliases being listed. If missing or malformed an error + // contains the aliases being listed. If missing or malformed, an error // is returned. ListAliases(ctx context.Context, in *ListAliasesRequest, opts ...grpc.CallOption) (*ListAliasesResponse, error) - // CreateAlias creates and stores an Alias in boundary. The provided - // request must include the Scope ID in which the Alias will be + // CreateAlias creates and stores an alias in boundary. The provided + // request must include the Scope ID in which the alias will be // created. If the Scope ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Alias in the same Scope an + // provided that is in use in another alias in the same Scope an // error is returned. CreateAlias(ctx context.Context, in *CreateAliasRequest, opts ...grpc.CallOption) (*CreateAliasResponse, error) - // UpdateAlias updates an existing Alias in boundary. The provided Alias + // UpdateAlias updates an existing alias in boundary. The provided alias // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Alias. An error is returned if the Alias id is missing or references a + // alias. An error is returned if the alias id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the // containing Scope. UpdateAlias(ctx context.Context, in *UpdateAliasRequest, opts ...grpc.CallOption) (*UpdateAliasResponse, error) - // DeleteAlias removes an Alias from Boundary. If the provided Alias Id + // DeleteAlias removes an alias from Boundary. If the provided alias Id // is malformed or not provided an error is returned. DeleteAlias(ctx context.Context, in *DeleteAliasRequest, opts ...grpc.CallOption) (*DeleteAliasResponse, error) } @@ -120,32 +120,32 @@ func (c *aliasServiceClient) DeleteAlias(ctx context.Context, in *DeleteAliasReq // All implementations must embed UnimplementedAliasServiceServer // for forward compatibility type AliasServiceServer interface { - // GetAlias returns a stored Alias if present. The provided request must - // include the id for the Alias be retrieved. If missing, malformed or - // referencing a non existing Alias an error is returned. + // GetAlias returns a stored alias if present. The provided request must + // include the id for the alias be retrieved. If missing, malformed or + // referencing a non existing alias an error is returned. GetAlias(context.Context, *GetAliasRequest) (*GetAliasResponse, error) - // ListAliases returns a list of stored Aliases which exist inside the + // ListAliases returns a list of stored aliases which exist inside the // provided Scope. The request must include the Scope id which - // contains the Aliases being listed. If missing or malformed an error + // contains the aliases being listed. If missing or malformed, an error // is returned. ListAliases(context.Context, *ListAliasesRequest) (*ListAliasesResponse, error) - // CreateAlias creates and stores an Alias in boundary. The provided - // request must include the Scope ID in which the Alias will be + // CreateAlias creates and stores an alias in boundary. The provided + // request must include the Scope ID in which the alias will be // created. If the Scope ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Alias in the same Scope an + // provided that is in use in another alias in the same Scope an // error is returned. CreateAlias(context.Context, *CreateAliasRequest) (*CreateAliasResponse, error) - // UpdateAlias updates an existing Alias in boundary. The provided Alias + // UpdateAlias updates an existing alias in boundary. The provided alias // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Alias. An error is returned if the Alias id is missing or references a + // alias. An error is returned if the alias id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the // containing Scope. UpdateAlias(context.Context, *UpdateAliasRequest) (*UpdateAliasResponse, error) - // DeleteAlias removes an Alias from Boundary. If the provided Alias Id + // DeleteAlias removes an alias from Boundary. If the provided alias Id // is malformed or not provided an error is returned. DeleteAlias(context.Context, *DeleteAliasRequest) (*DeleteAliasResponse, error) mustEmbedUnimplementedAliasServiceServer() diff --git a/internal/gen/controller/api/services/auth_method_service.pb.go b/internal/gen/controller/api/services/auth_method_service.pb.go index bb27681c4..b05a4702c 100644 --- a/internal/gen/controller/api/services/auth_method_service.pb.go +++ b/internal/gen/controller/api/services/auth_method_service.pb.go @@ -36,6 +36,7 @@ type GetAuthMethodRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // Id of the auth method being requested. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -130,17 +131,22 @@ type ListAuthMethodsRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // The scope id in which to list auth methods. + ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // Whether to recursively list auth methods in the provided scope's child scopes. + Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1004,7 +1010,7 @@ type AuthenticateRequest struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The ID of the Auth Method in the system that should be used for authentication. + // The ID of the auth method in the system that should be used for authentication. AuthMethodId string `protobuf:"bytes,1,opt,name=auth_method_id,proto3" json:"auth_method_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // This can be "cookie" or "token". If not provided, "token" will be used. "cookie" activates a split-cookie method where the token is split partially between http-only and regular cookies in order // to keep it safe from rogue JS in the browser. Deprecated, use "type" instead. @@ -1142,7 +1148,7 @@ type isAuthenticateRequest_Attrs interface { } type AuthenticateRequest_Attributes struct { - // Attributes are passed to the Auth Method; the valid keys and values depend on the type of Auth Method as well as the command. + // Attributes are passed to the auth method. The valid keys and values depend on the type of auth method as well as the command. Attributes *structpb.Struct `protobuf:"bytes,4,opt,name=attributes,proto3,oneof"` } @@ -1292,7 +1298,7 @@ type isAuthenticateResponse_Attrs interface { } type AuthenticateResponse_Attributes struct { - // Valid keys and values depend on the type of Auth Method as well as the command. + // Valid keys and values depend on the type of auth method as well as the command. Attributes *structpb.Struct `protobuf:"bytes,4,opt,name=attributes,proto3,oneof"` } @@ -1599,7 +1605,7 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x4a, 0x04, 0x08, 0x01, 0x10, 0x02, 0x4a, 0x04, 0x08, 0x02, 0x10, 0x03, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x52, 0x0a, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x74, 0x79, 0x70, 0x65, 0x32, 0x95, 0x0b, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, + 0x5f, 0x74, 0x79, 0x70, 0x65, 0x32, 0xd2, 0x0e, 0x0a, 0x11, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb8, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, @@ -1609,7 +1615,7 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x42, 0x92, 0x41, 0x1c, 0x12, 0x1a, 0x47, 0x65, 0x74, 0x73, 0x20, 0x61, 0x20, - 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, + 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x12, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb0, 0x01, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x41, @@ -1621,7 +1627,7 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x34, 0x92, 0x41, 0x19, 0x12, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x73, 0x20, - 0x61, 0x6c, 0x6c, 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, + 0x61, 0x6c, 0x6c, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x12, 0x12, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0xc5, 0x01, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x12, 0x33, @@ -1633,7 +1639,7 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x46, 0x92, 0x41, 0x1f, 0x12, 0x1d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x73, 0x69, 0x6e, 0x67, 0x6c, 0x65, - 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, + 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1e, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x10, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x12, 0xc4, 0x01, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, @@ -1645,7 +1651,7 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x45, 0x92, 0x41, 0x19, 0x12, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x73, 0x20, - 0x61, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, + 0x61, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x15, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x12, 0xb6, 0x01, 0x0a, 0x10, 0x44, 0x65, 0x6c, @@ -1688,13 +1694,41 @@ var file_controller_api_services_v1_auth_method_service_proto_rawDesc = []byte{ 0x6b, 0x65, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x33, 0x3a, 0x01, 0x2a, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2f, 0x7b, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x7d, - 0x3a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x42, 0x55, 0xa2, - 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x3a, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x1a, 0xba, 0x03, + 0x92, 0x41, 0xb6, 0x03, 0x0a, 0x13, 0x41, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x93, 0x02, 0x54, 0x68, 0x65, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x65, 0x78, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, + 0x63, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, + 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, + 0x74, 0x69, 0x63, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x6d, 0x73, 0x65, 0x6c, 0x76, 0x65, + 0x73, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, + 0x74, 0x65, 0x6d, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x61, 0x63, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, + 0x61, 0x20, 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x76, 0x61, + 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x72, + 0x73, 0x20, 0x6f, 0x72, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x6d, 0x65, 0x63, 0x68, 0x61, 0x6e, 0x69, 0x73, 0x6d, 0x73, 0x2e, 0x1a, + 0x88, 0x01, 0x0a, 0x34, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x61, + 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, + 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x50, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, + 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x61, 0x75, + 0x74, 0x68, 0x2d, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, + 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/auth_method_service_grpc.pb.go b/internal/gen/controller/api/services/auth_method_service_grpc.pb.go index 11f2845c3..63cb2203a 100644 --- a/internal/gen/controller/api/services/auth_method_service_grpc.pb.go +++ b/internal/gen/controller/api/services/auth_method_service_grpc.pb.go @@ -35,33 +35,33 @@ const ( // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type AuthMethodServiceClient interface { - // GetAuthMethod returns a stored Auth Method if present. The provided request - // must include the Auth Method id. If missing, malformed or referencing a + // GetAuthMethod returns a stored auth method if present. The provided request + // must include the auth method id. If missing, malformed or referencing a // non existing resource an error is returned. GetAuthMethod(ctx context.Context, in *GetAuthMethodRequest, opts ...grpc.CallOption) (*GetAuthMethodResponse, error) - // ListAuthMethods returns a list of stored Auth Methods which are in the + // ListAuthMethods returns a list of stored auth methods which are in the // provided scope. The request must include the scope id and if missing, // malformed, or referencing a non existing scope, an error is returned. ListAuthMethods(ctx context.Context, in *ListAuthMethodsRequest, opts ...grpc.CallOption) (*ListAuthMethodsResponse, error) - // CreateAuthMethod creates and stores an Auth Method in boundary. The - // provided request must include the scope in which the Auth Method will be + // CreateAuthMethod creates and stores an auth method in Boundary. The + // provided request must include the scope in which the auth method will be // created. If the scope id is missing, malformed or referencing a // non existing resource an error is returned. If a name is provided that is - // in use in another Auth Method in the same scope, an error is returned. + // in use in another auth method in the same scope, an error is returned. CreateAuthMethod(ctx context.Context, in *CreateAuthMethodRequest, opts ...grpc.CallOption) (*CreateAuthMethodResponse, error) - // UpdateAuthMethod updates an existing Auth Method in boundary. The provided - // Auth Method must not have any read only fields set. The update mask must be + // UpdateAuthMethod updates an existing auth method in Boundary. The provided + // auth method must not have any read only fields set. The update mask must be // included in the request and contain at least 1 mutable field. To unset // a field's value, include the field in the update mask and don't set it - // in the provided user. An error is returned if the Auth Method id is missing + // in the provided user. An error is returned if the auth method id is missing // or reference a non existing resource. An error is also returned if the // request attempts to update the name to one that is already in use by - // another Auth Method in the parent scope. + // another auth method in the parent scope. UpdateAuthMethod(ctx context.Context, in *UpdateAuthMethodRequest, opts ...grpc.CallOption) (*UpdateAuthMethodResponse, error) - // DeleteAuthMethod removes an Auth Method from Boundary. If the Auth Method id + // DeleteAuthMethod removes an auth method from Boundary. If the auth method id // is malformed or not provided an error is returned. DeleteAuthMethod(ctx context.Context, in *DeleteAuthMethodRequest, opts ...grpc.CallOption) (*DeleteAuthMethodResponse, error) - // ChangeState changes the state of an Auth Method from Boundary. + // ChangeState changes the state of an auth method from Boundary. ChangeState(ctx context.Context, in *ChangeStateRequest, opts ...grpc.CallOption) (*ChangeStateResponse, error) // Authenticate validates credentials provided and returns an Auth Token. Authenticate(ctx context.Context, in *AuthenticateRequest, opts ...grpc.CallOption) (*AuthenticateResponse, error) @@ -142,33 +142,33 @@ func (c *authMethodServiceClient) Authenticate(ctx context.Context, in *Authenti // All implementations must embed UnimplementedAuthMethodServiceServer // for forward compatibility type AuthMethodServiceServer interface { - // GetAuthMethod returns a stored Auth Method if present. The provided request - // must include the Auth Method id. If missing, malformed or referencing a + // GetAuthMethod returns a stored auth method if present. The provided request + // must include the auth method id. If missing, malformed or referencing a // non existing resource an error is returned. GetAuthMethod(context.Context, *GetAuthMethodRequest) (*GetAuthMethodResponse, error) - // ListAuthMethods returns a list of stored Auth Methods which are in the + // ListAuthMethods returns a list of stored auth methods which are in the // provided scope. The request must include the scope id and if missing, // malformed, or referencing a non existing scope, an error is returned. ListAuthMethods(context.Context, *ListAuthMethodsRequest) (*ListAuthMethodsResponse, error) - // CreateAuthMethod creates and stores an Auth Method in boundary. The - // provided request must include the scope in which the Auth Method will be + // CreateAuthMethod creates and stores an auth method in Boundary. The + // provided request must include the scope in which the auth method will be // created. If the scope id is missing, malformed or referencing a // non existing resource an error is returned. If a name is provided that is - // in use in another Auth Method in the same scope, an error is returned. + // in use in another auth method in the same scope, an error is returned. CreateAuthMethod(context.Context, *CreateAuthMethodRequest) (*CreateAuthMethodResponse, error) - // UpdateAuthMethod updates an existing Auth Method in boundary. The provided - // Auth Method must not have any read only fields set. The update mask must be + // UpdateAuthMethod updates an existing auth method in Boundary. The provided + // auth method must not have any read only fields set. The update mask must be // included in the request and contain at least 1 mutable field. To unset // a field's value, include the field in the update mask and don't set it - // in the provided user. An error is returned if the Auth Method id is missing + // in the provided user. An error is returned if the auth method id is missing // or reference a non existing resource. An error is also returned if the // request attempts to update the name to one that is already in use by - // another Auth Method in the parent scope. + // another auth method in the parent scope. UpdateAuthMethod(context.Context, *UpdateAuthMethodRequest) (*UpdateAuthMethodResponse, error) - // DeleteAuthMethod removes an Auth Method from Boundary. If the Auth Method id + // DeleteAuthMethod removes an auth method from Boundary. If the auth method id // is malformed or not provided an error is returned. DeleteAuthMethod(context.Context, *DeleteAuthMethodRequest) (*DeleteAuthMethodResponse, error) - // ChangeState changes the state of an Auth Method from Boundary. + // ChangeState changes the state of an auth method from Boundary. ChangeState(context.Context, *ChangeStateRequest) (*ChangeStateResponse, error) // Authenticate validates credentials provided and returns an Auth Token. Authenticate(context.Context, *AuthenticateRequest) (*AuthenticateResponse, error) diff --git a/internal/gen/controller/api/services/authtokens_service.pb.go b/internal/gen/controller/api/services/authtokens_service.pb.go index 90e77faef..7eec4f6ec 100644 --- a/internal/gen/controller/api/services/authtokens_service.pb.go +++ b/internal/gen/controller/api/services/authtokens_service.pb.go @@ -127,15 +127,18 @@ type ListAuthTokensRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public"` // @gotags: `class:"public"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -458,7 +461,7 @@ var file_controller_api_services_v1_authtokens_service_proto_rawDesc = []byte{ 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x19, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, - 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xac, 0x04, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x54, + 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xd5, 0x06, 0x0a, 0x10, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb3, 0x01, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x41, 0x75, 0x74, 0x68, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x2f, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, @@ -493,12 +496,31 @@ var file_controller_api_services_v1_authtokens_service_proto_rawDesc = []byte{ 0x18, 0x12, 0x16, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x41, 0x75, 0x74, 0x68, 0x20, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x75, 0x74, 0x68, 0x2d, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x73, - 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, - 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, - 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, - 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xa6, 0x02, 0x92, 0x41, 0xa2, 0x02, 0x0a, 0x12, 0x41, 0x75, + 0x74, 0x68, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0x8b, 0x02, 0x54, 0x68, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x20, 0x74, + 0x6f, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x73, 0x2e, 0x20, 0x41, 0x6e, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x74, 0x65, 0x6d, + 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x20, 0x69, 0x73, 0x73, 0x75, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x75, 0x73, + 0x65, 0x72, 0x20, 0x61, 0x66, 0x74, 0x65, 0x72, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x66, 0x75, 0x6c, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, + 0x6f, 0x6e, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x67, 0x72, 0x61, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x6f, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x27, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, + 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x6c, 0x69, 0x6d, + 0x69, 0x74, 0x65, 0x64, 0x20, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x42, 0x4d, + 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, + 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/billing_service.pb.go b/internal/gen/controller/api/services/billing_service.pb.go index 275773c56..29390ca33 100644 --- a/internal/gen/controller/api/services/billing_service.pb.go +++ b/internal/gen/controller/api/services/billing_service.pb.go @@ -157,8 +157,8 @@ var file_controller_api_services_v1_billing_service_proto_rawDesc = []byte{ 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x63, 0x74, 0x69, - 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xe2, - 0x01, 0x0a, 0x0e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x05, 0x69, 0x74, 0x65, 0x6d, 0x73, 0x32, 0xdb, + 0x02, 0x0a, 0x0e, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xcf, 0x01, 0x0a, 0x12, 0x4d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x41, 0x63, 0x74, 0x69, 0x76, 0x65, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, @@ -172,12 +172,20 @@ var file_controller_api_services_v1_billing_service_proto_rawDesc = []byte{ 0x74, 0x69, 0x76, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x22, 0x12, 0x20, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x3a, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x6c, 0x79, 0x2d, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x2d, 0x75, 0x73, - 0x65, 0x72, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, - 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, - 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x72, 0x73, 0x1a, 0x77, 0x92, 0x41, 0x74, 0x0a, 0x0f, 0x42, 0x69, 0x6c, 0x6c, 0x69, 0x6e, + 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x61, 0x54, 0x68, 0x65, 0x20, 0x62, + 0x69, 0x6c, 0x6c, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x75, 0x73, 0x61, 0x67, + 0x65, 0x20, 0x64, 0x61, 0x74, 0x61, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, + 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x76, 0x65, 0x20, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x61, 0x20, 0x67, 0x69, 0x76, 0x65, 0x6e, 0x20, + 0x74, 0x69, 0x6d, 0x65, 0x20, 0x70, 0x65, 0x72, 0x69, 0x6f, 0x64, 0x2e, 0x42, 0x4d, 0x5a, 0x4b, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/credential_library_service.pb.go b/internal/gen/controller/api/services/credential_library_service.pb.go index c9f10a372..c3ea7ac47 100644 --- a/internal/gen/controller/api/services/credential_library_service.pb.go +++ b/internal/gen/controller/api/services/credential_library_service.pb.go @@ -128,15 +128,18 @@ type ListCredentialLibrariesRequest struct { unknownFields protoimpl.UnknownFields CredentialStoreId string `protobuf:"bytes,1,opt,name=credential_store_id,json=scope_id,proto3" json:"credential_store_id,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -712,7 +715,7 @@ var file_controller_api_services_v1_credential_library_service_proto_rawDesc = [ 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x21, 0x0a, 0x1f, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x72, - 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x85, 0x09, 0x0a, 0x18, + 0x61, 0x72, 0x79, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xa9, 0x0d, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xdc, 0x01, 0x0a, 0x14, 0x47, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, @@ -785,13 +788,47 @@ var file_controller_api_services_v1_credential_library_service_proto_rawDesc = [ 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x4c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1f, 0x2a, 0x1d, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2f, 0x7b, - 0x69, 0x64, 0x7d, 0x42, 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x64, 0x7d, 0x1a, 0xa1, 0x04, 0x92, 0x41, 0x9d, 0x04, 0x0a, 0x1a, 0x43, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe3, 0x02, 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, + 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, 0x72, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x72, 0x65, + 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, + 0x73, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x64, 0x75, 0x72, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, + 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x6f, 0x66, 0x66, 0x65, 0x72, + 0x73, 0x20, 0x61, 0x20, 0x73, 0x65, 0x63, 0x75, 0x72, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, + 0x66, 0x66, 0x69, 0x63, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x61, 0x79, 0x20, 0x74, 0x6f, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x20, 0x72, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x2c, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, + 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x76, 0x61, 0x72, 0x69, 0x6f, 0x75, 0x73, 0x20, 0x74, 0x79, + 0x70, 0x65, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x69, 0x72, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x66, 0x72, 0x61, 0x73, 0x74, + 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x20, + 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x6c, + 0x69, 0x62, 0x72, 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x2e, 0x1a, 0x98, 0x01, 0x0a, + 0x3c, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x72, 0x65, 0x64, + 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x6c, 0x69, 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x58, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x6c, 0x69, + 0x62, 0x72, 0x61, 0x72, 0x69, 0x65, 0x73, 0x42, 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/credential_service.pb.go b/internal/gen/controller/api/services/credential_service.pb.go index aded850a8..0ae259d5b 100644 --- a/internal/gen/controller/api/services/credential_service.pb.go +++ b/internal/gen/controller/api/services/credential_service.pb.go @@ -128,15 +128,18 @@ type ListCredentialsRequest struct { unknownFields protoimpl.UnknownFields CredentialStoreId string `protobuf:"bytes,1,opt,name=credential_store_id,json=scope_id,proto3" json:"credential_store_id,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -701,7 +704,7 @@ var file_controller_api_services_v1_credential_service_proto_rawDesc = []byte{ 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0xbe, 0x07, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, + 0x32, 0xcf, 0x0a, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb6, 0x01, 0x0a, 0x0d, 0x47, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x12, 0x30, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, @@ -761,13 +764,38 @@ var file_controller_api_services_v1_credential_service_proto_rawDesc = []byte{ 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x16, 0x2a, 0x14, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x42, 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, - 0x6c, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x7d, 0x1a, 0x8e, 0x03, 0x92, 0x41, 0x8a, 0x03, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xea, 0x01, 0x41, + 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x69, 0x73, 0x20, 0x61, + 0x20, 0x64, 0x61, 0x74, 0x61, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x75, 0x72, 0x65, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x6f, 0x6e, + 0x65, 0x20, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x65, 0x63, 0x72, 0x65, 0x74, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x62, 0x69, 0x6e, 0x64, 0x20, 0x61, 0x6e, 0x20, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x74, 0x79, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x20, 0x73, 0x65, 0x74, + 0x20, 0x6f, 0x66, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, + 0x6f, 0x72, 0x20, 0x63, 0x61, 0x70, 0x61, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x69, 0x65, 0x73, 0x20, + 0x6f, 0x6e, 0x20, 0x61, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, + 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x1a, 0x86, 0x01, 0x0a, 0x33, 0x52, 0x65, + 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, + 0x69, 0x61, 0x6c, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x4f, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, + 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x42, 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, + 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/credential_store_service.pb.go b/internal/gen/controller/api/services/credential_store_service.pb.go index 11d6d8ae1..0719c15c4 100644 --- a/internal/gen/controller/api/services/credential_store_service.pb.go +++ b/internal/gen/controller/api/services/credential_store_service.pb.go @@ -129,15 +129,18 @@ type ListCredentialStoresRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public"` // @gotags: `class:"public"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -718,7 +721,7 @@ var file_controller_api_services_v1_credential_store_service_proto_rawDesc = []b 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1f, 0x0a, 0x1d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, - 0x6e, 0x73, 0x65, 0x32, 0xc9, 0x08, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x6e, 0x73, 0x65, 0x32, 0xee, 0x0b, 0x0a, 0x16, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xd1, 0x01, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x12, 0x35, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, @@ -786,14 +789,40 @@ var file_controller_api_services_v1_credential_store_service_proto_rawDesc = []b 0x41, 0x1b, 0x12, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x53, 0x74, 0x6f, 0x72, 0x65, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1c, 0x2a, 0x1a, 0x2f, 0x76, 0x31, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, - 0x69, 0x61, 0x6c, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, - 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x5a, - 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, - 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x33, + 0x69, 0x61, 0x6c, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, + 0xa2, 0x03, 0x92, 0x41, 0x9e, 0x03, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, + 0x61, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xec, 0x01, 0x41, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x72, 0x65, 0x74, + 0x72, 0x69, 0x65, 0x76, 0x65, 0x2c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x2c, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x70, 0x6f, 0x74, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x67, 0x65, + 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, 0x69, 0x6e, 0x67, 0x20, + 0x74, 0x79, 0x70, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x64, 0x69, 0x66, 0x66, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x6c, 0x65, 0x76, 0x65, 0x6c, + 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, + 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, + 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x1a, + 0x92, 0x01, 0x0a, 0x39, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x63, + 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x55, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, + 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, + 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x2f, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x2d, 0x73, 0x74, + 0x6f, 0x72, 0x65, 0x73, 0x42, 0x5b, 0xa2, 0xe3, 0x29, 0x0a, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, + 0x74, 0x69, 0x61, 0x6c, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/doc.pb.go b/internal/gen/controller/api/services/doc.pb.go new file mode 100644 index 000000000..7f301c8fb --- /dev/null +++ b/internal/gen/controller/api/services/doc.pb.go @@ -0,0 +1,322 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +// Code generated by protoc-gen-go. DO NOT EDIT. +// versions: +// protoc-gen-go v1.33.0 +// protoc (unknown) +// source: controller/api/services/v1/doc.proto + +package services + +import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" + protoreflect "google.golang.org/protobuf/reflect/protoreflect" + protoimpl "google.golang.org/protobuf/runtime/protoimpl" + reflect "reflect" +) + +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) +) + +var File_controller_api_services_v1_doc_proto protoreflect.FileDescriptor + +var file_controller_api_services_v1_doc_proto_rawDesc = []byte{ + 0x0a, 0x24, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, + 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x64, 0x6f, 0x63, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x1a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, + 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, + 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x42, 0xbb, 0x1f, 0x92, 0x41, 0xea, 0x1e, 0x12, 0xbf, 0x1c, 0x0a, 0x1c, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, + 0x72, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x41, 0x50, 0x49, 0x12, 0xfa, 0x1a, 0x57, 0x65, 0x6c, + 0x63, 0x6f, 0x6d, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, + 0x48, 0x54, 0x54, 0x50, 0x20, 0x41, 0x50, 0x49, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x20, 0x54, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x67, + 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x66, + 0x65, 0x72, 0x65, 0x6e, 0x63, 0x65, 0x20, 0x67, 0x75, 0x69, 0x64, 0x65, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x75, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x20, 0x41, + 0x50, 0x49, 0x2c, 0x20, 0x61, 0x20, 0x4a, 0x53, 0x4f, 0x4e, 0x2d, 0x62, 0x61, 0x73, 0x65, 0x64, + 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x41, 0x50, 0x49, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x41, + 0x50, 0x49, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x63, 0x6f, + 0x6d, 0x6d, 0x6f, 0x6e, 0x6c, 0x79, 0x20, 0x73, 0x65, 0x65, 0x6e, 0x20, 0x48, 0x54, 0x54, 0x50, + 0x20, 0x41, 0x50, 0x49, 0x20, 0x70, 0x61, 0x74, 0x74, 0x65, 0x72, 0x6e, 0x73, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2c, 0x20, + 0x70, 0x61, 0x74, 0x68, 0x73, 0x2c, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, + 0x73, 0x2e, 0x20, 0x53, 0x65, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x5b, 0x41, 0x50, 0x49, 0x20, + 0x6f, 0x76, 0x65, 0x72, 0x76, 0x69, 0x65, 0x77, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, + 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6c, 0x69, 0x65, + 0x6e, 0x74, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x29, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x6f, 0x72, + 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x0a, + 0x42, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x72, 0x65, 0x61, 0x64, 0x20, + 0x74, 0x68, 0x69, 0x73, 0x20, 0x70, 0x61, 0x67, 0x65, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, + 0x20, 0x75, 0x73, 0x65, 0x66, 0x75, 0x6c, 0x20, 0x74, 0x6f, 0x20, 0x75, 0x6e, 0x64, 0x65, 0x72, + 0x73, 0x74, 0x61, 0x6e, 0x64, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x27, 0x73, + 0x20, 0x5b, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x5d, 0x28, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x29, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x62, 0x65, 0x20, 0x61, + 0x77, 0x61, 0x72, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x65, 0x72, 0x6d, + 0x69, 0x6e, 0x6f, 0x6c, 0x6f, 0x67, 0x79, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x68, 0x65, 0x72, + 0x65, 0x2e, 0x20, 0x54, 0x6f, 0x20, 0x67, 0x65, 0x74, 0x20, 0x73, 0x74, 0x61, 0x72, 0x74, 0x65, + 0x64, 0x2c, 0x20, 0x73, 0x65, 0x61, 0x72, 0x63, 0x68, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x77, 0x61, + 0x6e, 0x74, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x61, 0x63, 0x74, 0x20, 0x77, + 0x69, 0x74, 0x68, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x69, 0x64, 0x65, 0x62, + 0x61, 0x72, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x65, 0x66, 0x74, 0x2e, 0x20, + 0x45, 0x61, 0x63, 0x68, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x73, 0x75, 0x63, 0x68, 0x20, + 0x61, 0x73, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, + 0x73, 0x2c, 0x20, 0x68, 0x61, 0x73, 0x20, 0x69, 0x74, 0x73, 0x20, 0x6f, 0x77, 0x6e, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x2e, 0x20, 0x45, 0x61, 0x63, 0x68, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x73, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, + 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x23, 0x23, 0x20, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, + 0x63, 0x6f, 0x64, 0x65, 0x73, 0x0a, 0x2d, 0x20, 0x60, 0x32, 0x58, 0x58, 0x60, 0x3a, 0x20, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, + 0x61, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x60, + 0x32, 0x30, 0x30, 0x60, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x60, 0x32, 0x39, 0x39, 0x60, 0x20, 0x6f, + 0x6e, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x2e, 0x20, 0x47, 0x65, 0x6e, 0x65, 0x72, + 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x69, 0x73, 0x20, 0x60, 0x32, 0x30, + 0x30, 0x60, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x73, 0x68, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, + 0x65, 0x20, 0x70, 0x72, 0x65, 0x70, 0x61, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x70, 0x74, 0x20, 0x61, 0x6e, 0x79, 0x20, 0x60, 0x32, 0x58, 0x58, 0x60, 0x20, 0x73, + 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x20, 0x61, 0x73, 0x20, 0x69, 0x6e, + 0x64, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x63, 0x61, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, + 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x32, 0x58, 0x58, 0x60, 0x20, 0x63, 0x6f, 0x64, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x60, 0x32, 0x30, + 0x30, 0x60, 0x2c, 0x20, 0x69, 0x74, 0x20, 0x66, 0x6f, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x77, + 0x65, 0x6c, 0x6c, 0x2d, 0x75, 0x6e, 0x64, 0x65, 0x72, 0x73, 0x74, 0x6f, 0x6f, 0x64, 0x20, 0x73, + 0x65, 0x6d, 0x61, 0x6e, 0x74, 0x69, 0x63, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x6f, + 0x73, 0x65, 0x20, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x20, 0x63, 0x6f, 0x64, 0x65, 0x73, 0x2e, + 0x0a, 0x2d, 0x20, 0x60, 0x34, 0x30, 0x30, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x60, 0x34, 0x30, 0x30, 0x60, + 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x6d, 0x61, 0x6e, 0x64, 0x20, + 0x63, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x20, 0x62, 0x65, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, + 0x74, 0x65, 0x64, 0x20, 0x64, 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2c, 0x20, 0x65, + 0x78, 0x63, 0x65, 0x70, 0x74, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, 0x70, + 0x65, 0x72, 0x6c, 0x79, 0x2d, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x74, 0x65, 0x64, 0x20, 0x69, + 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, + 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x6d, 0x61, 0x70, 0x20, 0x74, 0x6f, 0x20, 0x61, + 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x2c, 0x20, 0x77, 0x68, 0x69, 0x63, 0x68, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, + 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x34, 0x30, 0x34, 0x60, 0x20, 0x61, 0x73, 0x20, 0x64, 0x69, + 0x73, 0x63, 0x75, 0x73, 0x73, 0x65, 0x64, 0x20, 0x62, 0x65, 0x6c, 0x6f, 0x77, 0x2e, 0x0a, 0x2d, + 0x20, 0x60, 0x34, 0x30, 0x31, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x60, 0x34, 0x30, 0x31, 0x60, 0x20, 0x69, + 0x66, 0x20, 0x6e, 0x6f, 0x20, 0x61, 0x75, 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x69, 0x73, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x6f, 0x72, 0x20, 0x69, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x69, + 0x73, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x2e, 0x20, 0x41, 0x20, 0x76, 0x61, 0x6c, + 0x69, 0x64, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x73, 0x69, + 0x6d, 0x70, 0x6c, 0x79, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x68, 0x61, + 0x76, 0x65, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x66, 0x6f, + 0x72, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x72, 0x65, 0x74, + 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x34, 0x30, 0x33, 0x60, 0x20, 0x69, 0x6e, 0x73, + 0x74, 0x65, 0x61, 0x64, 0x2e, 0x20, 0x41, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x74, 0x68, + 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x6f, 0x72, + 0x20, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x62, 0x75, 0x74, 0x20, 0x77, 0x68, + 0x65, 0x72, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x6f, 0x75, + 0x73, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x28, 0x60, 0x75, 0x5f, 0x61, 0x6e, 0x6f, 0x6e, 0x60, + 0x29, 0x20, 0x69, 0x73, 0x20, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x73, 0x75, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x66, 0x75, 0x6c, 0x6c, 0x79, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, + 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x77, 0x69, + 0x6c, 0x6c, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x61, 0x20, + 0x60, 0x34, 0x30, 0x31, 0x60, 0x20, 0x62, 0x75, 0x74, 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, + 0x64, 0x20, 0x77, 0x69, 0x6c, 0x6c, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x2d, 0x20, 0x60, 0x34, 0x30, 0x33, 0x60, 0x3a, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, + 0x73, 0x20, 0x60, 0x34, 0x30, 0x33, 0x60, 0x20, 0x69, 0x66, 0x20, 0x61, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x20, 0x77, 0x61, 0x73, 0x20, + 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x62, 0x75, 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, + 0x6f, 0x74, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x72, 0x61, 0x6e, + 0x74, 0x73, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x70, + 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, + 0x73, 0x74, 0x65, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x2d, 0x20, 0x60, + 0x34, 0x30, 0x34, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, + 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x60, 0x34, 0x30, 0x34, 0x60, 0x20, 0x69, 0x66, 0x20, + 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x63, 0x61, 0x6e, 0x6e, 0x6f, + 0x74, 0x20, 0x62, 0x65, 0x20, 0x66, 0x6f, 0x75, 0x6e, 0x64, 0x2e, 0x20, 0x4e, 0x6f, 0x74, 0x65, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x68, 0x61, 0x70, 0x70, 0x65, + 0x6e, 0x73, 0x20, 0x5f, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x5f, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x65, 0x6e, 0x74, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x63, 0x68, 0x65, 0x63, 0x6b, + 0x69, 0x6e, 0x67, 0x20, 0x69, 0x6e, 0x20, 0x6e, 0x65, 0x61, 0x72, 0x6c, 0x79, 0x20, 0x61, 0x6c, + 0x6c, 0x20, 0x63, 0x61, 0x73, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, + 0x69, 0x6f, 0x6e, 0x20, 0x28, 0x73, 0x75, 0x63, 0x68, 0x20, 0x61, 0x73, 0x20, 0x69, 0x74, 0x73, + 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x2c, 0x20, 0x61, 0x76, 0x61, 0x69, 0x6c, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2c, 0x20, 0x65, 0x74, 0x63, 0x2e, 0x29, + 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x71, 0x75, 0x69, 0x72, 0x65, 0x64, 0x20, 0x70, + 0x61, 0x72, 0x74, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x68, 0x65, 0x63, + 0x6b, 0x2e, 0x20, 0x41, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x2c, 0x20, + 0x61, 0x6e, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x67, 0x61, 0x69, 0x6e, 0x73, + 0x74, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, + 0x74, 0x20, 0x64, 0x6f, 0x65, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x34, 0x30, 0x34, 0x60, + 0x20, 0x69, 0x6e, 0x73, 0x74, 0x65, 0x61, 0x64, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x20, 0x60, 0x34, + 0x30, 0x31, 0x60, 0x20, 0x6f, 0x72, 0x20, 0x60, 0x34, 0x30, 0x33, 0x60, 0x2e, 0x20, 0x57, 0x68, + 0x69, 0x6c, 0x65, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x63, 0x6f, 0x75, 0x6c, 0x64, 0x20, 0x62, + 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x61, 0x6e, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6c, 0x65, 0x61, 0x6b, + 0x2c, 0x20, 0x73, 0x69, 0x6e, 0x63, 0x65, 0x20, 0x49, 0x44, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x72, 0x61, 0x6e, 0x64, 0x6f, 0x6d, 0x6c, 0x79, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, + 0x65, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x6f, 0x6e, 0x6c, 0x79, + 0x20, 0x64, 0x69, 0x73, 0x63, 0x6c, 0x6f, 0x73, 0x65, 0x73, 0x20, 0x77, 0x68, 0x65, 0x74, 0x68, + 0x65, 0x72, 0x20, 0x61, 0x6e, 0x20, 0x49, 0x44, 0x20, 0x69, 0x73, 0x20, 0x76, 0x61, 0x6c, 0x69, + 0x64, 0x2c, 0x20, 0x69, 0x74, 0x27, 0x73, 0x20, 0x74, 0x6f, 0x6c, 0x65, 0x72, 0x61, 0x62, 0x6c, + 0x65, 0x20, 0x61, 0x73, 0x20, 0x69, 0x74, 0x20, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x66, 0x61, 0x72, 0x20, 0x73, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x72, 0x20, 0x61, + 0x6e, 0x64, 0x20, 0x6d, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x6f, 0x62, 0x75, 0x73, 0x74, 0x20, 0x63, + 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x0a, 0x2d, 0x20, 0x60, 0x34, 0x30, 0x35, 0x60, 0x3a, 0x20, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, + 0x61, 0x20, 0x60, 0x34, 0x30, 0x35, 0x60, 0x20, 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x63, + 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x6d, 0x65, 0x74, + 0x68, 0x6f, 0x64, 0x20, 0x28, 0x48, 0x54, 0x54, 0x50, 0x20, 0x76, 0x65, 0x72, 0x62, 0x20, 0x6f, + 0x72, 0x20, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x29, + 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x69, 0x6d, 0x70, 0x6c, 0x65, 0x6d, 0x65, 0x6e, + 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x67, 0x69, 0x76, 0x65, + 0x6e, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x0a, 0x2d, 0x20, 0x60, 0x34, + 0x32, 0x39, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x34, 0x32, 0x39, 0x60, 0x20, 0x69, 0x66, + 0x20, 0x61, 0x6e, 0x79, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, + 0x72, 0x61, 0x74, 0x65, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x71, 0x75, 0x6f, 0x74, 0x61, + 0x73, 0x20, 0x68, 0x61, 0x76, 0x65, 0x20, 0x62, 0x65, 0x65, 0x6e, 0x20, 0x65, 0x78, 0x68, 0x61, + 0x75, 0x73, 0x74, 0x65, 0x64, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, 0x75, 0x64, 0x65, 0x73, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x60, 0x52, 0x65, 0x74, 0x72, 0x79, 0x2d, 0x41, 0x66, 0x74, 0x65, 0x72, 0x60, + 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x73, 0x6f, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x73, + 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, 0x74, 0x6f, 0x20, 0x77, 0x61, 0x69, + 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x6d, 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, + 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x2d, + 0x20, 0x60, 0x35, 0x30, 0x30, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x20, 0x72, 0x65, 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x60, 0x35, 0x30, 0x30, 0x60, 0x20, 0x69, + 0x66, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x6f, 0x63, 0x63, 0x75, 0x72, + 0x72, 0x65, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, + 0x28, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x6c, 0x79, 0x29, 0x20, 0x74, 0x69, 0x65, 0x64, 0x20, + 0x74, 0x6f, 0x20, 0x69, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, + 0x69, 0x6e, 0x70, 0x75, 0x74, 0x2e, 0x20, 0x49, 0x66, 0x20, 0x61, 0x20, 0x60, 0x35, 0x30, 0x30, + 0x60, 0x20, 0x69, 0x73, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, 0x74, 0x65, 0x64, 0x2c, 0x20, + 0x69, 0x6e, 0x66, 0x6f, 0x72, 0x6d, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x69, 0x73, 0x20, 0x6c, + 0x6f, 0x67, 0x67, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x27, 0x73, 0x20, 0x73, 0x65, 0x72, 0x76, 0x65, 0x72, 0x20, 0x6c, 0x6f, 0x67, 0x20, 0x62, + 0x75, 0x74, 0x20, 0x69, 0x73, 0x20, 0x6e, 0x6f, 0x74, 0x20, 0x67, 0x65, 0x6e, 0x65, 0x72, 0x61, + 0x6c, 0x6c, 0x79, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x2e, 0x0a, 0x2d, 0x20, 0x60, 0x35, + 0x30, 0x33, 0x60, 0x3a, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x72, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x60, 0x35, 0x30, 0x33, 0x60, 0x20, 0x69, 0x66, + 0x20, 0x69, 0x74, 0x20, 0x69, 0x73, 0x20, 0x75, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x74, 0x6f, + 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x61, 0x20, 0x71, 0x75, 0x6f, 0x74, 0x61, 0x20, 0x64, + 0x75, 0x65, 0x20, 0x74, 0x6f, 0x20, 0x74, 0x68, 0x65, 0x20, 0x41, 0x50, 0x49, 0x20, 0x72, 0x61, + 0x74, 0x65, 0x20, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x20, 0x62, 0x65, 0x69, 0x6e, 0x67, 0x20, 0x65, + 0x78, 0x63, 0x65, 0x65, 0x64, 0x65, 0x64, 0x2e, 0x20, 0x49, 0x74, 0x20, 0x69, 0x6e, 0x63, 0x6c, + 0x75, 0x64, 0x65, 0x73, 0x20, 0x74, 0x68, 0x65, 0x20, 0x60, 0x52, 0x65, 0x74, 0x72, 0x79, 0x2d, + 0x41, 0x66, 0x74, 0x65, 0x72, 0x60, 0x20, 0x68, 0x65, 0x61, 0x64, 0x65, 0x72, 0x20, 0x73, 0x6f, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, + 0x20, 0x6b, 0x6e, 0x6f, 0x77, 0x73, 0x20, 0x68, 0x6f, 0x77, 0x20, 0x6c, 0x6f, 0x6e, 0x67, 0x20, + 0x74, 0x6f, 0x20, 0x77, 0x61, 0x69, 0x74, 0x20, 0x62, 0x65, 0x66, 0x6f, 0x72, 0x65, 0x20, 0x6d, + 0x61, 0x6b, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x77, 0x20, 0x72, 0x65, 0x71, 0x75, + 0x65, 0x73, 0x74, 0x2e, 0x0a, 0x23, 0x23, 0x20, 0x4c, 0x69, 0x73, 0x74, 0x20, 0x70, 0x61, 0x67, + 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x0a, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x20, 0x75, 0x73, 0x65, 0x73, 0x20, 0x5b, 0x41, 0x50, 0x49, 0x20, 0x70, 0x61, 0x67, 0x69, 0x6e, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5d, 0x28, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, + 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, + 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x61, 0x70, 0x69, 0x2d, 0x63, 0x6c, 0x69, 0x65, 0x6e, 0x74, 0x73, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x70, 0x61, 0x67, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x29, + 0x20, 0x74, 0x6f, 0x20, 0x73, 0x75, 0x70, 0x70, 0x6f, 0x72, 0x74, 0x20, 0x73, 0x65, 0x61, 0x72, + 0x63, 0x68, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x66, 0x69, 0x6c, 0x74, 0x65, 0x72, + 0x69, 0x6e, 0x67, 0x20, 0x6c, 0x61, 0x72, 0x67, 0x65, 0x20, 0x6c, 0x69, 0x73, 0x74, 0x73, 0x20, + 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74, 0x73, 0x20, 0x65, 0x66, 0x66, 0x69, 0x63, + 0x69, 0x65, 0x6e, 0x74, 0x6c, 0x79, 0x2e, 0x22, 0x35, 0x0a, 0x12, 0x48, 0x61, 0x73, 0x68, 0x69, + 0x43, 0x6f, 0x72, 0x70, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x12, 0x1f, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x70, 0x72, 0x6f, 0x6a, 0x65, 0x63, 0x74, 0x2e, 0x69, 0x6f, 0x2f, 0x2a, 0x56, + 0x0a, 0x1b, 0x42, 0x75, 0x73, 0x69, 0x6e, 0x65, 0x73, 0x73, 0x20, 0x53, 0x6f, 0x75, 0x72, 0x63, + 0x65, 0x20, 0x4c, 0x69, 0x63, 0x65, 0x6e, 0x73, 0x65, 0x20, 0x31, 0x2e, 0x31, 0x12, 0x37, 0x68, + 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x2f, 0x62, 0x6c, 0x6f, 0x62, 0x2f, 0x6d, 0x61, 0x69, 0x6e, 0x2f, 0x4c, + 0x49, 0x43, 0x45, 0x4e, 0x53, 0x45, 0x32, 0x13, 0x70, 0x6c, 0x61, 0x63, 0x65, 0x68, 0x6f, 0x6c, + 0x64, 0x65, 0x72, 0x2d, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x1a, 0x1a, 0x79, 0x6f, 0x75, + 0x72, 0x2d, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2d, 0x68, 0x6f, 0x73, 0x74, 0x6e, + 0x61, 0x6d, 0x65, 0x2e, 0x63, 0x6f, 0x6d, 0x2a, 0x02, 0x02, 0x01, 0x32, 0x10, 0x61, 0x70, 0x70, + 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x3a, 0x10, 0x61, + 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2f, 0x6a, 0x73, 0x6f, 0x6e, 0x52, + 0x62, 0x0a, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x57, 0x0a, 0x37, 0x52, 0x65, + 0x74, 0x75, 0x72, 0x6e, 0x65, 0x64, 0x20, 0x77, 0x68, 0x65, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x72, + 0x65, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x20, 0x70, 0x72, + 0x6f, 0x63, 0x65, 0x73, 0x73, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x72, 0x65, 0x71, + 0x75, 0x65, 0x73, 0x74, 0x2e, 0x12, 0x1c, 0x0a, 0x1a, 0x1a, 0x18, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x72, + 0x72, 0x6f, 0x72, 0x5a, 0x23, 0x0a, 0x21, 0x0a, 0x0a, 0x41, 0x70, 0x69, 0x4b, 0x65, 0x79, 0x41, + 0x75, 0x74, 0x68, 0x12, 0x13, 0x08, 0x02, 0x1a, 0x0d, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x02, 0x62, 0x10, 0x0a, 0x0e, 0x0a, 0x0a, 0x41, 0x70, + 0x69, 0x4b, 0x65, 0x79, 0x41, 0x75, 0x74, 0x68, 0x12, 0x00, 0x72, 0x47, 0x0a, 0x16, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x63, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x61, + 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, + 0x6f, 0x63, 0x73, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, +} + +var file_controller_api_services_v1_doc_proto_goTypes = []interface{}{} +var file_controller_api_services_v1_doc_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_controller_api_services_v1_doc_proto_init() } +func file_controller_api_services_v1_doc_proto_init() { + if File_controller_api_services_v1_doc_proto != nil { + return + } + type x struct{} + out := protoimpl.TypeBuilder{ + File: protoimpl.DescBuilder{ + GoPackagePath: reflect.TypeOf(x{}).PkgPath(), + RawDescriptor: file_controller_api_services_v1_doc_proto_rawDesc, + NumEnums: 0, + NumMessages: 0, + NumExtensions: 0, + NumServices: 0, + }, + GoTypes: file_controller_api_services_v1_doc_proto_goTypes, + DependencyIndexes: file_controller_api_services_v1_doc_proto_depIdxs, + }.Build() + File_controller_api_services_v1_doc_proto = out.File + file_controller_api_services_v1_doc_proto_rawDesc = nil + file_controller_api_services_v1_doc_proto_goTypes = nil + file_controller_api_services_v1_doc_proto_depIdxs = nil +} diff --git a/internal/gen/controller/api/services/group_service.pb.go b/internal/gen/controller/api/services/group_service.pb.go index 06e9bd4fc..444f9710d 100644 --- a/internal/gen/controller/api/services/group_service.pb.go +++ b/internal/gen/controller/api/services/group_service.pb.go @@ -128,15 +128,18 @@ type ListGroupsRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1069,7 +1072,7 @@ var file_controller_api_services_v1_group_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, - 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x8f, 0x0c, 0x0a, 0x0c, 0x47, + 0x72, 0x6f, 0x75, 0x70, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xe8, 0x0e, 0x0a, 0x0c, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9d, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, @@ -1166,13 +1169,34 @@ var file_controller_api_services_v1_group_service_proto_rawDesc = []byte{ 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, - 0x6d, 0x6f, 0x76, 0x65, 0x2d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x42, 0x4d, 0x5a, 0x4b, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, - 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, - 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, - 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x33, + 0x6d, 0x6f, 0x76, 0x65, 0x2d, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x73, 0x1a, 0xd6, 0x02, 0x92, + 0x41, 0xd2, 0x02, 0x0a, 0x0d, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x12, 0xc2, 0x01, 0x41, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x69, 0x73, 0x20, + 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, + 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, + 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x74, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x20, 0x65, 0x71, 0x75, 0x61, 0x6c, 0x6c, 0x79, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, 0x73, 0x20, 0x6f, 0x66, + 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, + 0x6e, 0x67, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x1a, 0x7c, 0x0a, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x20, + 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4a, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, + 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x67, + 0x72, 0x6f, 0x75, 0x70, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, + 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/host_catalog_service.pb.go b/internal/gen/controller/api/services/host_catalog_service.pb.go index 6aec8ef1f..af31b93e4 100644 --- a/internal/gen/controller/api/services/host_catalog_service.pb.go +++ b/internal/gen/controller/api/services/host_catalog_service.pb.go @@ -129,15 +129,18 @@ type ListHostCatalogsRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -723,7 +726,7 @@ var file_controller_api_services_v1_host_catalog_service_proto_rawDesc = []byte{ 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1b, 0x0a, 0x19, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, - 0x32, 0xde, 0x07, 0x0a, 0x12, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, + 0x32, 0xec, 0x0a, 0x0a, 0x12, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbd, 0x01, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x12, 0x31, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, @@ -785,12 +788,37 @@ var file_controller_api_services_v1_host_catalog_service_proto_rawDesc = []byte{ 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x48, 0x6f, 0x73, 0x74, 0x20, 0x43, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x18, 0x2a, 0x16, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2d, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, - 0x7d, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, - 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, - 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, - 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x7d, 0x1a, 0x8b, 0x03, 0x92, 0x41, 0x87, 0x03, 0x0a, 0x14, 0x48, 0x6f, 0x73, 0x74, 0x20, 0x63, + 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xe1, + 0x01, 0x41, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x65, 0x73, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x63, 0x65, 0x6e, 0x74, + 0x72, 0x61, 0x6c, 0x20, 0x72, 0x65, 0x70, 0x6f, 0x73, 0x69, 0x74, 0x6f, 0x72, 0x79, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x61, 0x6e, 0x64, 0x20, + 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x20, 0x6f, 0x72, 0x20, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x2e, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, + 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x61, 0x74, + 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x2e, 0x1a, 0x8a, 0x01, 0x0a, 0x35, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, + 0x74, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x20, + 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, + 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x51, 0x68, 0x74, + 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, + 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2d, 0x63, 0x61, 0x74, 0x61, 0x6c, 0x6f, 0x67, 0x73, 0x42, + 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/host_service.pb.go b/internal/gen/controller/api/services/host_service.pb.go index 5f3a8162a..b1089df08 100644 --- a/internal/gen/controller/api/services/host_service.pb.go +++ b/internal/gen/controller/api/services/host_service.pb.go @@ -128,15 +128,18 @@ type ListHostsRequest struct { unknownFields protoimpl.UnknownFields HostCatalogId string `protobuf:"bytes,1,opt,name=host_catalog_id,proto3" json:"host_catalog_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -690,7 +693,7 @@ var file_controller_api_services_v1_host_service_proto_rawDesc = []byte{ 0x65, 0x6d, 0x22, 0x23, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, - 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xb9, 0x06, + 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x8a, 0x09, 0x0a, 0x0b, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, @@ -742,13 +745,34 @@ var file_controller_api_services_v1_host_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x48, 0x6f, 0x73, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x29, 0x92, 0x41, 0x10, 0x12, 0x0e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x20, 0x61, 0x20, 0x48, 0x6f, 0x73, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x10, 0x2a, 0x0e, 0x2f, 0x76, 0x31, 0x2f, 0x68, - 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x68, - 0x6f, 0x73, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, - 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, - 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, - 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x73, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xce, 0x02, 0x92, 0x41, 0xca, 0x02, + 0x0a, 0x0c, 0x48, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xbd, + 0x01, 0x41, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, + 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6d, 0x70, 0x75, 0x74, 0x69, 0x6e, + 0x67, 0x20, 0x65, 0x6c, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x20, 0x77, 0x69, 0x74, 0x68, 0x20, 0x61, + 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, 0x20, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x69, 0x73, 0x20, 0x72, 0x65, 0x61, 0x63, 0x68, 0x61, 0x62, + 0x6c, 0x65, 0x20, 0x66, 0x72, 0x6f, 0x6d, 0x20, 0x61, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x68, + 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, + 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, + 0x6f, 0x72, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x6f, 0x73, 0x74, + 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x7a, + 0x0a, 0x2d, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x68, 0x6f, 0x73, + 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, + 0x49, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, + 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, + 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, + 0x68, 0x6f, 0x73, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/host_set_service.pb.go b/internal/gen/controller/api/services/host_set_service.pb.go index afd77f58b..9adc97a7d 100644 --- a/internal/gen/controller/api/services/host_set_service.pb.go +++ b/internal/gen/controller/api/services/host_set_service.pb.go @@ -128,15 +128,18 @@ type ListHostSetsRequest struct { unknownFields protoimpl.UnknownFields HostCatalogId string `protobuf:"bytes,1,opt,name=host_catalog_id,proto3" json:"host_catalog_id,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1070,7 +1073,7 @@ var file_controller_api_services_v1_host_set_service_proto_rawDesc = []byte{ 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x6f, 0x73, - 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x8a, 0x0c, 0x0a, 0x0e, 0x48, + 0x74, 0x53, 0x65, 0x74, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xf8, 0x0e, 0x0a, 0x0e, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa8, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x48, 0x6f, 0x73, 0x74, 0x53, 0x65, 0x74, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, @@ -1167,13 +1170,36 @@ var file_controller_api_services_v1_host_set_service_proto_rawDesc = []byte{ 0x73, 0x74, 0x20, 0x53, 0x65, 0x74, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2a, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x1f, 0x2f, 0x76, 0x31, 0x2f, 0x68, 0x6f, 0x73, 0x74, 0x2d, 0x73, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, - 0x65, 0x2d, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x68, 0x6f, 0x73, - 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x2d, 0x68, 0x6f, 0x73, 0x74, 0x73, 0x1a, 0xeb, 0x02, 0x92, 0x41, 0xe7, 0x02, 0x0a, 0x10, + 0x48, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xcd, 0x01, 0x41, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x74, 0x20, 0x69, 0x73, + 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, + 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x68, 0x6f, 0x73, 0x74, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x73, 0x69, + 0x64, 0x65, 0x72, 0x65, 0x64, 0x20, 0x65, 0x71, 0x75, 0x69, 0x76, 0x61, 0x6c, 0x65, 0x6e, 0x74, + 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, + 0x73, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, + 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, + 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, + 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x69, 0x6e, 0x67, 0x20, 0x68, 0x6f, 0x73, 0x74, 0x20, 0x73, + 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, + 0x1a, 0x82, 0x01, 0x0a, 0x31, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, + 0x68, 0x6f, 0x73, 0x74, 0x20, 0x73, 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4d, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x68, 0x6f, 0x73, 0x74, + 0x2d, 0x73, 0x65, 0x74, 0x73, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x68, 0x6f, 0x73, 0x74, 0x5a, + 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/managed_group_service.pb.go b/internal/gen/controller/api/services/managed_group_service.pb.go index 75a384308..780f3bd02 100644 --- a/internal/gen/controller/api/services/managed_group_service.pb.go +++ b/internal/gen/controller/api/services/managed_group_service.pb.go @@ -128,15 +128,18 @@ type ListManagedGroupsRequest struct { unknownFields protoimpl.UnknownFields AuthMethodId string `protobuf:"bytes,1,opt,name=auth_method_id,proto3" json:"auth_method_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -703,7 +706,7 @@ var file_controller_api_services_v1_managed_group_service_proto_rawDesc = []byte 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1c, 0x0a, 0x1a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x52, 0x65, 0x73, - 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xae, 0x08, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x9c, 0x0b, 0x0a, 0x13, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc1, 0x01, 0x0a, 0x0f, 0x47, 0x65, 0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x12, 0x32, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, @@ -770,13 +773,36 @@ var file_controller_api_services_v1_managed_group_service_proto_rawDesc = []byte 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x19, 0x2a, 0x17, 0x2f, 0x76, 0x31, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x2d, 0x67, 0x72, 0x6f, 0x75, 0x70, - 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, - 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xeb, 0x02, 0x92, 0x41, 0xe7, 0x02, 0x0a, 0x15, 0x4d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x12, 0xbe, 0x01, 0x41, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, + 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, + 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, + 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x72, 0x65, 0x61, 0x64, 0x69, 0x6e, + 0x67, 0x2c, 0x20, 0x75, 0x70, 0x64, 0x61, 0x74, 0x69, 0x6e, 0x67, 0x2c, 0x20, 0x61, 0x6e, 0x64, + 0x20, 0x64, 0x65, 0x6c, 0x65, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x20, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x8c, 0x01, 0x0a, 0x36, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, + 0x62, 0x6f, 0x75, 0x74, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x20, 0x67, 0x72, 0x6f, + 0x75, 0x70, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, + 0x12, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, + 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, + 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, + 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, + 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x2d, 0x67, 0x72, + 0x6f, 0x75, 0x70, 0x73, 0x42, 0x55, 0xa2, 0xe3, 0x29, 0x04, 0x61, 0x75, 0x74, 0x68, 0x5a, 0x4b, + 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, + 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, + 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, + 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/managed_group_service_grpc.pb.go b/internal/gen/controller/api/services/managed_group_service_grpc.pb.go index ce0447b53..de1fe5002 100644 --- a/internal/gen/controller/api/services/managed_group_service_grpc.pb.go +++ b/internal/gen/controller/api/services/managed_group_service_grpc.pb.go @@ -39,7 +39,7 @@ type ManagedGroupServiceClient interface { GetManagedGroup(ctx context.Context, in *GetManagedGroupRequest, opts ...grpc.CallOption) (*GetManagedGroupResponse, error) // ListManagedGroups returns a list of stored ManagedGroups which exist inside the // provided Auth Method. The request must include the Auth Method id which - // contains the ManagedGroups being listed. If missing or malformed an error + // contains the ManagedGroups being listed. If missing or malformed, an error // is returned. ListManagedGroups(ctx context.Context, in *ListManagedGroupsRequest, opts ...grpc.CallOption) (*ListManagedGroupsResponse, error) // CreateManagedGroup creates and stores a ManagedGroup. The provided request @@ -126,7 +126,7 @@ type ManagedGroupServiceServer interface { GetManagedGroup(context.Context, *GetManagedGroupRequest) (*GetManagedGroupResponse, error) // ListManagedGroups returns a list of stored ManagedGroups which exist inside the // provided Auth Method. The request must include the Auth Method id which - // contains the ManagedGroups being listed. If missing or malformed an error + // contains the ManagedGroups being listed. If missing or malformed, an error // is returned. ListManagedGroups(context.Context, *ListManagedGroupsRequest) (*ListManagedGroupsResponse, error) // CreateManagedGroup creates and stores a ManagedGroup. The provided request diff --git a/internal/gen/controller/api/services/policy_service.pb.go b/internal/gen/controller/api/services/policy_service.pb.go index ef9c45d75..aba47d8af 100644 --- a/internal/gen/controller/api/services/policy_service.pb.go +++ b/internal/gen/controller/api/services/policy_service.pb.go @@ -130,14 +130,15 @@ type ListPoliciesRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Filter string `protobuf:"bytes,3,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,4,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,5,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -703,7 +704,7 @@ var file_controller_api_services_v1_policy_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x52, - 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0x86, 0x07, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, + 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xc3, 0x09, 0x0a, 0x0d, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb5, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x12, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, @@ -760,13 +761,32 @@ var file_controller_api_services_v1_policy_service_proto_rawDesc = []byte{ 0x74, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x78, 0x69, 0x73, 0x74, 0x69, 0x6e, 0x67, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x13, 0x2a, 0x11, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, - 0x42, 0x57, 0xa2, 0xe3, 0x29, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5a, 0x4b, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x1a, 0xba, 0x02, 0x92, 0x41, 0xb6, 0x02, 0x0a, 0x0e, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9a, 0x01, 0x54, 0x68, 0x65, 0x20, 0x70, 0x6f, + 0x6c, 0x69, 0x63, 0x79, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, + 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, + 0x61, 0x67, 0x65, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x20, 0x50, 0x6f, 0x6c, 0x69, 0x63, 0x69, + 0x65, 0x73, 0x20, 0x61, 0x72, 0x65, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x64, + 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x72, 0x75, 0x6c, 0x65, 0x73, 0x20, 0x66, 0x6f, 0x72, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x6c, 0x69, 0x66, 0x65, 0x63, 0x79, 0x63, 0x6c, 0x65, 0x20, 0x6f, 0x66, + 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, + 0x6e, 0x67, 0x73, 0x2e, 0x1a, 0x86, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, + 0x6f, 0x75, 0x74, 0x20, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x69, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x52, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, + 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, + 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x57, 0xa2, + 0xe3, 0x29, 0x06, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, + 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, + 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/policy_service_grpc.pb.go b/internal/gen/controller/api/services/policy_service_grpc.pb.go index 59ed87330..c3c76a469 100644 --- a/internal/gen/controller/api/services/policy_service_grpc.pb.go +++ b/internal/gen/controller/api/services/policy_service_grpc.pb.go @@ -34,17 +34,17 @@ const ( // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream. type PolicyServiceClient interface { // GetPolicy returns a policy with the given id, if it exists. The request - // must include a policy id. An error is returned if the id is missing, - // malformed, or if a policy with the provided id doesn't exist. + // must include a policy id. An error is returned if the ID is missing, + // malformed, or if a policy with the provided ID doesn't exist. GetPolicy(ctx context.Context, in *GetPolicyRequest, opts ...grpc.CallOption) (*GetPolicyResponse, error) // ListPolicies returns a list of stored policies in Boundary which exist // inside the scope referenced in the request. The request must include the - // scope id for the policies being retrieved. An error is returned if the - // scope id is missing, malformed, or references a non existing scope. + // scope ID for the policies being retrieved. An error is returned if the + // scope ID is missing, malformed, or references a non existing scope. ListPolicies(ctx context.Context, in *ListPoliciesRequest, opts ...grpc.CallOption) (*ListPoliciesResponse, error) // CreatePolicy creates and stores a new policy in Boundary. The provided - // request must include the scope id in which the policy will be created. An - // error is returned if the scope id is missing, malformed or references a non + // request must include the scope ID in which the policy will be created. An + // error is returned if the scope ID is missing, malformed or references a non // existing scope. CreatePolicy(ctx context.Context, in *CreatePolicyRequest, opts ...grpc.CallOption) (*CreatePolicyResponse, error) // UpdatePolicy updates an existing policy in Boundary. The provided policy @@ -54,7 +54,7 @@ type PolicyServiceClient interface { // the policy object. UpdatePolicy(ctx context.Context, in *UpdatePolicyRequest, opts ...grpc.CallOption) (*UpdatePolicyResponse, error) // DeletePolicy deletes a policy from Boundary. An error is returned if the - // policy id is malformed or not provided. + // policy ID is malformed or not provided. DeletePolicy(ctx context.Context, in *DeletePolicyRequest, opts ...grpc.CallOption) (*DeletePolicyResponse, error) } @@ -116,17 +116,17 @@ func (c *policyServiceClient) DeletePolicy(ctx context.Context, in *DeletePolicy // for forward compatibility type PolicyServiceServer interface { // GetPolicy returns a policy with the given id, if it exists. The request - // must include a policy id. An error is returned if the id is missing, - // malformed, or if a policy with the provided id doesn't exist. + // must include a policy id. An error is returned if the ID is missing, + // malformed, or if a policy with the provided ID doesn't exist. GetPolicy(context.Context, *GetPolicyRequest) (*GetPolicyResponse, error) // ListPolicies returns a list of stored policies in Boundary which exist // inside the scope referenced in the request. The request must include the - // scope id for the policies being retrieved. An error is returned if the - // scope id is missing, malformed, or references a non existing scope. + // scope ID for the policies being retrieved. An error is returned if the + // scope ID is missing, malformed, or references a non existing scope. ListPolicies(context.Context, *ListPoliciesRequest) (*ListPoliciesResponse, error) // CreatePolicy creates and stores a new policy in Boundary. The provided - // request must include the scope id in which the policy will be created. An - // error is returned if the scope id is missing, malformed or references a non + // request must include the scope ID in which the policy will be created. An + // error is returned if the scope ID is missing, malformed or references a non // existing scope. CreatePolicy(context.Context, *CreatePolicyRequest) (*CreatePolicyResponse, error) // UpdatePolicy updates an existing policy in Boundary. The provided policy @@ -136,7 +136,7 @@ type PolicyServiceServer interface { // the policy object. UpdatePolicy(context.Context, *UpdatePolicyRequest) (*UpdatePolicyResponse, error) // DeletePolicy deletes a policy from Boundary. An error is returned if the - // policy id is malformed or not provided. + // policy ID is malformed or not provided. DeletePolicy(context.Context, *DeletePolicyRequest) (*DeletePolicyResponse, error) mustEmbedUnimplementedPolicyServiceServer() } diff --git a/internal/gen/controller/api/services/role_service.pb.go b/internal/gen/controller/api/services/role_service.pb.go index 7136e94d8..adab5a1d2 100644 --- a/internal/gen/controller/api/services/role_service.pb.go +++ b/internal/gen/controller/api/services/role_service.pb.go @@ -128,15 +128,18 @@ type ListRolesRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1816,7 +1819,7 @@ var file_controller_api_services_v1_role_service_proto_rawDesc = []byte{ 0x20, 0x01, 0x28, 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x6c, 0x65, 0x52, 0x04, 0x69, - 0x74, 0x65, 0x6d, 0x32, 0xf5, 0x16, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, + 0x74, 0x65, 0x6d, 0x32, 0xd3, 0x19, 0x0a, 0x0b, 0x52, 0x6f, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x6c, 0x65, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, @@ -1999,13 +2002,34 @@ var file_controller_api_services_v1_role_service_proto_rawDesc = []byte{ 0x20, 0x61, 0x20, 0x52, 0x6f, 0x6c, 0x65, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x2d, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x22, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2d, 0x67, - 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, - 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, - 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, - 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, - 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x72, 0x61, 0x6e, 0x74, 0x2d, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x1a, 0xdb, 0x02, 0x92, 0x41, + 0xd7, 0x02, 0x0a, 0x0c, 0x52, 0x6f, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xca, 0x01, 0x41, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, + 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x20, 0x6f, 0x66, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x64, 0x65, 0x66, 0x69, 0x6e, 0x65, 0x20, 0x77, 0x68, 0x61, + 0x74, 0x20, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, + 0x20, 0x6f, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x70, 0x65, 0x72, 0x66, 0x6f, 0x72, 0x6d, 0x20, + 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x79, 0x73, 0x74, 0x65, + 0x6d, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x72, 0x6f, 0x6c, 0x65, 0x73, + 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x7a, 0x0a, + 0x2d, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x72, 0x6f, 0x6c, 0x65, + 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, + 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x49, + 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, + 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, + 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, + 0x64, 0x65, 0x6c, 0x2f, 0x72, 0x6f, 0x6c, 0x65, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/scope_service.pb.go b/internal/gen/controller/api/services/scope_service.pb.go index b90d606ce..e7d611679 100644 --- a/internal/gen/controller/api/services/scope_service.pb.go +++ b/internal/gen/controller/api/services/scope_service.pb.go @@ -128,15 +128,17 @@ type ListScopesRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` // An opaque token used to continue an existing iteration or // request updated items. If paginating, use this token in the // next list request. ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1381,7 +1383,7 @@ var file_controller_api_services_v1_scope_service_proto_rawDesc = []byte{ 0x04, 0x69, 0x74, 0x65, 0x6d, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x29, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, - 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x88, 0x13, 0x0a, + 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xae, 0x16, 0x0a, 0x0c, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x9d, 0x01, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x2b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, @@ -1534,15 +1536,39 @@ var file_controller_api_services_v1_scope_service_proto_rawDesc = []byte{ 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x30, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x25, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x64, 0x65, 0x74, 0x61, 0x63, 0x68, 0x2d, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, - 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x42, 0x74, 0x92, 0x41, 0x24, 0x12, 0x1e, 0x0a, 0x1c, - 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x20, 0x48, 0x54, 0x54, 0x50, 0x20, 0x41, 0x50, 0x49, 0x2a, 0x02, 0x02, 0x01, - 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x2d, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x1a, 0xa3, 0x03, 0x92, 0x41, 0x9f, 0x03, 0x0a, 0x0d, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x8f, 0x02, + 0x41, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x61, 0x63, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, + 0x61, 0x20, 0x70, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x65, 0x64, 0x20, 0x75, 0x73, + 0x69, 0x6e, 0x67, 0x20, 0x74, 0x68, 0x65, 0x20, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x20, + 0x6f, 0x66, 0x20, 0x61, 0x20, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x20, + 0x49, 0x74, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x68, 0x69, 0x65, + 0x72, 0x61, 0x72, 0x63, 0x68, 0x69, 0x63, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, + 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x73, 0x20, 0x79, 0x6f, + 0x75, 0x20, 0x6f, 0x72, 0x67, 0x61, 0x6e, 0x69, 0x7a, 0x65, 0x20, 0x79, 0x6f, 0x75, 0x72, 0x20, + 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x6d, 0x61, + 0x6e, 0x61, 0x67, 0x65, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x6f, 0x20, 0x6c, 0x65, 0x74, + 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, + 0x7c, 0x0a, 0x2e, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, + 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, + 0x6c, 0x12, 0x4a, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, + 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, + 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x42, 0x4d, 0x5a, + 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, + 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, + 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/session_recording_service.pb.go b/internal/gen/controller/api/services/session_recording_service.pb.go index 62815482f..b63a4a15f 100644 --- a/internal/gen/controller/api/services/session_recording_service.pb.go +++ b/internal/gen/controller/api/services/session_recording_service.pb.go @@ -135,14 +135,15 @@ type ListSessionRecordingsRequest struct { // If set and scope_id is empty, shows session recordings in // all scopes the caller has access to. Recursive bool `protobuf:"varint,2,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: class:"public" - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,3,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,4,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -636,7 +637,7 @@ var file_controller_api_services_v1_session_recording_service_proto_rawDesc = [] 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x20, 0x0a, 0x1e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, - 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xf2, 0x0e, 0x0a, 0x17, 0x53, 0x65, + 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x32, 0xe5, 0x12, 0x0a, 0x17, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xea, 0x03, 0x0a, 0x13, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x12, 0x36, 0x2e, @@ -755,13 +756,44 @@ var file_controller_api_services_v1_session_recording_service_proto_rawDesc = [] 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1d, 0x2a, 0x1b, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, - 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x4d, - 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, - 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, - 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, - 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xf0, + 0x03, 0x92, 0x41, 0xec, 0x03, 0x0a, 0x19, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x72, + 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x12, 0xb7, 0x02, 0x41, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x63, + 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x69, 0x73, 0x20, 0x61, 0x20, 0x66, 0x65, 0x61, 0x74, + 0x75, 0x72, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x73, + 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, 0x61, 0x74, 0x6f, 0x72, 0x73, 0x20, + 0x74, 0x6f, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x70, 0x6c, + 0x61, 0x79, 0x20, 0x62, 0x61, 0x63, 0x6b, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, + 0x65, 0x73, 0x73, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x74, 0x6f, 0x20, + 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, + 0x2e, 0x20, 0x49, 0x74, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x61, 0x6e, + 0x20, 0x61, 0x75, 0x64, 0x69, 0x74, 0x20, 0x74, 0x72, 0x61, 0x69, 0x6c, 0x20, 0x6f, 0x66, 0x20, + 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x63, 0x74, 0x69, 0x76, 0x69, 0x74, 0x79, 0x20, 0x61, 0x6e, + 0x64, 0x20, 0x6c, 0x65, 0x74, 0x73, 0x20, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x69, 0x73, 0x74, 0x72, + 0x61, 0x74, 0x6f, 0x72, 0x73, 0x20, 0x6d, 0x6f, 0x6e, 0x69, 0x74, 0x6f, 0x72, 0x20, 0x61, 0x63, + 0x63, 0x65, 0x73, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, + 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x69, 0x6e, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x94, 0x01, 0x0a, 0x3a, 0x52, + 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x56, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, + 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2d, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, 0x67, + 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/session_service.pb.go b/internal/gen/controller/api/services/session_service.pb.go index 932774666..3e96eb718 100644 --- a/internal/gen/controller/api/services/session_service.pb.go +++ b/internal/gen/controller/api/services/session_service.pb.go @@ -127,18 +127,21 @@ type ListSessionsRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` // Experimental. By default only non-terminated (i.e. pending, active, canceling) are returned. // Set this option to include terminated sessions as well. IncludeTerminated bool `protobuf:"varint,40,opt,name=include_terminated,proto3" json:"include_terminated,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,50,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,60,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -492,7 +495,7 @@ var file_controller_api_services_v1_session_service_proto_rawDesc = []byte{ 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, - 0x6e, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x95, 0x04, 0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, + 0x6e, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xe8, 0x06, 0x0a, 0x0e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa7, 0x01, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, @@ -525,13 +528,34 @@ var file_controller_api_services_v1_session_service_proto_rawDesc = []byte{ 0x41, 0x14, 0x12, 0x12, 0x43, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x73, 0x20, 0x61, 0x20, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x23, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x42, - 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, - 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, - 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, - 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, - 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x6f, 0x6e, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x63, 0x61, 0x6e, 0x63, 0x65, 0x6c, 0x1a, + 0xd0, 0x02, 0x92, 0x41, 0xcc, 0x02, 0x0a, 0x0f, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xb5, 0x01, 0x41, 0x20, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x20, 0x72, 0x65, 0x70, 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, + 0x20, 0x74, 0x65, 0x6d, 0x70, 0x6f, 0x72, 0x61, 0x72, 0x79, 0x2c, 0x20, 0x61, 0x75, 0x74, 0x68, + 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x63, 0x6f, + 0x6e, 0x6e, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, + 0x20, 0x61, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x61, 0x20, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x2e, 0x20, 0x54, + 0x68, 0x65, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, + 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x79, + 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, + 0x80, 0x01, 0x0a, 0x30, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x73, + 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, + 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x4c, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, + 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, + 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, + 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, + 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/storage_bucket_service.pb.go b/internal/gen/controller/api/services/storage_bucket_service.pb.go index d73946058..b284ad1e1 100644 --- a/internal/gen/controller/api/services/storage_bucket_service.pb.go +++ b/internal/gen/controller/api/services/storage_bucket_service.pb.go @@ -129,15 +129,18 @@ type ListStorageBucketsRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public"` // @gotags: `class:"public"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public"` // @gotags: `class:"public"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -727,7 +730,7 @@ var file_controller_api_services_v1_storage_bucket_service_proto_rawDesc = []byt 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1d, 0x0a, 0x1b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, - 0x73, 0x65, 0x32, 0x92, 0x08, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, + 0x73, 0x65, 0x32, 0x86, 0x0b, 0x0a, 0x14, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc7, 0x01, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x12, 0x33, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, @@ -792,13 +795,36 @@ var file_controller_api_services_v1_storage_bucket_service_proto_rawDesc = []byt 0x65, 0x6c, 0x65, 0x74, 0x65, 0x73, 0x20, 0x61, 0x20, 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x42, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x1a, 0x2a, 0x18, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, - 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x42, 0x58, 0xa2, 0xe3, 0x29, 0x07, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, - 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, - 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, - 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, - 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, - 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x1a, 0xf1, 0x02, 0x92, 0x41, 0xed, 0x02, 0x0a, 0x16, + 0x53, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xc1, 0x01, 0x41, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, + 0x67, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x69, 0x73, 0x20, 0x61, 0x6e, 0x20, + 0x65, 0x78, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, + 0x20, 0x6c, 0x6f, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x75, 0x73, 0x65, 0x64, 0x20, 0x74, + 0x6f, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x20, 0x72, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x69, 0x6e, + 0x67, 0x73, 0x20, 0x6f, 0x66, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, + 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x20, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, + 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, + 0x65, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x73, 0x74, + 0x6f, 0x72, 0x61, 0x67, 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x8e, 0x01, 0x0a, 0x37, 0x52, + 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, + 0x65, 0x20, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, + 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, + 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x53, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, + 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, + 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x73, 0x74, 0x6f, 0x72, + 0x61, 0x67, 0x65, 0x2d, 0x62, 0x75, 0x63, 0x6b, 0x65, 0x74, 0x73, 0x42, 0x58, 0xa2, 0xe3, 0x29, + 0x07, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, + 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, + 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/target_service.pb.go b/internal/gen/controller/api/services/target_service.pb.go index 8e2699df2..8b7f10833 100644 --- a/internal/gen/controller/api/services/target_service.pb.go +++ b/internal/gen/controller/api/services/target_service.pb.go @@ -129,15 +129,18 @@ type ListTargetsRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. + Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"public"` // @gotags: `class:"public"` + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1687,7 +1690,7 @@ var file_controller_api_services_v1_target_service_proto_rawDesc = []byte{ 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, - 0x98, 0x15, 0x0a, 0x0d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, + 0xdd, 0x17, 0x0a, 0x0d, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x12, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, @@ -1856,13 +1859,33 @@ var file_controller_api_services_v1_target_service_proto_rawDesc = []byte{ 0xd3, 0xe4, 0x93, 0x02, 0x35, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x2a, 0x2f, 0x76, 0x31, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2d, 0x63, 0x72, 0x65, 0x64, 0x65, 0x6e, 0x74, 0x69, - 0x61, 0x6c, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x42, 0x57, 0xa2, 0xe3, 0x29, 0x06, - 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, - 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, - 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, - 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, - 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, - 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x61, 0x6c, 0x2d, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x1a, 0xc2, 0x02, 0x92, 0x41, 0xbe, + 0x02, 0x0a, 0x0e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xab, 0x01, 0x41, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x70, + 0x72, 0x65, 0x73, 0x65, 0x6e, 0x74, 0x73, 0x20, 0x61, 0x6e, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, + 0x69, 0x6e, 0x74, 0x20, 0x6f, 0x72, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, + 0x74, 0x68, 0x61, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x61, + 0x63, 0x63, 0x65, 0x73, 0x73, 0x20, 0x74, 0x68, 0x72, 0x6f, 0x75, 0x67, 0x68, 0x20, 0x42, 0x6f, + 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, + 0x20, 0x54, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, 0x73, 0x65, 0x72, 0x76, + 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, + 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, + 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, + 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, + 0x7e, 0x0a, 0x2f, 0x52, 0x65, 0x61, 0x64, 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x74, 0x61, + 0x72, 0x67, 0x65, 0x74, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, + 0x65, 0x6c, 0x12, 0x4b, 0x68, 0x74, 0x74, 0x70, 0x73, 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, + 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, + 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, + 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, + 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x73, 0x42, + 0x57, 0xa2, 0xe3, 0x29, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5a, 0x4b, 0x67, 0x69, 0x74, + 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, + 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, + 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, + 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/user_service.pb.go b/internal/gen/controller/api/services/user_service.pb.go index 05c02c45b..7177d6e63 100644 --- a/internal/gen/controller/api/services/user_service.pb.go +++ b/internal/gen/controller/api/services/user_service.pb.go @@ -129,14 +129,15 @@ type ListUsersRequest struct { ScopeId string `protobuf:"bytes,1,opt,name=scope_id,json=scopeId,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Recursive bool `protobuf:"varint,20,opt,name=recursive,proto3" json:"recursive,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` Filter string `protobuf:"bytes,30,opt,name=filter,proto3" json:"filter,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). ListToken string `protobuf:"bytes,40,opt,name=list_token,proto3" json:"list_token,omitempty" class:"public"` // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. PageSize uint32 `protobuf:"varint,50,opt,name=page_size,proto3" json:"page_size,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -1065,7 +1066,7 @@ var file_controller_api_services_v1_user_service_proto_rawDesc = []byte{ 0x0b, 0x32, 0x27, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, - 0x32, 0xb4, 0x0c, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, + 0x32, 0xe1, 0x0e, 0x0a, 0x0b, 0x55, 0x73, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x98, 0x01, 0x0a, 0x07, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x2a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, @@ -1164,12 +1165,31 @@ var file_controller_api_services_v1_user_service_proto_rawDesc = []byte{ 0x65, 0x64, 0x20, 0x55, 0x73, 0x65, 0x72, 0x2e, 0x82, 0xd3, 0xe4, 0x93, 0x02, 0x29, 0x3a, 0x01, 0x2a, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x1e, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65, 0x72, 0x73, 0x2f, 0x7b, 0x69, 0x64, 0x7d, 0x3a, 0x72, 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x2d, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, - 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, - 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, - 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, - 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x1a, 0xaa, 0x02, 0x92, 0x41, 0xa6, 0x02, 0x0a, 0x0c, + 0x55, 0x73, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x99, 0x01, 0x41, + 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x63, 0x61, 0x6e, 0x20, 0x62, 0x65, 0x20, 0x61, 0x20, 0x68, + 0x75, 0x6d, 0x61, 0x6e, 0x20, 0x69, 0x6e, 0x64, 0x69, 0x76, 0x69, 0x64, 0x75, 0x61, 0x6c, 0x20, + 0x6f, 0x72, 0x20, 0x61, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x61, 0x63, 0x63, + 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, 0x73, + 0x65, 0x73, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x20, 0x54, 0x68, + 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, + 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, + 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, + 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2e, 0x1a, 0x7a, 0x0a, 0x2d, 0x52, 0x65, 0x61, 0x64, + 0x20, 0x61, 0x62, 0x6f, 0x75, 0x74, 0x20, 0x75, 0x73, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, + 0x74, 0x68, 0x65, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x20, 0x64, 0x6f, 0x6d, + 0x61, 0x69, 0x6e, 0x20, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x12, 0x49, 0x68, 0x74, 0x74, 0x70, 0x73, + 0x3a, 0x2f, 0x2f, 0x64, 0x65, 0x76, 0x65, 0x6c, 0x6f, 0x70, 0x65, 0x72, 0x2e, 0x68, 0x61, 0x73, + 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x2f, 0x64, 0x6f, 0x63, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x63, 0x65, 0x70, 0x74, + 0x73, 0x2f, 0x64, 0x6f, 0x6d, 0x61, 0x69, 0x6e, 0x2d, 0x6d, 0x6f, 0x64, 0x65, 0x6c, 0x2f, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, + 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, + 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, + 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, + 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, + 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/gen/controller/api/services/worker_service.pb.go b/internal/gen/controller/api/services/worker_service.pb.go index afff7c4db..9b54dbf91 100644 --- a/internal/gen/controller/api/services/worker_service.pb.go +++ b/internal/gen/controller/api/services/worker_service.pb.go @@ -1326,7 +1326,7 @@ var file_controller_api_services_v1_worker_service_proto_rawDesc = []byte{ 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, 0x41, 0x75, 0x74, - 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0x9b, 0x12, 0x0a, + 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x52, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x32, 0xa2, 0x14, 0x0a, 0x0d, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0xa2, 0x01, 0x0a, 0x09, 0x47, 0x65, 0x74, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x12, 0x2c, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x73, 0x65, @@ -1472,13 +1472,29 @@ var file_controller_api_services_v1_worker_service_proto_rawDesc = []byte{ 0xe4, 0x93, 0x02, 0x36, 0x62, 0x04, 0x69, 0x74, 0x65, 0x6d, 0x22, 0x2e, 0x2f, 0x76, 0x31, 0x2f, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x73, 0x3a, 0x72, 0x65, 0x69, 0x6e, 0x69, 0x74, 0x69, 0x61, 0x6c, 0x69, 0x7a, 0x65, 0x2d, 0x63, 0x65, 0x72, 0x74, 0x69, 0x66, 0x69, 0x63, 0x61, 0x74, 0x65, - 0x2d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, - 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, - 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, - 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, - 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x33, + 0x2d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x1a, 0x84, 0x02, 0x92, 0x41, 0x80, + 0x02, 0x0a, 0x0e, 0x57, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, + 0x65, 0x12, 0xed, 0x01, 0x41, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x20, 0x69, 0x73, 0x20, + 0x61, 0x20, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, + 0x63, 0x74, 0x73, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, 0x6e, 0x65, 0x74, 0x77, 0x6f, 0x72, 0x6b, + 0x20, 0x70, 0x72, 0x6f, 0x78, 0x79, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, + 0x61, 0x72, 0x79, 0x20, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x20, 0x49, 0x74, + 0x20, 0x66, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x20, 0x61, 0x73, 0x20, 0x61, 0x20, + 0x62, 0x72, 0x69, 0x64, 0x67, 0x65, 0x20, 0x62, 0x65, 0x74, 0x77, 0x65, 0x65, 0x6e, 0x20, 0x75, + 0x73, 0x65, 0x72, 0x73, 0x20, 0x61, 0x6e, 0x64, 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x61, 0x72, + 0x67, 0x65, 0x74, 0x20, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x20, 0x74, 0x68, + 0x65, 0x79, 0x20, 0x6e, 0x65, 0x65, 0x64, 0x20, 0x74, 0x6f, 0x20, 0x61, 0x63, 0x63, 0x65, 0x73, + 0x73, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x77, 0x6f, 0x72, 0x6b, 0x65, 0x72, 0x20, 0x73, 0x65, + 0x72, 0x76, 0x69, 0x63, 0x65, 0x20, 0x70, 0x72, 0x6f, 0x76, 0x69, 0x64, 0x65, 0x73, 0x20, 0x65, + 0x6e, 0x64, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x6c, 0x65, + 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x20, 0x77, 0x6f, 0x72, + 0x6b, 0x65, 0x72, 0x73, 0x20, 0x69, 0x6e, 0x20, 0x42, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, + 0x2e, 0x42, 0x4d, 0x5a, 0x4b, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, + 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, + 0x72, 0x79, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x6e, 0x61, 0x6c, 0x2f, 0x67, 0x65, 0x6e, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x73, + 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x3b, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, + 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/internal/oplog/store/oplog.pb.go b/internal/oplog/store/oplog.pb.go index aeb872cc9..751d1db73 100644 --- a/internal/oplog/store/oplog.pb.go +++ b/internal/oplog/store/oplog.pb.go @@ -7,7 +7,7 @@ // protoc (unknown) // source: controller/storage/oplog/store/v1/oplog.proto -// define an oplog package within the boundary controller +// define an oplog package within the Boundary controller package store diff --git a/internal/proto/controller/api/resources/accounts/v1/account.proto b/internal/proto/controller/api/resources/accounts/v1/account.proto index 54a859038..0c4989e7f 100644 --- a/internal/proto/controller/api/resources/accounts/v1/account.proto +++ b/internal/proto/controller/api/resources/accounts/v1/account.proto @@ -7,20 +7,22 @@ package controller.api.resources.accounts.v1; import "controller/api/resources/scopes/v1/scope.proto"; import "controller/custom_options/v1/options.proto"; +import "google/api/field_behavior.proto"; import "google/api/visibility.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/accounts;accounts"; -// Account contains all fields related to an Account resource +// Account contains all fields related to an account resource message Account { - // Output only. The ID of the Account. - string id = 10; // @gotags: `class:"public" eventstream:"observation"` + // The ID of the account. + string id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for the Account. - resources.scopes.v1.ScopeInfo scope = 20; + // Scope information for the account. + resources.scopes.v1.ScopeInfo scope = 20 [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional name for identification purposes. google.protobuf.StringValue name = 30 [ @@ -40,30 +42,72 @@ message Account { } ]; // @gotags: `class:"public"` - // Output only. The time this resource was created. - google.protobuf.Timestamp created_time = 50 [json_name = "created_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was created. + google.protobuf.Timestamp created_time = 50 [ + json_name = "created_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. - google.protobuf.Timestamp updated_time = 60 [json_name = "updated_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was last updated. + google.protobuf.Timestamp updated_time = 60 [ + json_name = "updated_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. - // The mutation will fail if the version does not match the latest known good version. + // The mutation fails if the version does not match the latest known good version. + // Version is not required when you create an account. uint32 version = 70; // @gotags: `class:"public"` - // The type of this Account. + // The type of this account. If you do not set an account type, Boundary infers it from the type of the auth method. string type = 80; // @gotags: `class:"public" eventstream:"observation"` - // The ID of the Auth Method that is associated with this Account. + // The ID of the auth method that is associated with this account. string auth_method_id = 90 [ json_name = "auth_method_id", (custom_options.v1.subtype_source_id) = true ]; // @gotags: `class:"public" eventstream:"observation"` oneof attrs { - // The attributes that are applicable for the specific Account type. + // The attributes that are applicable for the specific account type. google.protobuf.Struct attributes = 100 [ (custom_options.v1.generate_sdk_option) = true, - (custom_options.v1.subtype) = "default" + (custom_options.v1.subtype) = "default", + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "{\"login_name\": \"login_name\"}", + description: + "The attributes that are applicable for the specific account type. " + "The schema of this field depends on the type of the auth method " + "that you create the account in.\n" + "For password auth methods, the parameters are:\n" + "```json\n" + "{\n" + " \"login_name\": \"login_name\",\n" + " \"password\": \"password\"\n" + "}\n" + "```\n" + "For OIDC auth methods, the parameters are:\n" + "```json\n" + "{\n" + " \"issuer\": \"issuer\",\n" + " \"subject\": \"subject\",\n" + " \"full_name\": \"full_name\",\n" + " \"email\": \"email\",\n" + " \"token_claims\": {},\n" + " \"userinfo_claims\": {}\n" + "}\n" + "```\n" + "For LDAP auth methods, the parameters are:\n" + "```json\n" + "{\n" + " \"login_name\": \"login_name\",\n" + " \"full_name\": \"full_name\",\n" + " \"email\": \"email\",\n" + " \"dn\": \"dn\",\n" + " \"member_of_groups\": [\"member_of_groups\"]\n" + "}\n" + "```\n" + } ]; PasswordAccountAttributes password_account_attributes = 101 [ (google.api.field_visibility).restriction = "INTERNAL", @@ -82,16 +126,22 @@ message Account { ]; } - // Output only. managed_group_ids indicates IDs of the managed groups that currently contain this account - repeated string managed_group_ids = 110 [json_name = "managed_group_ids"]; // @gotags: `class:"public" eventstream:"observation"` + // Indicates the IDs of the managed groups that currently contain this account + repeated string managed_group_ids = 110 [ + json_name = "managed_group_ids", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The available actions on this resource for this user. - repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"` + // The available actions on this resource for this user. + repeated string authorized_actions = 300 [ + json_name = "authorized_actions", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public"` } -// Attributes associated only with Accounts with type "password". +// Attributes associated only with accounts with type "password". message PasswordAccountAttributes { - // The login name of this Account. This is unique per Auth Method. + // The login name of this account. This is unique per auth method. string login_name = 10 [ json_name = "login_name", (custom_options.v1.generate_sdk_option) = true, @@ -101,11 +151,11 @@ message PasswordAccountAttributes { } ]; // @gotags: `class:"sensitive"` - // The password for this Account. + // The password for this account. google.protobuf.StringValue password = 20 [(custom_options.v1.generate_sdk_option) = true]; // @gotags: `class:"secret"` } -// Attributes associated only with Accounts with type "oidc". +// Attributes associated only with accounts with type "oidc". message OidcAccountAttributes { // issuer is a case sensitive URL that maps to the OIDC iss claim. // This value is immutable after creation time. @@ -121,24 +171,27 @@ message OidcAccountAttributes { (custom_options.v1.generate_sdk_option) = true ]; // @gotags: `class:"public"` - // Output only. full_name is a string that maps to the OIDC name claim. - string full_name = 100 [json_name = "full_name"]; // @gotags: `class:"public"` + // A string that maps to the OIDC name claim. + string full_name = 100 [ + json_name = "full_name", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public"` - // Output only. email is a string that maps to the OIDC email claim. - string email = 110; // @gotags: `class:"public"` + // A string that maps to the OIDC email claim. + string email = 110 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public"` - // Output only. token_claims are the marshaled claims from the token. - google.protobuf.Struct token_claims = 120; + // The marshaled claims from the token. + google.protobuf.Struct token_claims = 120 [(google.api.field_behavior) = OUTPUT_ONLY]; - // Output only. userinfo_claims are the marshaled claims from userinfo. - google.protobuf.Struct userinfo_claims = 130; + // The marshaled claims from userinfo. + google.protobuf.Struct userinfo_claims = 130 [(google.api.field_behavior) = OUTPUT_ONLY]; } -// Attributes associated only with Accounts with type "ldap". +// Attributes associated only with accounts with type "ldap". message LdapAccountAttributes { - // login_name of the authenticated user. This is the login_name (or username) + // login_name of the authenticated user. This is the login_name (or username) // entered by the user when authenticating (typically the uid or cn - // attribute). Account login names must be lower case. + // attribute). Account login names must be lower case. string login_name = 100 [ json_name = "login_name", (custom_options.v1.generate_sdk_option) = true, @@ -148,24 +201,27 @@ message LdapAccountAttributes { } ]; // @gotags: `class:"sensitive"` - // Output only. full_name is a string that maps to the name attribute for the - // authenticated user. This attribute is updated every time a user + // A string that maps to the name attribute for the + // authenticated user. This attribute is updated every time a user // successfully authenticates. - string full_name = 110 [json_name = "full_name"]; // @gotags: `class:"sensitive"` + string full_name = 110 [ + json_name = "full_name", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"sensitive"` - // Output only. email is a string that maps to the email address attribute for - // the authenticated user. This attribute is updated every time a user + // A string that maps to the email address attribute for + // the authenticated user. This attribute is updated every time a user // successfully authenticates. - string email = 120; // @gotags: `class:"sensitive"` + string email = 120 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"sensitive"` - // Output only. dn is the distinguished name authenticated user's entry. Will - // be null until the user's first successful authentication. This attribute + // The distinguished name authenticated user's entry. Will + // be null until the user's first successful authentication. This attribute // is updated every time a user successfully authenticates. - string dn = 130; // @gotags: `class:"public"` + string dn = 130 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public"` - // Output only. member_of_groups are the json marshalled groups the + // The json marshalled groups the // authenticated user is a member of. Will be null until the user's first // successful authentication. This attribute is updated every time a user // successfully authenticates. - repeated string member_of_groups = 140; // @gotags: `class:"public"` + repeated string member_of_groups = 140 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/resources/aliases/v1/alias.proto b/internal/proto/controller/api/resources/aliases/v1/alias.proto index 9f45bded1..e78b20b17 100644 --- a/internal/proto/controller/api/resources/aliases/v1/alias.proto +++ b/internal/proto/controller/api/resources/aliases/v1/alias.proto @@ -7,23 +7,25 @@ package controller.api.resources.aliases.v1; import "controller/api/resources/scopes/v1/scope.proto"; import "controller/custom_options/v1/options.proto"; +import "google/api/field_behavior.proto"; import "google/api/visibility.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; +import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/aliases;aliases"; -// Alias contains all fields related to an Alias resource +// Alias contains all fields related to an alias resource message Alias { - // Output only. The ID of the Alias. - string id = 10; // @gotags: `class:"public" eventstream:"observation"` + // The ID of the alias. + string id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public" eventstream:"observation"` - // The ID of the scope of which this Alias is a part. + // The ID of the scope of which this alias is a part. string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for this Alias. - resources.scopes.v1.ScopeInfo scope = 30; + // Scope information for this alias. + resources.scopes.v1.ScopeInfo scope = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional user-set name for identification purposes. google.protobuf.StringValue name = 40 [ @@ -43,17 +45,24 @@ message Alias { } ]; // @gotags: `class:"public"` - // Output only. The time this resource was created. - google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was created. + google.protobuf.Timestamp created_time = 60 [ + json_name = "created_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. - google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was last updated. + google.protobuf.Timestamp updated_time = 70 [ + json_name = "updated_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. - // The mutation will fail if the version does not match the latest known good version. + // The mutation fails if the version does not match the latest known good version. + // Version is not required when you create an alias. uint32 version = 80; // @gotags: `class:"public"` - // Required value of the alias. This is the value referenced by the user that + // Value of the alias. This is the value referenced by the user that // is resolved to the destination id. string value = 90 [ (custom_options.v1.generate_sdk_option) = true, @@ -63,7 +72,7 @@ message Alias { } ]; // @gotags: `class:"public"` - // destination_id is the id of the resource that this Alias points to. + // destination_id is the id of the resource that this alias points to. google.protobuf.StringValue destination_id = 100 [ json_name = "destination_id", (custom_options.v1.generate_sdk_option) = true, @@ -77,10 +86,23 @@ message Alias { string type = 110; // @gotags: `class:"public" eventstream:"observation"` oneof attrs { - // The attributes that are applicable for the specific Alias type. + // The attributes that are applicable for the specific alias type. google.protobuf.Struct attributes = 120 [ (custom_options.v1.generate_sdk_option) = true, - (custom_options.v1.subtype) = "default" + (custom_options.v1.subtype) = "default", + (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field) = { + example: "{\"authorize_session_arguments\": {\"host_id\": \"host_id\"}}", + description: + "The attributes that are applicable for the specific alias type. " + "The schema of this field depends on the type of resource " + "that you create the alias for.\n" + "For target aliases, the parameters are:\n" + "```json\n" + "{\n" + " \"authorize_session_arguments\": {\"host_id\":\"host_id\"}\n" + "}\n" + "```\n" + } ]; TargetAliasAttributes target_alias_attributes = 121 [ (google.api.field_visibility).restriction = "INTERNAL", @@ -89,12 +111,16 @@ message Alias { ]; } - // Output only. The available actions on this resource for this user. - repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"` + // The available actions on this resource for this user. + repeated string authorized_actions = 300 [ + json_name = "authorized_actions", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public"` } -// Attributes associated only with Aliases with type "target". +// Attributes associated only with aliases with type "target". message TargetAliasAttributes { + // The arguments to provide to authorize_session of the target. AuthorizeSessionArguments authorize_session_arguments = 1 [json_name = "authorize_session_arguments"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/resources/scopes/v1/scope.proto b/internal/proto/controller/api/resources/scopes/v1/scope.proto index 3b82fdf4b..4df4e117e 100644 --- a/internal/proto/controller/api/resources/scopes/v1/scope.proto +++ b/internal/proto/controller/api/resources/scopes/v1/scope.proto @@ -6,6 +6,7 @@ syntax = "proto3"; package controller.api.resources.scopes.v1; import "controller/custom_options/v1/options.proto"; +import "google/api/field_behavior.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/protobuf/wrappers.proto"; @@ -13,32 +14,35 @@ import "google/protobuf/wrappers.proto"; option go_package = "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes;scopes"; message ScopeInfo { - // Output only. The ID of the Scope. - string id = 1; // @gotags: `class:"public" eventstream:"observation"` + // The ID of the scope. + string id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The type of the Scope. - string type = 2; // @gotags: `class:"public" eventstream:"observation"` + // The type of the scope. + string type = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The name of the Scope, if any. - string name = 3; // @gotags: `class:"public"` + // The name of the scope, if any. + string name = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public"` - // Output only. The description of the Scope, if any. - string description = 4; // @gotags: `class:"public"` + // The description of the scope, if any. + string description = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public"` - // Output only. The ID of the parent Scope, if any. This field will be empty if this is the "global" scope. - string parent_scope_id = 5 [json_name = "parent_scope_id"]; // @gotags: `class:"public" eventstream:"observation"` + // The ID of the parent scope, if any. This field is empty if it is the "global" scope. + string parent_scope_id = 5 [ + json_name = "parent_scope_id", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` } -// Scope contains all fields related to a Scope resource +// Scope contains all fields related to a scope resource message Scope { - // Output only. The ID of the Scope. - string id = 10; // @gotags: `class:"public" eventstream:"observation"` + // The ID of the scope. + string id = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; // @gotags: `class:"public" eventstream:"observation"` - // The ID of the Scope this resource is in. If this is the "global" Scope this field will be empty. + // The ID of the scope this resource is in. If this is the "global" scope this field will be empty. string scope_id = 20 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for this resource. - ScopeInfo scope = 30; + // Scope information for this resource. + ScopeInfo scope = 30 [(google.api.field_behavior) = OUTPUT_ONLY]; // Optional name for identification purposes. google.protobuf.StringValue name = 40 [ @@ -58,11 +62,17 @@ message Scope { } ]; // @gotags: `class:"public"` - // Output only. The time this resource was created. - google.protobuf.Timestamp created_time = 60 [json_name = "created_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was created. + google.protobuf.Timestamp created_time = 60 [ + json_name = "created_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. - google.protobuf.Timestamp updated_time = 70 [json_name = "updated_time"]; // @gotags: `class:"public" eventstream:"observation"` + // The time this resource was last updated. + google.protobuf.Timestamp updated_time = 70 [ + json_name = "updated_time", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. @@ -82,14 +92,23 @@ message Scope { } ]; // @gotags: `class:"public" eventstream:"observation"` - // Output only. The available actions on this resource for this user. - repeated string authorized_actions = 300 [json_name = "authorized_actions"]; // @gotags: `class:"public"` + // The available actions on this resource for this user. + repeated string authorized_actions = 300 [ + json_name = "authorized_actions", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public"` - // Output only. The authorized actions for the scope's collections. - map authorized_collection_actions = 310 [json_name = "authorized_collection_actions"]; + // The authorized actions for the scope's collections. + map authorized_collection_actions = 310 [ + json_name = "authorized_collection_actions", + (google.api.field_behavior) = OUTPUT_ONLY + ]; - // Output only. The attached storage policy id. - string storage_policy_id = 320 [json_name = "storage_policy_id"]; // @gotags: `class:"public"` + // The attached storage policy id. + string storage_policy_id = 320 [ + json_name = "storage_policy_id", + (google.api.field_behavior) = OUTPUT_ONLY + ]; // @gotags: `class:"public"` } // KeyVersion describes a specific version of a key and holds the actual key material diff --git a/internal/proto/controller/api/services/v1/account_service.proto b/internal/proto/controller/api/services/v1/account_service.proto index 558f996e8..ef99b34d2 100644 --- a/internal/proto/controller/api/services/v1/account_service.proto +++ b/internal/proto/controller/api/services/v1/account_service.proto @@ -15,31 +15,42 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "auth"; service AccountService { - // GetAccount returns a stored Account if present. The provided request must - // include the id for the Account be retrieved. If missing, malformed or - // referencing a non existing Account an error is returned. + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Account service" + description: + "The account service exposes endpoints for interacting with accounts in Boundary. " + "Accounts belong to an auth method and are associated with users." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/accounts"; + description: "Read about accounts in the Boundary domain model"; + } + }; + + // GetAccount returns a stored account if present. The provided request must + // include the id for the account be retrieved. If missing, malformed or + // referencing a non existing account an error is returned. rpc GetAccount(GetAccountRequest) returns (GetAccountResponse) { option (google.api.http) = { get: "/v1/accounts/{id}" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Gets a single Account."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Gets a single account based on the input ID"}; } - // ListAccounts returns a list of stored Accounts which exist inside the - // provided Auth Method. The request must include the Auth Method id which - // contains the Accounts being listed. If missing or malformed an error + // ListAccounts returns a list of stored accounts which exist inside the + // provided auth method. The request must include the auth method id which + // contains the accounts being listed. If missing or malformed, an error // is returned. rpc ListAccounts(ListAccountsRequest) returns (ListAccountsResponse) { option (google.api.http) = {get: "/v1/accounts"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all Accounts in a specific Auth Method."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all accounts in a specific auth method."}; } - // CreateAccount creates and stores an Account in boundary. The provided - // request must include the Auth Method ID in which the Account will be - // created. If the Auth Method ID is missing, malformed, or references a non + // CreateAccount creates and stores an account in boundary. The provided + // request must include the auth method ID in which the account will be + // created. If the auth method ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Account in the same Auth Method an + // provided that is in use in another account in the same auth method an // error is returned. rpc CreateAccount(CreateAccountRequest) returns (CreateAccountResponse) { option (google.api.http) = { @@ -47,34 +58,34 @@ service AccountService { body: "item" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Creates a single Account in the provided Auth Method."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Creates a single account in the provided auth method."}; } - // UpdateAccount updates an existing Account in boundary. The provided Account + // UpdateAccount updates an existing account in boundary. The provided account // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Account. An error is returned if the Account id is missing or references a + // account. An error is returned if the account id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the - // containing Auth Method. + // containing auth method. rpc UpdateAccount(UpdateAccountRequest) returns (UpdateAccountResponse) { option (google.api.http) = { patch: "/v1/accounts/{id}" body: "item" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Updates an Account."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Updates an account."}; } - // DeleteAccount removes an Account from Boundary. If the provided Account Id + // DeleteAccount removes an account from Boundary. If the provided account Id // is malformed or not provided an error is returned. rpc DeleteAccount(DeleteAccountRequest) returns (DeleteAccountResponse) { option (google.api.http) = {delete: "/v1/accounts/{id}"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Deletes an Account."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Deletes an account."}; } - // SetPassword sets the Account's password to the one provided in the + // SetPassword sets the account's password to the one provided in the // request. This method is intended for administration purpose and as such // does not require the old password. rpc SetPassword(SetPasswordRequest) returns (SetPasswordResponse) { @@ -83,10 +94,10 @@ service AccountService { body: "*" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Sets the password for the provided Account."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Sets the password for the provided account."}; } - // ChangePassword changes the Account's password to the one provided in the + // ChangePassword changes the account's password to the one provided in the // request. This method is intended for end users and requires the existing // password to be provided for authentication purposes. rpc ChangePassword(ChangePasswordRequest) returns (ChangePasswordResponse) { @@ -95,11 +106,12 @@ service AccountService { body: "*" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Sets the password for the provided Account."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Sets the password for the provided account."}; } } message GetAccountRequest { + // The ID of the account that should be retrieved. string id = 1; // @gotags: `class:"public" eventstream:"observation"` } @@ -108,20 +120,25 @@ message GetAccountResponse { } message ListAccountsRequest { + // The ID of the auth method whose accounts should be listed. string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } message ListAccountsResponse { + // The list of accounts. repeated resources.accounts.v1.Account items = 1; // The type of response, either "delta" or "complete". // Delta signifies that this is part of a paginated result @@ -155,7 +172,9 @@ message CreateAccountResponse { } message UpdateAccountRequest { + // The ID of the account that should be updated. string id = 1; // @gotags: `class:"public" eventstream:"observation"` + // A subset of the account that contains the fields to update. resources.accounts.v1.Account item = 2; google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"]; } @@ -165,16 +184,19 @@ message UpdateAccountResponse { } message DeleteAccountRequest { + // The ID of the account to delete. string id = 1; // @gotags: `class:"public" eventstream:"observation"` } message DeleteAccountResponse {} message SetPasswordRequest { + // The ID of the account for which the password should be set. string id = 1; // @gotags: `class:"public" eventstream:"observation"` // Version is used to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. uint32 version = 2; // @gotags: `class:"public"` + // The password that should be set. string password = 3; // @gotags: `class:"secret"` } @@ -183,11 +205,14 @@ message SetPasswordResponse { } message ChangePasswordRequest { + // The ID of the account for which the password should be changed. string id = 1; // @gotags: `class:"public" eventstream:"observation"` // Version is used to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. uint32 version = 2; // @gotags: `class:"public"` + // The current password for the account. string current_password = 3 [json_name = "current_password"]; // @gotags: `class:"secret"` + // The new password that should be set. string new_password = 4 [json_name = "new_password"]; // @gotags: `class:"secret"` } diff --git a/internal/proto/controller/api/services/v1/alias_service.proto b/internal/proto/controller/api/services/v1/alias_service.proto index 1a287992d..f2db70e48 100644 --- a/internal/proto/controller/api/services/v1/alias_service.proto +++ b/internal/proto/controller/api/services/v1/alias_service.proto @@ -15,9 +15,17 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "auth"; service AliasService { - // GetAlias returns a stored Alias if present. The provided request must - // include the id for the Alias be retrieved. If missing, malformed or - // referencing a non existing Alias an error is returned. + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Alias service" + description: + "The alias service exposes endpoints for interacting with aliases in Boundary. " + "An alias acts as a reference or an alternate ID for an existing entity within the Boundary access control system. " + "It provides a way to simplify access control by offering a more user-friendly or descriptive identifier for an entity." + }; + + // GetAlias returns a stored alias if present. The provided request must + // include the id for the alias be retrieved. If missing, malformed or + // referencing a non existing alias an error is returned. rpc GetAlias(GetAliasRequest) returns (GetAliasResponse) { option (google.api.http) = { get: "/v1/aliases/{id}" @@ -26,20 +34,20 @@ service AliasService { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Gets a single Alias."}; } - // ListAliases returns a list of stored Aliases which exist inside the + // ListAliases returns a list of stored aliases which exist inside the // provided Scope. The request must include the Scope id which - // contains the Aliases being listed. If missing or malformed an error + // contains the aliases being listed. If missing or malformed, an error // is returned. rpc ListAliases(ListAliasesRequest) returns (ListAliasesResponse) { option (google.api.http) = {get: "/v1/aliases"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all Aliases in a specific Scope."}; } - // CreateAlias creates and stores an Alias in boundary. The provided - // request must include the Scope ID in which the Alias will be + // CreateAlias creates and stores an alias in boundary. The provided + // request must include the Scope ID in which the alias will be // created. If the Scope ID is missing, malformed, or references a non // existing resource an error is returned. If a name or login_name is - // provided that is in use in another Alias in the same Scope an + // provided that is in use in another alias in the same Scope an // error is returned. rpc CreateAlias(CreateAliasRequest) returns (CreateAliasResponse) { option (google.api.http) = { @@ -50,11 +58,11 @@ service AliasService { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Creates a single Alias in the provided scope."}; } - // UpdateAlias updates an existing Alias in boundary. The provided Alias + // UpdateAlias updates an existing alias in boundary. The provided alias // must not have any read only fields set. The update mask must be included in // the request and contain at least 1 mutable field. To unset a field's value, // include the field in the update mask and don't set it in the provided - // Alias. An error is returned if the Alias id is missing or references a + // alias. An error is returned if the alias id is missing or references a // non-existing resource. An error is also returned if the request attempts // to update the name or login_name to one that is already in use in the // containing Scope. @@ -67,7 +75,7 @@ service AliasService { option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Updates an Alias."}; } - // DeleteAlias removes an Alias from Boundary. If the provided Alias Id + // DeleteAlias removes an alias from Boundary. If the provided alias Id // is malformed or not provided an error is returned. rpc DeleteAlias(DeleteAliasRequest) returns (DeleteAliasResponse) { option (google.api.http) = {delete: "/v1/aliases/{id}"}; @@ -76,6 +84,7 @@ service AliasService { } message GetAliasRequest { + // The ID of the alias to retrieve. string id = 1; // @gotags: `class:"public" eventstream:"observation"` } @@ -84,25 +93,31 @@ message GetAliasResponse { } message ListAliasesRequest { + // The ID of the scope in which to list aliases string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` + // Whether to recursively list aliases in the provided scope's child scopes. bool recursive = 2; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } message ListAliasesResponse { + // The list of aliases. repeated resources.aliases.v1.Alias items = 1; // The type of response, either "delta" or "complete". @@ -142,7 +157,9 @@ message CreateAliasResponse { } message UpdateAliasRequest { + // The ID of the alias to update. string id = 1; // @gotags: `class:"public" eventstream:"observation"` + // A subset of the alias that contains the fields to update. resources.aliases.v1.Alias item = 2; google.protobuf.FieldMask update_mask = 3 [json_name = "update_mask"]; } @@ -152,6 +169,7 @@ message UpdateAliasResponse { } message DeleteAliasRequest { + // The ID of the alias to delete. string id = 1; // @gotags: `class:"public" eventstream:"observation"` } diff --git a/internal/proto/controller/api/services/v1/auth_method_service.proto b/internal/proto/controller/api/services/v1/auth_method_service.proto index 883834da4..435745322 100644 --- a/internal/proto/controller/api/services/v1/auth_method_service.proto +++ b/internal/proto/controller/api/services/v1/auth_method_service.proto @@ -18,64 +18,75 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "auth"; service AuthMethodService { - // GetAuthMethod returns a stored Auth Method if present. The provided request - // must include the Auth Method id. If missing, malformed or referencing a + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Auth method service" + description: + "The auth method service exposes endpoints for interacting with auth methods in Boundary. " + "An auth method defines how users can authenticate themselves within the system. " + "It acts as a bridge between Boundary and various external identity providers or authentication mechanisms." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/auth-methods"; + description: "Read about auth methods in the Boundary domain model"; + } + }; + // GetAuthMethod returns a stored auth method if present. The provided request + // must include the auth method id. If missing, malformed or referencing a // non existing resource an error is returned. rpc GetAuthMethod(GetAuthMethodRequest) returns (GetAuthMethodResponse) { option (google.api.http) = { get: "/v1/auth-methods/{id}" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Gets a single Auth Method."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Gets a single auth method."}; } - // ListAuthMethods returns a list of stored Auth Methods which are in the + // ListAuthMethods returns a list of stored auth methods which are in the // provided scope. The request must include the scope id and if missing, // malformed, or referencing a non existing scope, an error is returned. rpc ListAuthMethods(ListAuthMethodsRequest) returns (ListAuthMethodsResponse) { option (google.api.http) = {get: "/v1/auth-methods"}; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all Auth Methods."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all auth methods."}; } - // CreateAuthMethod creates and stores an Auth Method in boundary. The - // provided request must include the scope in which the Auth Method will be + // CreateAuthMethod creates and stores an auth method in Boundary. The + // provided request must include the scope in which the auth method will be // created. If the scope id is missing, malformed or referencing a // non existing resource an error is returned. If a name is provided that is - // in use in another Auth Method in the same scope, an error is returned. + // in use in another auth method in the same scope, an error is returned. rpc CreateAuthMethod(CreateAuthMethodRequest) returns (CreateAuthMethodResponse) { option (google.api.http) = { post: "/v1/auth-methods" body: "item" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Creates a single Auth Method."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Creates a single auth method."}; } - // UpdateAuthMethod updates an existing Auth Method in boundary. The provided - // Auth Method must not have any read only fields set. The update mask must be + // UpdateAuthMethod updates an existing auth method in Boundary. The provided + // auth method must not have any read only fields set. The update mask must be // included in the request and contain at least 1 mutable field. To unset // a field's value, include the field in the update mask and don't set it - // in the provided user. An error is returned if the Auth Method id is missing + // in the provided user. An error is returned if the auth method id is missing // or reference a non existing resource. An error is also returned if the // request attempts to update the name to one that is already in use by - // another Auth Method in the parent scope. + // another auth method in the parent scope. rpc UpdateAuthMethod(UpdateAuthMethodRequest) returns (UpdateAuthMethodResponse) { option (google.api.http) = { patch: "/v1/auth-methods/{id}" body: "item" response_body: "item" }; - option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Updates an Auth Method."}; + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Updates an auth method."}; } - // DeleteAuthMethod removes an Auth Method from Boundary. If the Auth Method id + // DeleteAuthMethod removes an auth method from Boundary. If the auth method id // is malformed or not provided an error is returned. rpc DeleteAuthMethod(DeleteAuthMethodRequest) returns (DeleteAuthMethodResponse) { option (google.api.http) = {delete: "/v1/auth-methods/{id}"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Deletes an AuthMethod"}; } - // ChangeState changes the state of an Auth Method from Boundary. + // ChangeState changes the state of an auth method from Boundary. rpc ChangeState(ChangeStateRequest) returns (ChangeStateResponse) { option (google.api.http) = { post: "/v1/auth-methods/{id}:change-state" @@ -96,6 +107,7 @@ service AuthMethodService { } message GetAuthMethodRequest { + // Id of the auth method being requested. string id = 1; // @gotags: `class:"public" eventstream:"observation"` } @@ -104,17 +116,22 @@ message GetAuthMethodResponse { } message ListAuthMethodsRequest { + // The scope id in which to list auth methods. string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` + // Whether to recursively list auth methods in the provided scope's child scopes. bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } @@ -223,7 +240,7 @@ message LdapLoginAttributes { } message AuthenticateRequest { - // The ID of the Auth Method in the system that should be used for authentication. + // The ID of the auth method in the system that should be used for authentication. string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public" eventstream:"observation"` // This can be "cookie" or "token". If not provided, "token" will be used. "cookie" activates a split-cookie method where the token is split partially between http-only and regular cookies in order // to keep it safe from rogue JS in the browser. Deprecated, use "type" instead. @@ -235,7 +252,7 @@ message AuthenticateRequest { // to keep it safe from rogue JS in the browser. string type = 6 [json_name = "type"]; // @gotags: `class:"public" eventstream:"observation"` oneof attrs { - // Attributes are passed to the Auth Method; the valid keys and values depend on the type of Auth Method as well as the command. + // Attributes are passed to the auth method. The valid keys and values depend on the type of auth method as well as the command. google.protobuf.Struct attributes = 4; // Note: these fields have a custom mapping function for transforming to and from the generic attributes, // they do not use the standard attribute transformation. @@ -259,7 +276,7 @@ message AuthenticateResponse { // The type of the token returned. Either "cookie" or "token". string type = 3; // @gotags: `class:"public" eventstream:"observation"` oneof attrs { - // Valid keys and values depend on the type of Auth Method as well as the command. + // Valid keys and values depend on the type of auth method as well as the command. google.protobuf.Struct attributes = 4 [json_name = "attributes"]; // Note: these fields have a custom mapping function for transforming to and from the generic attributes, // they do not use the standard attribute transformation. diff --git a/internal/proto/controller/api/services/v1/authtokens_service.proto b/internal/proto/controller/api/services/v1/authtokens_service.proto index 1b3ae2719..c617e847e 100644 --- a/internal/proto/controller/api/services/v1/authtokens_service.proto +++ b/internal/proto/controller/api/services/v1/authtokens_service.proto @@ -12,6 +12,14 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service AuthTokenService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Auth token service" + description: + "The auth token service provides the ability to manage and retrieve auth tokens. " + "An auth token serves as a temporary credential issued to a user after successful authentication. " + "It grants the user access to Boundary's resources and capabilities for a limited duration." + }; + // GetAuthToken returns a stored Auth Token if present. The provided request // must include the Auth Token id and if it is missing, malformed or // referencing a non existing resource an error is returned. @@ -51,15 +59,18 @@ message GetAuthTokenResponse { message ListAuthTokensRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the default page configured, - // an error will be returned. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/billing_service.proto b/internal/proto/controller/api/services/v1/billing_service.proto index 06607d484..57cc18e58 100644 --- a/internal/proto/controller/api/services/v1/billing_service.proto +++ b/internal/proto/controller/api/services/v1/billing_service.proto @@ -12,6 +12,11 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service BillingService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Billing service" + description: "The billing service provides the usage data. It includes the active users in a given time period." + }; + // MonthlyActiveUsers returns the monthly active users for the given time period. // If no time period is provided, the current and previous months are returned. // If the provided request contains a start time but no end time, it will return diff --git a/internal/proto/controller/api/services/v1/credential_library_service.proto b/internal/proto/controller/api/services/v1/credential_library_service.proto index b14ef1bc0..e423bcba8 100644 --- a/internal/proto/controller/api/services/v1/credential_library_service.proto +++ b/internal/proto/controller/api/services/v1/credential_library_service.proto @@ -15,6 +15,19 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "credential"; service CredentialLibraryService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Credential library service" + description: + "The credential library service acts as a centralized repository for managing credentials used during sessions. " + "It offers a secure and efficient way to store, rotate, and manage various the various types of credentials that " + "are required for infrastructure access. The credential library service provides endpoints for interacting with " + "credential libraries." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credential-libraries"; + description: "Read about credential libraries in the Boundary domain model"; + } + }; + // GetCredentialLibrary returns a stored Credential Library if present. The provided request // must include the Credential Store id. If missing, malformed or referencing a // non existing resource an error is returned. @@ -83,15 +96,18 @@ message GetCredentialLibraryResponse { message ListCredentialLibrariesRequest { string credential_store_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/credential_service.proto b/internal/proto/controller/api/services/v1/credential_service.proto index 29a3d43bd..34e55fab2 100644 --- a/internal/proto/controller/api/services/v1/credential_service.proto +++ b/internal/proto/controller/api/services/v1/credential_service.proto @@ -15,6 +15,18 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "credential"; service CredentialService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Credential service" + description: + "A credential is a data structure that contains one or more secrets that bind an " + "identity to a set of permissions or capabilities on a host for a session. " + "The credential service provides endpoints for managing credentials in Boundary. " + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credentials"; + description: "Read about credentials in the Boundary domain model"; + } + }; + // GetCredential returns a stored Credential if present. The provided request // must include the Credential Store id. If missing, malformed or referencing a // non existing resource an error is returned. @@ -83,15 +95,18 @@ message GetCredentialResponse { message ListCredentialsRequest { string credential_store_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/credential_store_service.proto b/internal/proto/controller/api/services/v1/credential_store_service.proto index b104e3acf..ee9532abb 100644 --- a/internal/proto/controller/api/services/v1/credential_store_service.proto +++ b/internal/proto/controller/api/services/v1/credential_store_service.proto @@ -15,6 +15,18 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "credential"; service CredentialStoreService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Credential store service" + description: + "A credential store is a resource that can retrieve, store, and potentially generate " + "credentials of differing types and differing access levels. " + "The credential store service provides endpoints for managing credential stores in Boundary. " + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/credential-stores"; + description: "Read about credential stores in the Boundary domain model"; + } + }; + // GetCredentialStore returns a stored Credential Store if present. The provided request // must include the Credential Store id. If missing, malformed or referencing a // non existing resource an error is returned. @@ -84,15 +96,18 @@ message GetCredentialStoreResponse { message ListCredentialStoresRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/doc.proto b/internal/proto/controller/api/services/v1/doc.proto new file mode 100644 index 000000000..fec681080 --- /dev/null +++ b/internal/proto/controller/api/services/v1/doc.proto @@ -0,0 +1,79 @@ +// Copyright (c) HashiCorp, Inc. +// SPDX-License-Identifier: MPL-2.0 + +syntax = "proto3"; + +package controller.api.services.v1; + +import "protoc-gen-openapiv2/options/annotations.proto"; + +option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; +// Global definitions for our HTTP/JSON API. +option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { + info: { + version: "placeholder-version" // Replaced at generation time by version/VERSION contents + title: "Boundary controller HTTP API" + description: + "Welcome to the Boundary controller HTTP API documentation. " + "This page provides a reference guide for using the Boundary controller API, a JSON-based HTTP API. " + "The API implements commonly seen HTTP API patterns for status codes, paths, and errors. " + "See the [API overview](https://developer.hashicorp.com/boundary/docs/api-clients/api) for more information.\n\n" + "Before you read this page, it is useful to understand Boundary's [domain model](https://developer.hashicorp.com/boundary/docs/concepts/domain-model) " + "and to be aware of the terminology used here. " + "To get started, search for the service you want to interact with in the sidebar to the left. " + "Each resource in Boundary, such as accounts and credential stores, has its own service. " + "Each service contains all the API endpoints for the resource.\n" + "## Status codes\n" + "- `2XX`: Boundary returns a code between `200` and `299` on success. Generally this is `200`, but implementations should be prepared to accept any `2XX` status code as indicating success. If a call returns a `2XX` code that is not `200`, it follows well-understood semantics for those status codes.\n" + "- `400`: Boundary returns `400` when a command cannot be completed due to invalid user input, except for a properly-formatted identifier that does not map to an existing resource, which returns a `404` as discussed below.\n" + "- `401`: Boundary returns `401` if no authentication token is provided or if the provided token is invalid. A valid token that simply does not have permission for a resource returns a `403` instead. A token that is invalid or missing, but where the anonymous user (`u_anon`) is able to successfully perform the action, will not return a `401` but instead will return the result of the action.\n-" + " `403`: Boundary returns `403` if a provided token was valid but does not have the grants required to perform the requested action.\n-" + " `404`: Boundary returns `404` if a resource cannot be found. Note that this happens _prior_ to authentication/authorization checking in nearly all cases as the resource information (such as its scope, available actions, etc.) is a required part of that check. As a result, an action against a resource that does not exist returns a `404` instead of a `401` or `403`. While this could be considered an information leak, since IDs are randomly generated and this only discloses whether an ID is valid, it's tolerable as it allows for far simpler and more robust client implementation.\n-" + " `405`: Boundary returns a `405` to indicate that the method (HTTP verb or custom action) is not implemented for the given resource.\n-" + " `429`: Boundary returns a `429` if any of the API rate limit quotas have been exhausted for the resource and action. It includes the `Retry-After` header so that the client knows how long to wait before making a new request.\n-" + " `500`: Boundary returns `500` if an error occurred that is not (directly) tied to invalid user input. If a `500` is generated, information about the error is logged to Boundary's server log but is not generally provided to the client.\n-" + " `503`: Boundary returns a `503` if it is unable to store a quota due to the API rate limit being exceeded. It includes the `Retry-After` header so that the client knows how long to wait before making a new request.\n## List pagination\nBoundary uses [API pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination) to support searching and filtering large lists of results efficiently." + contact: { + name: "HashiCorp Boundary" + url: "https://www.boundaryproject.io/" + }; + license: { + name: "Business Source License 1.1" + url: "https://github.com/hashicorp/boundary/blob/main/LICENSE" + }; + } + host: "your-boundary-hostname.com" + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs" + description: "Boundary documentation" + } + schemes: HTTPS + schemes: HTTP + consumes: "application/json" + produces: "application/json" + responses: { + key: "default"; + value: { + description: "Returned when there is an error processing the request." + schema: { + json_schema: {ref: ".controller.api.v1.Error"} + } + } + } + security_definitions: { + security: { + key: "ApiKeyAuth" + value: { + type: TYPE_API_KEY + in: IN_HEADER + name: "Authorization" + } + } + } + security: { + security_requirement: { + key: "ApiKeyAuth" + value: {} + } + } +}; diff --git a/internal/proto/controller/api/services/v1/group_service.proto b/internal/proto/controller/api/services/v1/group_service.proto index 9d3aabf95..d44ae0334 100644 --- a/internal/proto/controller/api/services/v1/group_service.proto +++ b/internal/proto/controller/api/services/v1/group_service.proto @@ -13,6 +13,18 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service GroupService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Group service" + description: + "A group is a resource that represents a collection of users that can be " + "treated equally for the purposes of access control. " + "The group service provides endpoints for managing groups in Boundary. " + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/groups"; + description: "Read about groups in the Boundary domain model"; + } + }; + // GetGroup returns a stored Group if present. The provided request must // include the Group id and if it is missing, malformed or referencing a // non existing resource an error is returned. @@ -123,17 +135,20 @@ message GetGroupResponse { message ListGroupsRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/host_catalog_service.proto b/internal/proto/controller/api/services/v1/host_catalog_service.proto index ddd00462e..1022efc63 100644 --- a/internal/proto/controller/api/services/v1/host_catalog_service.proto +++ b/internal/proto/controller/api/services/v1/host_catalog_service.proto @@ -15,6 +15,18 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "host"; service HostCatalogService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Host catalog service" + description: + "A host catalog serves as a central repository for managing and organizing the target " + "hosts or resources that Boundary can access and control. " + "The host catalog service provides endpoints for managing host catalogs in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/host-catalogs"; + description: "Read about host catalogs in the Boundary domain model"; + } + }; + // GetHostCatalog returns a stored Host Catalog if present. The provided // request must include the Catalog IDs for the Host Catalog being retrieved. // If missing, malformed, or referencing a non-existing resource an error is @@ -84,15 +96,18 @@ message GetHostCatalogResponse { message ListHostCatalogsRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/host_service.proto b/internal/proto/controller/api/services/v1/host_service.proto index 36a24f8f3..5f284f055 100644 --- a/internal/proto/controller/api/services/v1/host_service.proto +++ b/internal/proto/controller/api/services/v1/host_service.proto @@ -15,6 +15,18 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "host"; service HostService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Host service" + description: + "A host is a resource that represents a computing element with a network " + "address that is reachable from a Boundary worker. " + "The host service provides endpoints for managing hosts in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/hosts"; + description: "Read about hosts in the Boundary domain model"; + } + }; + // GetHost returns a stored Host if present. The provided request // must include the host ID for the resource being retrieved. If the ID is // missing, malformed or referencing anon existing resource an error is @@ -85,15 +97,18 @@ message GetHostResponse { message ListHostsRequest { string host_catalog_id = 1 [json_name = "host_catalog_id"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/host_set_service.proto b/internal/proto/controller/api/services/v1/host_set_service.proto index 18688d0f9..c0054c192 100644 --- a/internal/proto/controller/api/services/v1/host_set_service.proto +++ b/internal/proto/controller/api/services/v1/host_set_service.proto @@ -15,6 +15,17 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "host"; service HostSetService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Host set service" + description: + "A host set is a resource that represents a collection of hosts that are considered equivalent for the purposes of access control. " + "The host set service provides endpoints for managing host sets in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/host-sets"; + description: "Read about host sets in the Boundary domain model"; + } + }; + // GetHostSet returns a stored Host Set if present. The provided request // must include the Host Set ID for the resource being retrieved. If missing, // malformed or reference a non existing resource an error is returned. @@ -129,15 +140,18 @@ message GetHostSetResponse { message ListHostSetsRequest { string host_catalog_id = 1 [json_name = "host_catalog_id"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/managed_group_service.proto b/internal/proto/controller/api/services/v1/managed_group_service.proto index 5881a8fe7..8a98a8b25 100644 --- a/internal/proto/controller/api/services/v1/managed_group_service.proto +++ b/internal/proto/controller/api/services/v1/managed_group_service.proto @@ -15,6 +15,17 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "auth"; service ManagedGroupService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Managed group service" + description: + "A managed group is a resource that represents a collection of accounts. " + "The managed group service provides endpoints for creating, reading, updating, and deleting managed groups in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/managed-groups"; + description: "Read about managed groups in the Boundary domain model"; + } + }; + // GetManagedGroup returns a stored ManagedGroup if present. The provided request must // include the id for the ManagedGroup be retrieved. If missing, malformed or // referencing a non existing ManagedGroup an error is returned. @@ -28,7 +39,7 @@ service ManagedGroupService { // ListManagedGroups returns a list of stored ManagedGroups which exist inside the // provided Auth Method. The request must include the Auth Method id which - // contains the ManagedGroups being listed. If missing or malformed an error + // contains the ManagedGroups being listed. If missing or malformed, an error // is returned. rpc ListManagedGroups(ListManagedGroupsRequest) returns (ListManagedGroupsResponse) { option (google.api.http) = {get: "/v1/managed-groups"}; @@ -85,15 +96,18 @@ message GetManagedGroupResponse { message ListManagedGroupsRequest { string auth_method_id = 1 [json_name = "auth_method_id"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/policy_service.proto b/internal/proto/controller/api/services/v1/policy_service.proto index ff9ca1038..d9ef56996 100644 --- a/internal/proto/controller/api/services/v1/policy_service.proto +++ b/internal/proto/controller/api/services/v1/policy_service.proto @@ -15,9 +15,19 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "policy"; service PolicyService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Policy service" + description: + "The policy service provides endpoints that let you manage policies in Boundary. " + "Policies are used to define rules for the lifecycle of session recordings." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/storage-policy"; + description: "Read about policies in the Boundary domain model"; + } + }; // GetPolicy returns a policy with the given id, if it exists. The request - // must include a policy id. An error is returned if the id is missing, - // malformed, or if a policy with the provided id doesn't exist. + // must include a policy id. An error is returned if the ID is missing, + // malformed, or if a policy with the provided ID doesn't exist. rpc GetPolicy(GetPolicyRequest) returns (GetPolicyResponse) { option (google.api.http) = { get: "/v1/policies/{id}" @@ -28,16 +38,16 @@ service PolicyService { // ListPolicies returns a list of stored policies in Boundary which exist // inside the scope referenced in the request. The request must include the - // scope id for the policies being retrieved. An error is returned if the - // scope id is missing, malformed, or references a non existing scope. + // scope ID for the policies being retrieved. An error is returned if the + // scope ID is missing, malformed, or references a non existing scope. rpc ListPolicies(ListPoliciesRequest) returns (ListPoliciesResponse) { option (google.api.http) = {get: "/v1/policies"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Lists all policies."}; } // CreatePolicy creates and stores a new policy in Boundary. The provided - // request must include the scope id in which the policy will be created. An - // error is returned if the scope id is missing, malformed or references a non + // request must include the scope ID in which the policy will be created. An + // error is returned if the scope ID is missing, malformed or references a non // existing scope. rpc CreatePolicy(CreatePolicyRequest) returns (CreatePolicyResponse) { option (google.api.http) = { @@ -63,7 +73,7 @@ service PolicyService { } // DeletePolicy deletes a policy from Boundary. An error is returned if the - // policy id is malformed or not provided. + // policy ID is malformed or not provided. rpc DeletePolicy(DeletePolicyRequest) returns (DeletePolicyResponse) { option (google.api.http) = {delete: "/v1/policies/{id}"}; option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {summary: "Deletes an existing policy."}; @@ -82,14 +92,15 @@ message ListPoliciesRequest { string scope_id = 1; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 2 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` string filter = 3 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 4 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 5 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/role_service.proto b/internal/proto/controller/api/services/v1/role_service.proto index d6a63c7ad..835d98c6a 100644 --- a/internal/proto/controller/api/services/v1/role_service.proto +++ b/internal/proto/controller/api/services/v1/role_service.proto @@ -13,6 +13,17 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service RoleService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Role service" + description: + "A role represents a collection of permissions that define what actions a user or service account can perform within the system. " + "The role service provides endpoints that let you manage roles in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/roles"; + description: "Read about roles in the Boundary domain model"; + } + }; + // GetRole returns a stored Role if present. The provided request must include // the Role ID for the Role being retrieved. If the ID is missing, malformed // or reference a non-existing resource an error is returned. @@ -205,17 +216,20 @@ message GetRoleResponse { message ListRolesRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/scope_service.proto b/internal/proto/controller/api/services/v1/scope_service.proto index dbd8606e8..316e1362f 100644 --- a/internal/proto/controller/api/services/v1/scope_service.proto +++ b/internal/proto/controller/api/services/v1/scope_service.proto @@ -11,13 +11,20 @@ import "google/protobuf/field_mask.proto"; import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; -option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_swagger) = { - info: {title: "Boundary Controller HTTP API"} - schemes: HTTPS - schemes: HTTP -}; service ScopeService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Scope service" + description: + "A scope acts as a permission Boundary modeled using the concept of a container. " + "It creates a hierarchical structure that lets you organize your resources and manage access control within Boundary. " + "The scope service provides endpoints to let you manage scopes in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/scopes"; + description: "Read about scopes in the Boundary domain model"; + } + }; + // GetScope returns a stored Scope if present. The provided request // must include the scope ID for the scope being retrieved. If // that ID is missing, malformed or references a non existing @@ -153,15 +160,17 @@ message GetScopeResponse { message ListScopesRequest { string scope_id = 1; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` // An opaque token used to continue an existing iteration or // request updated items. If paginating, use this token in the // next list request. string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/session_recording_service.proto b/internal/proto/controller/api/services/v1/session_recording_service.proto index 0caed56a1..c24c241d8 100644 --- a/internal/proto/controller/api/services/v1/session_recording_service.proto +++ b/internal/proto/controller/api/services/v1/session_recording_service.proto @@ -13,6 +13,18 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service SessionRecordingService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Session recording service" + description: + "A session recording is a feature that enables administrators to record and play back user access sessions to target resources. " + "It provides an audit trail of user activity and lets administrators monitor access. " + "The session recording service provides endpoints that let you manage session recordings in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/session-recordings"; + description: "Read about session recordings in the Boundary domain model"; + } + }; + // GetSessionRecording returns a stored Session recording if present. The provided request // must include the Session recording ID for the Session recording being retrieved, // or the ID of the Session that was recorded. If that ID is missing, malformed or reference a @@ -80,14 +92,15 @@ message ListSessionRecordingsRequest { // If set and scope_id is empty, shows session recordings in // all scopes the caller has access to. bool recursive = 2; // @gotags: class:"public" - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 3 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 4 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/session_service.proto b/internal/proto/controller/api/services/v1/session_service.proto index 96d61d496..eef9ccf75 100644 --- a/internal/proto/controller/api/services/v1/session_service.proto +++ b/internal/proto/controller/api/services/v1/session_service.proto @@ -12,6 +12,17 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service SessionService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Session service" + description: + "A session represents a temporary, authorized access connection between a user and a target resource. " + "The session service provides endpoints that let you manage sessions in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/sessions"; + description: "Read about sessions in the Boundary domain model"; + } + }; + // GetSession returns a stored Session if present. The provided request // must include the Session ID for the Session being retrieved. If // any that ID is missing, malformed or reference a non existing @@ -57,18 +68,21 @@ message GetSessionResponse { message ListSessionsRequest { string scope_id = 1; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` // Experimental. By default only non-terminated (i.e. pending, active, canceling) are returned. // Set this option to include terminated sessions as well. bool include_terminated = 40 [json_name = "include_terminated"]; // @gotags: `class:"public" eventstream:"observation"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 50 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 60 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/storage_bucket_service.proto b/internal/proto/controller/api/services/v1/storage_bucket_service.proto index c37b5c980..f8d201729 100644 --- a/internal/proto/controller/api/services/v1/storage_bucket_service.proto +++ b/internal/proto/controller/api/services/v1/storage_bucket_service.proto @@ -15,6 +15,17 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "storage"; service StorageBucketService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Storage bucket service" + description: + "A storage bucket is an external storage location used to store recordings of user access sessions. " + "The storage bucket service provides endpoints that let you manage storage buckets in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/storage-buckets"; + description: "Read about storage buckets in the Boundary domain model"; + } + }; + // GetStorageBucket returns a stored Storage Bucket if present. The provided // request must include the ID for the Storage Bucket being retrieved. // If missing, malformed, or referencing a non-existing resource an error is @@ -83,15 +94,18 @@ message GetStorageBucketResponse { message ListStorageBucketsRequest { string scope_id = 1 [json_name = "scope_id"]; // @gotags: `class:"public"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. - // If unset, the default page size configured will be used. - // If the page_size is greater than the max page size configured, - // the page size will be truncated to this number. + // If you do not set a page size, Boundary uses the configured default page size. + // If the page_size is greater than the default page size configured, + // Boundary truncates the page size to this number. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/target_service.proto b/internal/proto/controller/api/services/v1/target_service.proto index f2a6f5940..f92a04831 100644 --- a/internal/proto/controller/api/services/v1/target_service.proto +++ b/internal/proto/controller/api/services/v1/target_service.proto @@ -15,6 +15,17 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/s option (custom_options.v1.domain) = "target"; service TargetService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Target service" + description: + "A target represents an endpoint or resource that users can access through Boundary sessions. " + "The target service provides endpoints that let you manage targets in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/targets"; + description: "Read about targets in the Boundary domain model"; + } + }; + // GetTarget returns a stored Target if present. The provided request // must include the Target ID for the Target being retrieved. If // that ID is missing, malformed or reference a non existing @@ -197,15 +208,18 @@ message GetTargetResponse { message ListTargetsRequest { string scope_id = 1; // @gotags: `class:"public" eventstream:"observation"` bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` + // You can specify that the filter should only return items that match. + // Refer to [filter expressions](https://developer.hashicorp.com/boundary/docs/concepts/filtering) for more information. string filter = 30 [json_name = "filter"]; // @gotags: `class:"public"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/user_service.proto b/internal/proto/controller/api/services/v1/user_service.proto index 56fd560a2..62067c965 100644 --- a/internal/proto/controller/api/services/v1/user_service.proto +++ b/internal/proto/controller/api/services/v1/user_service.proto @@ -13,6 +13,17 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service UserService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "User service" + description: + "A user can be a human individual or a service account that accesses resources. " + "The user service provides endpoints that let you manage users in Boundary." + external_docs: { + url: "https://developer.hashicorp.com/boundary/docs/concepts/domain-model/users"; + description: "Read about users in the Boundary domain model"; + } + }; + // GetUser returns a stored User if present. The provided request // must include the User ID for the User being retrieved. If // that ID is missing, malformed or reference a non existing @@ -130,15 +141,16 @@ message ListUsersRequest { bool recursive = 20 [json_name = "recursive"]; // @gotags: `class:"public" eventstream:"observation"` string filter = 30 [json_name = "filter"]; // @gotags: `class:"sensitive"` - // An opaque token used to continue an existing iteration or - // request updated items. If not specified, pagination - // will start from the beginning. + // An opaque token that Boundary uses to continue an existing iteration or + // request updated items. If you do not specify a token, pagination + // starts from the beginning. To learn more about list pagination + // in Boundary, refer to [list pagination](https://developer.hashicorp.com/boundary/docs/api-clients/api/pagination). string list_token = 40 [json_name = "list_token"]; // @gotags: `class:"public"` // The maximum size of a page in this iteration. // If unset, the default page size configured will be used. // If the page_size is greater than the default page configured, - // an error will be returned. + // the page size will be truncated to this number.. uint32 page_size = 50 [json_name = "page_size"]; // @gotags: `class:"public"` } diff --git a/internal/proto/controller/api/services/v1/worker_service.proto b/internal/proto/controller/api/services/v1/worker_service.proto index 6a90427b2..d2558917c 100644 --- a/internal/proto/controller/api/services/v1/worker_service.proto +++ b/internal/proto/controller/api/services/v1/worker_service.proto @@ -14,6 +14,14 @@ import "protoc-gen-openapiv2/options/annotations.proto"; option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services"; service WorkerService { + option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_tag) = { + name: "Worker service" + description: + "A worker is a service that acts as a network proxy for Boundary sessions. " + "It functions as a bridge between users and the target resources they need to access. " + "The worker service provides endpoints that let you manage workers in Boundary." + }; + // GetWorker returns a stored Worker if present. The provided request // must include the Worker ID for the Worker being retrieved. If // that ID is missing, malformed or reference a non existing diff --git a/internal/proto/controller/api/v1/error.proto b/internal/proto/controller/api/v1/error.proto index 99805a5a2..00facd283 100644 --- a/internal/proto/controller/api/v1/error.proto +++ b/internal/proto/controller/api/v1/error.proto @@ -9,8 +9,10 @@ option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api;a // Error information relevant to an error that was wrapped by the backend. message WrappedError { - // An string indicating what operation was being run when the wrapped error was created. + // A string indicating what operation was being run when the wrapped error occurred. string op = 1; + + // The wrapped error message. string message = 2; } @@ -36,10 +38,13 @@ message FieldError { message Error { // The kind of error this is. string kind = 1; + // An string indicating what operation was being run when the error was returned. string op = 2; + // A human-readable explanation specific to this occurrence of the error. string message = 3; - // Additional metadata regarding the error. Depending on the error, different fields will be populated. + + // Additional metadata regarding the error. Depending on the error, different fields are populated. ErrorDetails details = 4; } diff --git a/internal/proto/controller/storage/auth/oidc/store/v1/oidc.proto b/internal/proto/controller/storage/auth/oidc/store/v1/oidc.proto index f6558cc03..e6aecaedf 100644 --- a/internal/proto/controller/storage/auth/oidc/store/v1/oidc.proto +++ b/internal/proto/controller/storage/auth/oidc/store/v1/oidc.proto @@ -109,7 +109,7 @@ message AuthMethod { that: "attributes.max_age" }]; - // api_url is the URLs prefix at which the boundary api is reachable. This value + // api_url is the URLs prefix at which the Boundary api is reachable. This value // is used by the auth method in the different steps of the auth flow. // @inject_tag: `gorm:"default:null"` string api_url = 160 [(custom_options.v1.mask_mapping) = { diff --git a/internal/proto/controller/storage/authtoken/store/v1/authtoken.proto b/internal/proto/controller/storage/authtoken/store/v1/authtoken.proto index e246acaf3..de62a0872 100644 --- a/internal/proto/controller/storage/authtoken/store/v1/authtoken.proto +++ b/internal/proto/controller/storage/authtoken/store/v1/authtoken.proto @@ -22,7 +22,7 @@ message AuthToken { // @inject_tag: `gorm:"default:current_timestamp"` timestamp.v1.Timestamp update_time = 3; - // last_access_time indicates the last time the auth token was used on the boundary API. + // last_access_time indicates the last time the auth token was used on the Boundary API. // @inject_tag: `gorm:"default:current_timestamp"` timestamp.v1.Timestamp approximate_last_access_time = 4; diff --git a/internal/proto/controller/storage/oplog/store/v1/oplog.proto b/internal/proto/controller/storage/oplog/store/v1/oplog.proto index e10d98b07..ec5d02a04 100644 --- a/internal/proto/controller/storage/oplog/store/v1/oplog.proto +++ b/internal/proto/controller/storage/oplog/store/v1/oplog.proto @@ -3,7 +3,7 @@ syntax = "proto3"; -// define an oplog package within the boundary controller +// define an oplog package within the Boundary controller package controller.storage.oplog.store.v1; import "controller/storage/timestamp/v1/timestamp.proto"; diff --git a/sdk/go.mod b/sdk/go.mod index 87281e05b..df6250f83 100644 --- a/sdk/go.mod +++ b/sdk/go.mod @@ -5,6 +5,7 @@ go 1.21 toolchain go1.21.5 require ( + github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 github.com/hashicorp/eventlogger v0.2.6-0.20231025104552-802587e608f0 github.com/hashicorp/eventlogger/filters/encrypt v0.1.8-0.20231025104552-802587e608f0 github.com/hashicorp/go-hclog v1.5.0 @@ -12,8 +13,8 @@ require ( github.com/hashicorp/go-secure-stdlib/pluginutil/v2 v2.0.6 github.com/hashicorp/go-secure-stdlib/strutil v0.1.2 github.com/stretchr/testify v1.8.4 - google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 - google.golang.org/grpc v1.59.0 + google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe + google.golang.org/grpc v1.61.0 google.golang.org/protobuf v1.33.0 nhooyr.io/websocket v1.8.10 ) @@ -23,12 +24,12 @@ require ( github.com/Masterminds/sprig/v3 v3.2.3 // indirect github.com/hashicorp/go-kms-wrapping/plugin/v2 v2.0.5 // indirect github.com/hashicorp/go-secure-stdlib/base62 v0.1.2 // indirect - github.com/kr/pretty v0.3.1 // indirect + github.com/rogpeppe/go-internal v1.9.0 // indirect github.com/shopspring/decimal v1.3.1 // indirect github.com/spf13/cast v1.5.0 // indirect go.uber.org/goleak v1.1.12 // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b // indirect - gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c // indirect + google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe // indirect ) require ( @@ -38,7 +39,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/fatih/color v1.15.0 // indirect github.com/golang/protobuf v1.5.3 // indirect - github.com/google/uuid v1.3.1 // indirect + github.com/google/uuid v1.4.0 // indirect github.com/hashicorp/errwrap v1.1.0 // indirect github.com/hashicorp/go-kms-wrapping/v2 v2.0.14 github.com/hashicorp/go-multierror v1.1.1 // indirect @@ -66,9 +67,9 @@ require ( github.com/pmezard/go-difflib v1.0.0 // indirect github.com/posener/complete v1.2.3 // indirect github.com/ryanuber/go-glob v1.0.0 // indirect - golang.org/x/crypto v0.14.0 // indirect - golang.org/x/net v0.17.0 // indirect - golang.org/x/sys v0.13.0 // indirect - golang.org/x/text v0.13.0 // indirect + golang.org/x/crypto v0.18.0 // indirect + golang.org/x/net v0.20.0 // indirect + golang.org/x/sys v0.16.0 // indirect + golang.org/x/text v0.14.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect ) diff --git a/sdk/go.sum b/sdk/go.sum index eba88f431..ac13d53c2 100644 --- a/sdk/go.sum +++ b/sdk/go.sum @@ -34,8 +34,10 @@ github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= 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.1 h1:KjJaJ9iWZ3jOFZIf1Lqf4laDRCasjl0BCmnEGxkdLb4= -github.com/google/uuid v1.3.1/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4= +github.com/google/uuid v1.4.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1 h1:/c3QmbOGMGTOumP2iT/rCwB7b0QDGLKzqOmktBjT+Is= +github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.1/go.mod h1:5SN9VR2LTsRFsrEC6FHgRbTWrTHu6tqPeKxEQv15giM= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= github.com/hashicorp/errwrap v1.1.0 h1:OxrOeh75EUXMY8TBjag2fzXGZ40LB6IKw45YeGUDY2I= github.com/hashicorp/errwrap v1.1.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= @@ -95,7 +97,6 @@ github.com/jhump/protoreflect v1.15.1 h1:HUMERORf3I3ZdX05WaQ6MIpd/NJ434hTp5YiKgf github.com/jhump/protoreflect v1.15.1/go.mod h1:jD/2GMKKE6OqX8qTjhADU1e6DShO+gavG9e0Q693nKo= github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= @@ -130,7 +131,6 @@ github.com/mitchellh/reflectwalk v1.0.2 h1:G2LzWKi524PWgd3mLHV8Y5k7s6XUvT0Gef6zx github.com/mitchellh/reflectwalk v1.0.2/go.mod h1:mSTlrgnPZtwu0c4WaC2kGObEpuNDbx0jmZXqmk4esnw= github.com/oklog/run v1.1.0 h1:GEenZ1cK0+q0+wsJew9qUg/DyD8k3JzYsZAi5gYi2mA= github.com/oklog/run v1.1.0/go.mod h1:sVPdnTZT1zYwAJeCMu2Th4T21pA3FPOQRfWjQlk7DVU= -github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= 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= @@ -169,8 +169,8 @@ golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPh golang.org/x/crypto v0.0.0-20200820211705-5c72a883971a/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.3.0/go.mod h1:hebNnKkNXi2UzZN1eVRvBB7co0a+JxK6XbPiWVs/3J4= -golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= -golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= +golang.org/x/crypto v0.18.0 h1:PGVlW0xEltQnzFZ55hkuX5+KLyrMYhHld1YHO4AKcdc= +golang.org/x/crypto v0.18.0/go.mod h1:R0j02AL6hcrfOiy9T4ZYp/rcWeMxM3L6QYxlOuEG1mg= golang.org/x/lint v0.0.0-20190930215403-16217165b5de/go.mod h1:6SW0HCj/g11FgYtHlgUYUwCkIfeOF89ocIRzGO/8vkc= golang.org/x/lint v0.0.0-20200302205851-738671d3881b/go.mod h1:3xt1FjdF8hUf6vQPIChWIBhFzV8gjjsPE/fR3IyQdNY= golang.org/x/mod v0.1.1-0.20191105210325-c90efee705ee/go.mod h1:QqPTAvyqsEbceGzBzNggFXnrqF1CaUcvgkdR5Ot7KZg= @@ -186,8 +186,8 @@ golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.2.0/go.mod h1:KqCZLdyyvdV855qA2rE3GC2aiw5xGR5TEjj8smXukLY= -golang.org/x/net v0.17.0 h1:pVaXccu2ozPjCXewfr1S7xza/zcXTity9cCdXQYSjIM= -golang.org/x/net v0.17.0/go.mod h1:NxSsAGuq816PNPmqtQdLE42eU2Fs7NoRIZrHJAlaCOE= +golang.org/x/net v0.20.0 h1:aCL9BSgETF1k+blQaYUBx9hJ9LOGP3gAVemcZlf1Kpo= +golang.org/x/net v0.20.0/go.mod h1:z8BVo6PvndSri0LbOE3hAn0apkU+1YvI6E70E9jsnvY= golang.org/x/sync v0.0.0-20190423024810-112230192c58/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-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -209,8 +209,8 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.2.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.13.0 h1:Af8nKPmuFypiUBjVoU9V20FiaFXOcuZI21p0ycVYYGE= -golang.org/x/sys v0.13.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.16.0 h1:xWw16ngr6ZMtmxDyKyIgsE93KNKz5HKmMa3b8ALHidU= +golang.org/x/sys v0.16.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= 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/term v0.2.0/go.mod h1:TVmDHMZPmdnySmBfhjOoOdhjzdE1h4u1VwSiw2l1Nuc= @@ -218,8 +218,8 @@ golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= 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/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= -golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= -golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= +golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= +golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ= golang.org/x/tools v0.0.0-20190311212946-11955173bddd/go.mod h1:LCzVGOaR6xXOjkQ3onu1FJEFr0SW1gC7cKk1uF8kGRs= golang.org/x/tools v0.0.0-20191108193012-7d206e10da11/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -232,12 +232,14 @@ golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8T 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/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= -google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405 h1:HJMDndgxest5n2y77fnErkM62iUsptE/H8p0dC2Huo4= -google.golang.org/genproto/googleapis/api v0.0.0-20231030173426-d783a09b4405/go.mod h1:oT32Z4o8Zv2xPQTg0pbVaPr0MPOH6f14RgXt7zfIpwg= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b h1:ZlWIi1wSK56/8hn4QcBp/j9M7Gt3U/3hZw3mC7vDICo= -google.golang.org/genproto/googleapis/rpc v0.0.0-20231016165738-49dd2c1f3d0b/go.mod h1:swOH3j0KzcDDgGUWr+SNpyTen5YrXjS3eyPzFYKc6lc= -google.golang.org/grpc v1.59.0 h1:Z5Iec2pjwb+LEOqzpB2MR12/eKFhDPhuqW91O+4bwUk= -google.golang.org/grpc v1.59.0/go.mod h1:aUPDwccQo6OTjy7Hct4AfBPD1GptF4fyUjIkQ9YtF98= +google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac h1:ZL/Teoy/ZGnzyrqK/Optxxp2pmVh+fmJ97slxSRyzUg= +google.golang.org/genproto v0.0.0-20240116215550-a9fa1716bcac/go.mod h1:+Rvu7ElI+aLzyDQhpHMFMMltsD6m7nqpuWDd2CwJw3k= +google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe h1:0poefMBYvYbs7g5UkjS6HcxBPaTRAmznle9jnxYoAI8= +google.golang.org/genproto/googleapis/api v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:4jWUdICTdgc3Ibxmr8nAJiiLHwQBY0UI0XZcEMaFKaA= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe h1:bQnxqljG/wqi4NTXu2+DJ3n7APcEA882QZ1JvhQAq9o= +google.golang.org/genproto/googleapis/rpc v0.0.0-20240125205218-1f4bbc51befe/go.mod h1:PAREbraiVEVGVdTZsVWjSbbTtSyGbAgIIvni8a8CD5s= +google.golang.org/grpc v1.61.0 h1:TOvOcuXn30kRao+gfcvsebNEa5iZIiLkisYEkf7R7o0= +google.golang.org/grpc v1.61.0/go.mod h1:VUbo7IFqmF1QtCAstipjG0GIoq49KvMe9+h1jFLBNJs= 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.33.0 h1:uNO2rsAINq/JlFpSdYEKIZ0uKD/R9cpdv0T+yoGwGmI= diff --git a/sdk/pbs/controller/api/resources/accounts/account.pb.go b/sdk/pbs/controller/api/resources/accounts/account.pb.go index 23e495bca..f2d6eb205 100644 --- a/sdk/pbs/controller/api/resources/accounts/account.pb.go +++ b/sdk/pbs/controller/api/resources/accounts/account.pb.go @@ -10,8 +10,10 @@ package accounts import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" scopes "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes" _ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions" + _ "google.golang.org/genproto/googleapis/api/annotations" _ "google.golang.org/genproto/googleapis/api/visibility" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -29,30 +31,31 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Account contains all fields related to an Account resource +// Account contains all fields related to an account resource type Account struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The ID of the Account. + // The ID of the account. Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for the Account. + // Scope information for the account. Scope *scopes.ScopeInfo `protobuf:"bytes,20,opt,name=scope,proto3" json:"scope,omitempty"` // Optional name for identification purposes. Name *wrapperspb.StringValue `protobuf:"bytes,30,opt,name=name,proto3" json:"name,omitempty" class:"public"` // @gotags: `class:"public"` // Optional user-set description for identification purposes. Description *wrapperspb.StringValue `protobuf:"bytes,40,opt,name=description,proto3" json:"description,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The time this resource was created. + // The time this resource was created. CreatedTime *timestamppb.Timestamp `protobuf:"bytes,50,opt,name=created_time,proto3" json:"created_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. + // The time this resource was last updated. UpdatedTime *timestamppb.Timestamp `protobuf:"bytes,60,opt,name=updated_time,proto3" json:"updated_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. - // The mutation will fail if the version does not match the latest known good version. + // The mutation fails if the version does not match the latest known good version. + // Version is not required when you create an account. Version uint32 `protobuf:"varint,70,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` - // The type of this Account. + // The type of this account. If you do not set an account type, Boundary infers it from the type of the auth method. Type string `protobuf:"bytes,80,opt,name=type,proto3" json:"type,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // The ID of the Auth Method that is associated with this Account. + // The ID of the auth method that is associated with this account. AuthMethodId string `protobuf:"bytes,90,opt,name=auth_method_id,proto3" json:"auth_method_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Types that are assignable to Attrs: // @@ -61,9 +64,9 @@ type Account struct { // *Account_OidcAccountAttributes // *Account_LdapAccountAttributes Attrs isAccount_Attrs `protobuf_oneof:"attrs"` - // Output only. managed_group_ids indicates IDs of the managed groups that currently contain this account + // Indicates the IDs of the managed groups that currently contain this account ManagedGroupIds []string `protobuf:"bytes,110,rep,name=managed_group_ids,proto3" json:"managed_group_ids,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The available actions on this resource for this user. + // The available actions on this resource for this user. AuthorizedActions []string `protobuf:"bytes,300,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -216,7 +219,7 @@ type isAccount_Attrs interface { } type Account_Attributes struct { - // The attributes that are applicable for the specific Account type. + // The attributes that are applicable for the specific account type. Attributes *structpb.Struct `protobuf:"bytes,100,opt,name=attributes,proto3,oneof"` } @@ -240,15 +243,15 @@ func (*Account_OidcAccountAttributes) isAccount_Attrs() {} func (*Account_LdapAccountAttributes) isAccount_Attrs() {} -// Attributes associated only with Accounts with type "password". +// Attributes associated only with accounts with type "password". type PasswordAccountAttributes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // The login name of this Account. This is unique per Auth Method. + // The login name of this account. This is unique per auth method. LoginName string `protobuf:"bytes,10,opt,name=login_name,proto3" json:"login_name,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // The password for this Account. + // The password for this account. Password *wrapperspb.StringValue `protobuf:"bytes,20,opt,name=password,proto3" json:"password,omitempty" class:"secret"` // @gotags: `class:"secret"` } @@ -298,7 +301,7 @@ func (x *PasswordAccountAttributes) GetPassword() *wrapperspb.StringValue { return nil } -// Attributes associated only with Accounts with type "oidc". +// Attributes associated only with accounts with type "oidc". type OidcAccountAttributes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache @@ -310,13 +313,13 @@ type OidcAccountAttributes struct { // subject is a case sensitive string that maps to the OIDC sub claim. // This value is immutable after creation time. Subject string `protobuf:"bytes,90,opt,name=subject,proto3" json:"subject,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. full_name is a string that maps to the OIDC name claim. + // A string that maps to the OIDC name claim. FullName string `protobuf:"bytes,100,opt,name=full_name,proto3" json:"full_name,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. email is a string that maps to the OIDC email claim. + // A string that maps to the OIDC email claim. Email string `protobuf:"bytes,110,opt,name=email,proto3" json:"email,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. token_claims are the marshaled claims from the token. + // The marshaled claims from the token. TokenClaims *structpb.Struct `protobuf:"bytes,120,opt,name=token_claims,json=tokenClaims,proto3" json:"token_claims,omitempty"` - // Output only. userinfo_claims are the marshaled claims from userinfo. + // The marshaled claims from userinfo. UserinfoClaims *structpb.Struct `protobuf:"bytes,130,opt,name=userinfo_claims,json=userinfoClaims,proto3" json:"userinfo_claims,omitempty"` } @@ -394,29 +397,29 @@ func (x *OidcAccountAttributes) GetUserinfoClaims() *structpb.Struct { return nil } -// Attributes associated only with Accounts with type "ldap". +// Attributes associated only with accounts with type "ldap". type LdapAccountAttributes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // login_name of the authenticated user. This is the login_name (or username) + // login_name of the authenticated user. This is the login_name (or username) // entered by the user when authenticating (typically the uid or cn - // attribute). Account login names must be lower case. + // attribute). Account login names must be lower case. LoginName string `protobuf:"bytes,100,opt,name=login_name,proto3" json:"login_name,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // Output only. full_name is a string that maps to the name attribute for the - // authenticated user. This attribute is updated every time a user + // A string that maps to the name attribute for the + // authenticated user. This attribute is updated every time a user // successfully authenticates. FullName string `protobuf:"bytes,110,opt,name=full_name,proto3" json:"full_name,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // Output only. email is a string that maps to the email address attribute for - // the authenticated user. This attribute is updated every time a user + // A string that maps to the email address attribute for + // the authenticated user. This attribute is updated every time a user // successfully authenticates. Email string `protobuf:"bytes,120,opt,name=email,proto3" json:"email,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"` - // Output only. dn is the distinguished name authenticated user's entry. Will - // be null until the user's first successful authentication. This attribute + // The distinguished name authenticated user's entry. Will + // be null until the user's first successful authentication. This attribute // is updated every time a user successfully authenticates. Dn string `protobuf:"bytes,130,opt,name=dn,proto3" json:"dn,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. member_of_groups are the json marshalled groups the + // The json marshalled groups the // authenticated user is a member of. Will be null until the user's first // successful authentication. This attribute is updated every time a user // successfully authenticates. @@ -504,132 +507,186 @@ var file_controller_api_resources_accounts_v1_account_proto_rawDesc = []byte{ 0x63, 0x6f, 0x70, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, - 0x70, 0x69, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x22, 0xec, 0x08, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x0e, - 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, - 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, - 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, - 0x6f, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, - 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, - 0x14, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, - 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x64, - 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, - 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, - 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, - 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, - 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, - 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, - 0x32, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x3e, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 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, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, + 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, + 0x6f, 0x70, 0x65, 0x6e, 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x2f, 0x61, 0x6e, 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x22, 0xd2, 0x0e, 0x0a, 0x07, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x12, + 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, + 0x52, 0x02, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x14, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, + 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, + 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x46, + 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, + 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, + 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x14, 0xa0, 0xda, 0x29, 0x01, + 0xc2, 0xdd, 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x4e, 0x61, 0x6d, 0x65, + 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, + 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, + 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, + 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, 0xa0, 0xda, 0x29, 0x01, 0xc2, + 0xdd, 0x29, 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x72, + 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x32, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, + 0x43, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 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, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, - 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x46, 0x20, 0x01, 0x28, 0x0d, - 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x2c, 0x0a, - 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, - 0x5a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xe3, 0x29, 0x01, 0x52, 0x0e, 0x61, 0x75, 0x74, - 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x4a, 0x0a, 0x0a, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0f, 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, - 0x29, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x1b, 0x70, 0x61, 0x73, 0x73, - 0x77, 0x6f, 0x72, 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x20, - 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, - 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x48, 0x00, 0x52, 0x19, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, - 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x93, 0x01, - 0x0a, 0x17, 0x6f, 0x69, 0x64, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, - 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, - 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, - 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x1c, 0xa0, 0xda, - 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x04, 0x6f, 0x69, 0x64, 0x63, 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, - 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x69, - 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x17, 0x6c, 0x64, 0x61, 0x70, 0x5f, 0x61, 0x63, 0x63, - 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, - 0x67, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, - 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, - 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x64, 0x61, - 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, - 0x65, 0x73, 0x42, 0x1c, 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x04, 0x6c, 0x64, 0x61, 0x70, - 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, - 0x48, 0x00, 0x52, 0x15, 0x6c, 0x64, 0x61, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x2c, 0x0a, 0x11, 0x6d, 0x61, 0x6e, - 0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x6e, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, 0x67, 0x72, - 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, - 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x02, - 0x20, 0x03, 0x28, 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, - 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, - 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, - 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, - 0x4a, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, - 0x01, 0x28, 0x09, 0x42, 0x2a, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x22, 0x0a, 0x15, 0x61, - 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, - 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, - 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x04, 0xa0, 0xda, 0x29, - 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x88, 0x02, 0x0a, 0x15, - 0x4f, 0x69, 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, - 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, - 0x50, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xda, 0x29, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, - 0x75, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x5a, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xda, 0x29, 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, - 0x65, 0x63, 0x74, 0x12, 0x1c, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, - 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3a, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, 0x6e, - 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0b, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x43, 0x6c, 0x61, - 0x69, 0x6d, 0x73, 0x12, 0x41, 0x0a, 0x0f, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x5f, - 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, - 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, - 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, - 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x22, 0xd3, 0x01, 0x0a, 0x15, 0x4c, 0x64, 0x61, 0x70, 0x41, + 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, + 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, + 0x46, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x12, + 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, + 0x70, 0x65, 0x12, 0x2c, 0x0a, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, + 0x64, 0x5f, 0x69, 0x64, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xe3, 0x29, 0x01, + 0x52, 0x0e, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, + 0x12, 0x91, 0x06, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, + 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0xd5, + 0x05, 0x92, 0x41, 0xc2, 0x05, 0x32, 0xa1, 0x05, 0x54, 0x68, 0x65, 0x20, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x61, 0x72, 0x65, 0x20, + 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, 0x66, 0x6f, 0x72, 0x20, 0x74, + 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, 0x20, 0x61, 0x63, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, 0x20, 0x73, 0x63, + 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x6e, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x75, + 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x79, + 0x6f, 0x75, 0x20, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x20, 0x69, 0x6e, 0x2e, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x70, 0x61, + 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, + 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x60, 0x60, 0x60, 0x6a, 0x73, 0x6f, 0x6e, + 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x22, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, + 0x0a, 0x20, 0x20, 0x22, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x3a, 0x20, 0x22, + 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x22, 0x0a, 0x7d, 0x0a, 0x60, 0x60, 0x60, 0x0a, + 0x46, 0x6f, 0x72, 0x20, 0x4f, 0x49, 0x44, 0x43, 0x20, 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, + 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, + 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x60, 0x60, 0x60, 0x6a, 0x73, + 0x6f, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x3a, + 0x20, 0x22, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x22, 0x3a, 0x20, 0x22, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, + 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, + 0x3a, 0x20, 0x22, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x20, + 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, + 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x69, + 0x6d, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x7d, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x75, 0x73, 0x65, 0x72, + 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x7d, + 0x0a, 0x7d, 0x0a, 0x60, 0x60, 0x60, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x4c, 0x44, 0x41, 0x50, 0x20, + 0x61, 0x75, 0x74, 0x68, 0x20, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x73, 0x2c, 0x20, 0x74, 0x68, + 0x65, 0x20, 0x70, 0x61, 0x72, 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, + 0x3a, 0x0a, 0x60, 0x60, 0x60, 0x6a, 0x73, 0x6f, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x67, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x66, 0x75, 0x6c, + 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, + 0x61, 0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x3a, + 0x20, 0x22, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x64, 0x6e, 0x22, + 0x3a, 0x20, 0x22, 0x64, 0x6e, 0x22, 0x2c, 0x0a, 0x20, 0x20, 0x22, 0x6d, 0x65, 0x6d, 0x62, 0x65, + 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x22, 0x3a, 0x20, 0x5b, 0x22, + 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, + 0x22, 0x5d, 0x0a, 0x7d, 0x0a, 0x60, 0x60, 0x60, 0x0a, 0x4a, 0x1c, 0x7b, 0x22, 0x6c, 0x6f, 0x67, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x3a, 0x20, 0x22, 0x6c, 0x6f, 0x67, 0x69, 0x6e, + 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x7d, 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x07, 0x64, + 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x12, 0xa3, 0x01, 0x0a, 0x1b, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, + 0x64, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x65, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3f, 0x2e, 0x63, 0x6f, 0x6e, + 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, + 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, + 0x31, 0x2e, 0x50, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x20, 0xa0, 0xda, 0x29, + 0x01, 0x9a, 0xe3, 0x29, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0xfa, 0xd2, 0xe4, + 0x93, 0x02, 0x0a, 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, + 0x19, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x93, 0x01, 0x0a, 0x17, 0x6f, + 0x69, 0x64, 0x63, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x66, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, + 0x2e, 0x76, 0x31, 0x2e, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, + 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x1c, 0xa0, 0xda, 0x29, 0x01, 0x9a, + 0xe3, 0x29, 0x04, 0x6f, 0x69, 0x64, 0x63, 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, 0x49, + 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, 0x15, 0x6f, 0x69, 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, - 0x12, 0x4a, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x64, - 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x22, 0x0a, 0x15, - 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, - 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, - 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1c, 0x0a, 0x09, - 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, - 0x61, 0x69, 0x6c, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, - 0x12, 0x0f, 0x0a, 0x02, 0x64, 0x6e, 0x18, 0x82, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x64, - 0x6e, 0x12, 0x29, 0x0a, 0x10, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, - 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, 0x8c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x52, 0x0e, 0x6d, 0x65, - 0x6d, 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x42, 0x52, 0x5a, 0x50, - 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, - 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, - 0x6b, 0x2f, 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, - 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, - 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x12, 0x93, 0x01, 0x0a, 0x17, 0x6c, 0x64, 0x61, 0x70, 0x5f, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x5f, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x67, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x3b, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x64, 0x61, 0x70, 0x41, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, + 0x1c, 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x04, 0x6c, 0x64, 0x61, 0x70, 0xfa, 0xd2, 0xe4, + 0x93, 0x02, 0x0a, 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, + 0x15, 0x6c, 0x64, 0x61, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x31, 0x0a, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, + 0x64, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x18, 0x6e, 0x20, 0x03, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x11, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x64, 0x5f, + 0x67, 0x72, 0x6f, 0x75, 0x70, 0x5f, 0x69, 0x64, 0x73, 0x12, 0x34, 0x0a, 0x12, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, + 0xac, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, + 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0xa7, 0x01, 0x0a, 0x19, 0x50, 0x61, 0x73, + 0x73, 0x77, 0x6f, 0x72, 0x64, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x2a, 0xa0, 0xda, 0x29, 0x01, + 0xc2, 0xdd, 0x29, 0x22, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, + 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x09, 0x4c, 0x6f, 0x67, + 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, + 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x14, + 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, + 0x75, 0x65, 0x42, 0x04, 0xa0, 0xda, 0x29, 0x01, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, + 0x72, 0x64, 0x22, 0x9c, 0x02, 0x0a, 0x15, 0x4f, 0x69, 0x64, 0x63, 0x41, 0x63, 0x63, 0x6f, 0x75, + 0x6e, 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x1c, 0x0a, 0x06, + 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x18, 0x50, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xda, + 0x29, 0x01, 0x52, 0x06, 0x69, 0x73, 0x73, 0x75, 0x65, 0x72, 0x12, 0x1e, 0x0a, 0x07, 0x73, 0x75, + 0x62, 0x6a, 0x65, 0x63, 0x74, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x04, 0xa0, 0xda, 0x29, + 0x01, 0x52, 0x07, 0x73, 0x75, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x75, + 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, + 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x3f, 0x0a, 0x0c, 0x74, 0x6f, 0x6b, 0x65, + 0x6e, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0b, 0x74, 0x6f, + 0x6b, 0x65, 0x6e, 0x43, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x12, 0x46, 0x0a, 0x0f, 0x75, 0x73, 0x65, + 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x5f, 0x63, 0x6c, 0x61, 0x69, 0x6d, 0x73, 0x18, 0x82, 0x01, 0x20, + 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x03, 0xe0, 0x41, + 0x03, 0x52, 0x0e, 0x75, 0x73, 0x65, 0x72, 0x69, 0x6e, 0x66, 0x6f, 0x43, 0x6c, 0x61, 0x69, 0x6d, + 0x73, 0x22, 0xe7, 0x01, 0x0a, 0x15, 0x4c, 0x64, 0x61, 0x70, 0x41, 0x63, 0x63, 0x6f, 0x75, 0x6e, + 0x74, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x4a, 0x0a, 0x0a, 0x6c, + 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, + 0x2a, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x22, 0x0a, 0x15, 0x61, 0x74, 0x74, 0x72, 0x69, + 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x6c, 0x6f, 0x67, 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x09, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x0a, 0x6c, 0x6f, 0x67, + 0x69, 0x6e, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x21, 0x0a, 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x09, 0x66, 0x75, 0x6c, 0x6c, 0x5f, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x65, 0x6d, + 0x61, 0x69, 0x6c, 0x18, 0x78, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, + 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x14, 0x0a, 0x02, 0x64, 0x6e, 0x18, 0x82, 0x01, 0x20, 0x01, + 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x64, 0x6e, 0x12, 0x2e, 0x0a, 0x10, 0x6d, + 0x65, 0x6d, 0x62, 0x65, 0x72, 0x5f, 0x6f, 0x66, 0x5f, 0x67, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x18, + 0x8c, 0x01, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0e, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x4f, 0x66, 0x47, 0x72, 0x6f, 0x75, 0x70, 0x73, 0x42, 0x52, 0x5a, 0x50, 0x67, + 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, + 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, + 0x2f, 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, + 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x63, + 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x3b, 0x61, 0x63, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x73, 0x62, + 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sdk/pbs/controller/api/resources/aliases/alias.pb.go b/sdk/pbs/controller/api/resources/aliases/alias.pb.go index 9ae1cec7e..4230efb66 100644 --- a/sdk/pbs/controller/api/resources/aliases/alias.pb.go +++ b/sdk/pbs/controller/api/resources/aliases/alias.pb.go @@ -10,8 +10,10 @@ package aliases import ( + _ "github.com/grpc-ecosystem/grpc-gateway/v2/protoc-gen-openapiv2/options" scopes "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes" _ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions" + _ "google.golang.org/genproto/googleapis/api/annotations" _ "google.golang.org/genproto/googleapis/api/visibility" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" @@ -29,33 +31,34 @@ const ( _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) -// Alias contains all fields related to an Alias resource +// Alias contains all fields related to an alias resource type Alias struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The ID of the Alias. + // The ID of the alias. Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // The ID of the scope of which this Alias is a part. + // The ID of the scope of which this alias is a part. ScopeId string `protobuf:"bytes,20,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for this Alias. + // Scope information for this alias. Scope *scopes.ScopeInfo `protobuf:"bytes,30,opt,name=scope,proto3" json:"scope,omitempty"` // Optional user-set name for identification purposes. Name *wrapperspb.StringValue `protobuf:"bytes,40,opt,name=name,proto3" json:"name,omitempty" class:"public"` // @gotags: `class:"public"` // Optional user-set descripton for identification purposes. Description *wrapperspb.StringValue `protobuf:"bytes,50,opt,name=description,proto3" json:"description,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The time this resource was created. + // The time this resource was created. CreatedTime *timestamppb.Timestamp `protobuf:"bytes,60,opt,name=created_time,proto3" json:"created_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. + // The time this resource was last updated. UpdatedTime *timestamppb.Timestamp `protobuf:"bytes,70,opt,name=updated_time,proto3" json:"updated_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. - // The mutation will fail if the version does not match the latest known good version. + // The mutation fails if the version does not match the latest known good version. + // Version is not required when you create an alias. Version uint32 `protobuf:"varint,80,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"` - // Required value of the alias. This is the value referenced by the user that + // Value of the alias. This is the value referenced by the user that // is resolved to the destination id. Value string `protobuf:"bytes,90,opt,name=value,proto3" json:"value,omitempty" class:"public"` // @gotags: `class:"public"` - // destination_id is the id of the resource that this Alias points to. + // destination_id is the id of the resource that this alias points to. DestinationId *wrapperspb.StringValue `protobuf:"bytes,100,opt,name=destination_id,proto3" json:"destination_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // type is the type of the alias. Type string `protobuf:"bytes,110,opt,name=type,proto3" json:"type,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` @@ -64,7 +67,7 @@ type Alias struct { // *Alias_Attributes // *Alias_TargetAliasAttributes Attrs isAlias_Attrs `protobuf_oneof:"attrs"` - // Output only. The available actions on this resource for this user. + // The available actions on this resource for this user. AuthorizedActions []string `protobuf:"bytes,300,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -210,7 +213,7 @@ type isAlias_Attrs interface { } type Alias_Attributes struct { - // The attributes that are applicable for the specific Alias type. + // The attributes that are applicable for the specific alias type. Attributes *structpb.Struct `protobuf:"bytes,120,opt,name=attributes,proto3,oneof"` } @@ -222,12 +225,13 @@ func (*Alias_Attributes) isAlias_Attrs() {} func (*Alias_TargetAliasAttributes) isAlias_Attrs() {} -// Attributes associated only with Aliases with type "target". +// Attributes associated only with aliases with type "target". type TargetAliasAttributes struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields + // The arguments to provide to authorize_session of the target. AuthorizeSessionArguments *AuthorizeSessionArguments `protobuf:"bytes,1,opt,name=authorize_session_arguments,proto3" json:"authorize_session_arguments,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -337,94 +341,121 @@ var file_controller_api_resources_aliases_v1_alias_proto_rawDesc = []byte{ 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, - 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x76, - 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, - 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 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, 0x1e, + 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, + 0x69, 0x65, 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, + 0x6f, 0x74, 0x6f, 0x1a, 0x1b, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, + 0x76, 0x69, 0x73, 0x69, 0x62, 0x69, 0x6c, 0x69, 0x74, 0x79, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, - 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8c, - 0x07, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, 0x6f, 0x70, - 0x65, 0x5f, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x1e, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x14, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0c, 0x0a, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, - 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, - 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, - 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x44, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, - 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, + 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x1a, + 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x63, 0x2d, 0x67, 0x65, 0x6e, 0x2d, 0x6f, 0x70, 0x65, 0x6e, + 0x61, 0x70, 0x69, 0x76, 0x32, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x61, 0x6e, + 0x6e, 0x6f, 0x74, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, + 0xee, 0x09, 0x0a, 0x05, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, + 0x0a, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x08, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, + 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, + 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, + 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, + 0x63, 0x6f, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, + 0x42, 0x14, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, + 0x12, 0x04, 0x4e, 0x61, 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0b, + 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, + 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, + 0x22, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, + 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, + 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, + 0x12, 0x43, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x3c, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, + 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x46, 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, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, - 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, - 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, - 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x42, 0x16, - 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0e, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, - 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x6d, 0x0a, - 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, - 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, - 0x6c, 0x75, 0x65, 0x42, 0x27, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x1f, 0x0a, 0x0e, 0x64, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x0d, 0x44, - 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x52, 0x0e, 0x64, 0x65, - 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, - 0x74, 0x79, 0x70, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, - 0x12, 0x4a, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x78, - 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, - 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x75, 0x63, 0x74, 0x42, 0x0f, 0xa0, - 0xda, 0x29, 0x01, 0x9a, 0xe3, 0x29, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, - 0x52, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x94, 0x01, 0x0a, - 0x17, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x61, 0x74, - 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, - 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, - 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x1e, 0xa0, 0xda, 0x29, 0x01, - 0x9a, 0xe3, 0x29, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, - 0x12, 0x08, 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, 0x15, 0x74, 0x61, - 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, - 0x74, 0x65, 0x73, 0x12, 0x2f, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, - 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28, 0x09, - 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, - 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, 0x22, 0x9a, 0x01, - 0x0a, 0x15, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x41, 0x74, 0x74, - 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3e, 0x2e, - 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, - 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x73, - 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x1b, 0x61, + 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0c, 0x75, 0x70, + 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, + 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, + 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x2c, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x5a, 0x20, + 0x01, 0x28, 0x09, 0x42, 0x16, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0e, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 0x65, 0x12, 0x05, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, + 0x75, 0x65, 0x12, 0x6d, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, + 0x6e, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x27, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, + 0x29, 0x1f, 0x0a, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, + 0x69, 0x64, 0x12, 0x0d, 0x44, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x49, + 0x64, 0x52, 0x0e, 0x64, 0x65, 0x73, 0x74, 0x69, 0x6e, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x69, + 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x6e, 0x20, 0x01, 0x28, 0x09, 0x52, + 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x92, 0x03, 0x0a, 0x0a, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, + 0x75, 0x74, 0x65, 0x73, 0x18, 0x78, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x17, 0x2e, 0x67, 0x6f, 0x6f, + 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, + 0x75, 0x63, 0x74, 0x42, 0xd6, 0x02, 0x92, 0x41, 0xc3, 0x02, 0x32, 0x87, 0x02, 0x54, 0x68, 0x65, + 0x20, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x20, 0x74, 0x68, 0x61, 0x74, + 0x20, 0x61, 0x72, 0x65, 0x20, 0x61, 0x70, 0x70, 0x6c, 0x69, 0x63, 0x61, 0x62, 0x6c, 0x65, 0x20, + 0x66, 0x6f, 0x72, 0x20, 0x74, 0x68, 0x65, 0x20, 0x73, 0x70, 0x65, 0x63, 0x69, 0x66, 0x69, 0x63, + 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x20, 0x74, 0x79, 0x70, 0x65, 0x2e, 0x20, 0x54, 0x68, 0x65, + 0x20, 0x73, 0x63, 0x68, 0x65, 0x6d, 0x61, 0x20, 0x6f, 0x66, 0x20, 0x74, 0x68, 0x69, 0x73, 0x20, + 0x66, 0x69, 0x65, 0x6c, 0x64, 0x20, 0x64, 0x65, 0x70, 0x65, 0x6e, 0x64, 0x73, 0x20, 0x6f, 0x6e, + 0x20, 0x74, 0x68, 0x65, 0x20, 0x74, 0x79, 0x70, 0x65, 0x20, 0x6f, 0x66, 0x20, 0x72, 0x65, 0x73, + 0x6f, 0x75, 0x72, 0x63, 0x65, 0x20, 0x74, 0x68, 0x61, 0x74, 0x20, 0x79, 0x6f, 0x75, 0x20, 0x63, + 0x72, 0x65, 0x61, 0x74, 0x65, 0x20, 0x74, 0x68, 0x65, 0x20, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x20, + 0x66, 0x6f, 0x72, 0x2e, 0x0a, 0x46, 0x6f, 0x72, 0x20, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0x20, + 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x2c, 0x20, 0x74, 0x68, 0x65, 0x20, 0x70, 0x61, 0x72, + 0x61, 0x6d, 0x65, 0x74, 0x65, 0x72, 0x73, 0x20, 0x61, 0x72, 0x65, 0x3a, 0x0a, 0x60, 0x60, 0x60, + 0x6a, 0x73, 0x6f, 0x6e, 0x0a, 0x7b, 0x0a, 0x20, 0x20, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, + 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, + 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, + 0x64, 0x22, 0x3a, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x7d, 0x0a, 0x7d, 0x0a, + 0x60, 0x60, 0x60, 0x0a, 0x4a, 0x37, 0x7b, 0x22, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, + 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, + 0x6e, 0x74, 0x73, 0x22, 0x3a, 0x20, 0x7b, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, + 0x3a, 0x20, 0x22, 0x68, 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x22, 0x7d, 0x7d, 0xa0, 0xda, 0x29, + 0x01, 0x9a, 0xe3, 0x29, 0x07, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x48, 0x00, 0x52, 0x0a, + 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x94, 0x01, 0x0a, 0x17, 0x74, + 0x61, 0x72, 0x67, 0x65, 0x74, 0x5f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x5f, 0x61, 0x74, 0x74, 0x72, + 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x18, 0x79, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x3a, 0x2e, 0x63, + 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, + 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x2e, + 0x76, 0x31, 0x2e, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x41, 0x74, + 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x42, 0x1e, 0xa0, 0xda, 0x29, 0x01, 0x9a, 0xe3, + 0x29, 0x06, 0x74, 0x61, 0x72, 0x67, 0x65, 0x74, 0xfa, 0xd2, 0xe4, 0x93, 0x02, 0x0a, 0x12, 0x08, + 0x49, 0x4e, 0x54, 0x45, 0x52, 0x4e, 0x41, 0x4c, 0x48, 0x00, 0x52, 0x15, 0x74, 0x61, 0x72, 0x67, + 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x12, 0x34, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, 0x03, + 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, + 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x42, 0x07, 0x0a, 0x05, 0x61, 0x74, 0x74, 0x72, 0x73, + 0x22, 0x9a, 0x01, 0x0a, 0x15, 0x54, 0x61, 0x72, 0x67, 0x65, 0x74, 0x41, 0x6c, 0x69, 0x61, 0x73, + 0x41, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x12, 0x80, 0x01, 0x0a, 0x1b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x77, 0x0a, 0x19, 0x41, 0x75, - 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x72, - 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x07, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x40, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, - 0x29, 0x38, 0x0a, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, 0x73, 0x2e, 0x61, - 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, - 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x68, 0x6f, 0x73, 0x74, 0x5f, - 0x69, 0x64, 0x12, 0x06, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x68, 0x6f, 0x73, 0x74, - 0x5f, 0x69, 0x64, 0x42, 0x50, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, - 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, - 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f, 0x6e, - 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, - 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x3b, 0x61, 0x6c, - 0x69, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x3e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x61, 0x6c, 0x69, 0x61, + 0x73, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, + 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, + 0x52, 0x1b, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x22, 0x77, 0x0a, + 0x19, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x53, 0x65, 0x73, 0x73, 0x69, 0x6f, + 0x6e, 0x41, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x5a, 0x0a, 0x07, 0x68, 0x6f, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x09, 0x42, 0x40, 0xa0, 0xda, 0x29, + 0x01, 0xc2, 0xdd, 0x29, 0x38, 0x0a, 0x2e, 0x61, 0x74, 0x74, 0x72, 0x69, 0x62, 0x75, 0x74, 0x65, + 0x73, 0x2e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x5f, 0x73, 0x65, 0x73, 0x73, + 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x72, 0x67, 0x75, 0x6d, 0x65, 0x6e, 0x74, 0x73, 0x2e, 0x68, 0x6f, + 0x73, 0x74, 0x5f, 0x69, 0x64, 0x12, 0x06, 0x48, 0x6f, 0x73, 0x74, 0x49, 0x64, 0x52, 0x07, 0x68, + 0x6f, 0x73, 0x74, 0x5f, 0x69, 0x64, 0x42, 0x50, 0x5a, 0x4e, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, + 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, + 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x73, 0x2f, + 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, + 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, + 0x3b, 0x61, 0x6c, 0x69, 0x61, 0x73, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/sdk/pbs/controller/api/resources/scopes/scope.pb.go b/sdk/pbs/controller/api/resources/scopes/scope.pb.go index 95e32f464..a209ec9cf 100644 --- a/sdk/pbs/controller/api/resources/scopes/scope.pb.go +++ b/sdk/pbs/controller/api/resources/scopes/scope.pb.go @@ -11,6 +11,7 @@ package scopes import ( _ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions" + _ "google.golang.org/genproto/googleapis/api/annotations" protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" structpb "google.golang.org/protobuf/types/known/structpb" @@ -32,15 +33,15 @@ type ScopeInfo struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The ID of the Scope. + // The ID of the scope. Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The type of the Scope. + // The type of the scope. Type string `protobuf:"bytes,2,opt,name=type,proto3" json:"type,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The name of the Scope, if any. + // The name of the scope, if any. Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The description of the Scope, if any. + // The description of the scope, if any. Description string `protobuf:"bytes,4,opt,name=description,proto3" json:"description,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The ID of the parent Scope, if any. This field will be empty if this is the "global" scope. + // The ID of the parent scope, if any. This field is empty if it is the "global" scope. ParentScopeId string `protobuf:"bytes,5,opt,name=parent_scope_id,proto3" json:"parent_scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` } @@ -111,25 +112,25 @@ func (x *ScopeInfo) GetParentScopeId() string { return "" } -// Scope contains all fields related to a Scope resource +// Scope contains all fields related to a scope resource type Scope struct { state protoimpl.MessageState sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - // Output only. The ID of the Scope. + // The ID of the scope. Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // The ID of the Scope this resource is in. If this is the "global" Scope this field will be empty. + // The ID of the scope this resource is in. If this is the "global" scope this field will be empty. ScopeId string `protobuf:"bytes,20,opt,name=scope_id,proto3" json:"scope_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. Scope information for this resource. + // Scope information for this resource. Scope *ScopeInfo `protobuf:"bytes,30,opt,name=scope,proto3" json:"scope,omitempty"` // Optional name for identification purposes. Name *wrapperspb.StringValue `protobuf:"bytes,40,opt,name=name,proto3" json:"name,omitempty" class:"public"` // @gotags: `class:"public"` // Optional user-set descripton for identification purposes. Description *wrapperspb.StringValue `protobuf:"bytes,50,opt,name=description,proto3" json:"description,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The time this resource was created. + // The time this resource was created. CreatedTime *timestamppb.Timestamp `protobuf:"bytes,60,opt,name=created_time,proto3" json:"created_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The time this resource was last updated. + // The time this resource was last updated. UpdatedTime *timestamppb.Timestamp `protobuf:"bytes,70,opt,name=updated_time,proto3" json:"updated_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` // Version is used in mutation requests, after the initial creation, to ensure this resource has not changed. // The mutation will fail if the version does not match the latest known good version. @@ -139,11 +140,11 @@ type Scope struct { // The ID of the primary auth method for this scope. A primary auth method // is allowed to vivify users when new accounts are created and is the source for the users account info PrimaryAuthMethodId *wrapperspb.StringValue `protobuf:"bytes,100,opt,name=primary_auth_method_id,proto3" json:"primary_auth_method_id,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"` - // Output only. The available actions on this resource for this user. + // The available actions on this resource for this user. AuthorizedActions []string `protobuf:"bytes,300,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: `class:"public"` - // Output only. The authorized actions for the scope's collections. + // The authorized actions for the scope's collections. AuthorizedCollectionActions map[string]*structpb.ListValue `protobuf:"bytes,310,rep,name=authorized_collection_actions,proto3" json:"authorized_collection_actions,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - // Output only. The attached storage policy id. + // The attached storage policy id. StoragePolicyId string `protobuf:"bytes,320,opt,name=storage_policy_id,proto3" json:"storage_policy_id,omitempty" class:"public"` // @gotags: `class:"public"` } @@ -537,131 +538,137 @@ var file_controller_api_resources_scopes_v1_scope_proto_rawDesc = []byte{ 0x73, 0x2e, 0x76, 0x31, 0x1a, 0x2a, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x63, 0x75, 0x73, 0x74, 0x6f, 0x6d, 0x5f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2f, 0x76, 0x31, 0x2f, 0x6f, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, - 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, - 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 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, - 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, - 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, - 0x8f, 0x01, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x0e, 0x0a, - 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, - 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, - 0x65, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, - 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, - 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, - 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x28, 0x0a, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, - 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, - 0x64, 0x22, 0xc0, 0x07, 0x0a, 0x05, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, - 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, - 0x18, 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, - 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, - 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, - 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x46, 0x0a, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, - 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, - 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x14, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, - 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x52, 0x04, - 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, - 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, - 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, - 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x0b, - 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, 0x0b, 0x64, 0x65, 0x73, - 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x46, 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, 0x0c, 0x75, 0x70, 0x64, 0x61, - 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, - 0x69, 0x6f, 0x6e, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x70, 0x72, 0x69, 0x6d, 0x61, - 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, - 0x64, 0x18, 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, - 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, - 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x35, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x2d, 0x0a, - 0x16, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, - 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x13, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, - 0x41, 0x75, 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x64, 0x52, 0x16, 0x70, 0x72, - 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, - 0x64, 0x5f, 0x69, 0x64, 0x12, 0x2f, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, - 0x65, 0x64, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28, - 0x09, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x61, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x91, 0x01, 0x0a, 0x1d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, - 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb6, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x4a, - 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, - 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, - 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x2e, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, - 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, - 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, - 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x2d, 0x0a, 0x11, 0x73, 0x74, 0x6f, - 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xc0, - 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, - 0x6f, 0x6c, 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x1a, 0x6a, 0x0a, 0x20, 0x41, 0x75, 0x74, 0x68, - 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, - 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 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, 0x30, - 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 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, - 0x4c, 0x69, 0x73, 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, - 0x3a, 0x02, 0x38, 0x01, 0x22, 0x76, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, - 0x69, 0x64, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 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, 0x0c, - 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x94, 0x02, 0x0a, - 0x03, 0x4b, 0x65, 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x02, 0x69, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x14, 0x20, - 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, - 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, - 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, - 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, - 0x70, 0x6f, 0x73, 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, - 0x6f, 0x73, 0x65, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x28, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, - 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, - 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, - 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x73, 0x22, 0xa7, 0x02, 0x0a, 0x18, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, - 0x6f, 0x6e, 0x44, 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, - 0x12, 0x24, 0x0a, 0x0e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, - 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x56, 0x65, 0x72, - 0x73, 0x69, 0x6f, 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, - 0x14, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, + 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x66, 0x69, 0x65, + 0x6c, 0x64, 0x5f, 0x62, 0x65, 0x68, 0x61, 0x76, 0x69, 0x6f, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x1a, 0x1c, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, + 0x75, 0x66, 0x2f, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x2e, 0x70, 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, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, + 0x66, 0x2f, 0x77, 0x72, 0x61, 0x70, 0x70, 0x65, 0x72, 0x73, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, + 0x22, 0xa8, 0x01, 0x0a, 0x09, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x12, 0x13, + 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x02, 0x69, 0x64, 0x12, 0x17, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x17, 0x0a, 0x04, + 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, + 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x2d, 0x0a, 0x0f, + 0x70, 0x61, 0x72, 0x65, 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, + 0x05, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x0f, 0x70, 0x61, 0x72, 0x65, + 0x6e, 0x74, 0x5f, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x22, 0xe3, 0x07, 0x0a, 0x05, + 0x53, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x13, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, + 0x09, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x5f, 0x69, 0x64, 0x12, 0x48, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, + 0x1e, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, - 0x49, 0x6e, 0x66, 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, - 0x74, 0x61, 0x74, 0x75, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, - 0x74, 0x75, 0x73, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x18, 0x28, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, - 0x69, 0x6d, 0x65, 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, - 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, - 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, - 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, - 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x4e, 0x5a, - 0x4c, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, - 0x69, 0x63, 0x6f, 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, - 0x64, 0x6b, 0x2f, 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, - 0x72, 0x2f, 0x61, 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, - 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x3b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, - 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x49, 0x6e, 0x66, 0x6f, 0x42, 0x03, 0xe0, 0x41, 0x03, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, + 0x12, 0x46, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x28, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, + 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, + 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x14, 0xa0, 0xda, + 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x0c, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x04, 0x6e, 0x61, + 0x6d, 0x65, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x62, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, + 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x32, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, + 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, + 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x42, 0x22, 0xa0, 0xda, 0x29, + 0x01, 0xc2, 0xdd, 0x29, 0x1a, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, + 0x6f, 0x6e, 0x12, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x52, + 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x43, 0x0a, 0x0c, + 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x3c, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x12, 0x43, 0x0a, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, + 0x65, 0x18, 0x46, 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, 0x0c, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, + 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x18, 0x50, 0x20, 0x01, 0x28, 0x0d, 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x5a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x8b, 0x01, 0x0a, 0x16, 0x70, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, + 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x18, + 0x64, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1c, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x53, 0x74, 0x72, 0x69, 0x6e, 0x67, 0x56, 0x61, + 0x6c, 0x75, 0x65, 0x42, 0x35, 0xa0, 0xda, 0x29, 0x01, 0xc2, 0xdd, 0x29, 0x2d, 0x0a, 0x16, 0x70, + 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, + 0x6f, 0x64, 0x5f, 0x69, 0x64, 0x12, 0x13, 0x50, 0x72, 0x69, 0x6d, 0x61, 0x72, 0x79, 0x41, 0x75, + 0x74, 0x68, 0x4d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x49, 0x64, 0x52, 0x16, 0x70, 0x72, 0x69, 0x6d, + 0x61, 0x72, 0x79, 0x5f, 0x61, 0x75, 0x74, 0x68, 0x5f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x5f, + 0x69, 0x64, 0x12, 0x34, 0x0a, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xac, 0x02, 0x20, 0x03, 0x28, 0x09, 0x42, + 0x03, 0xe0, 0x41, 0x03, 0x52, 0x12, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, + 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x12, 0x96, 0x01, 0x0a, 0x1d, 0x61, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, + 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x18, 0xb6, 0x02, 0x20, 0x03, 0x28, + 0x0b, 0x32, 0x4a, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, + 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x2e, 0x41, 0x75, 0x74, + 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, + 0x6e, 0x41, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x1d, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64, 0x5f, 0x63, + 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x61, 0x63, 0x74, 0x69, 0x6f, 0x6e, + 0x73, 0x12, 0x32, 0x0a, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, + 0x69, 0x63, 0x79, 0x5f, 0x69, 0x64, 0x18, 0xc0, 0x02, 0x20, 0x01, 0x28, 0x09, 0x42, 0x03, 0xe0, + 0x41, 0x03, 0x52, 0x11, 0x73, 0x74, 0x6f, 0x72, 0x61, 0x67, 0x65, 0x5f, 0x70, 0x6f, 0x6c, 0x69, + 0x63, 0x79, 0x5f, 0x69, 0x64, 0x1a, 0x6a, 0x0a, 0x20, 0x41, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, + 0x7a, 0x65, 0x64, 0x43, 0x6f, 0x6c, 0x6c, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x41, 0x63, 0x74, + 0x69, 0x6f, 0x6e, 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, 0x30, 0x0a, 0x05, 0x76, + 0x61, 0x6c, 0x75, 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, 0x4c, 0x69, 0x73, + 0x74, 0x56, 0x61, 0x6c, 0x75, 0x65, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, + 0x01, 0x22, 0x76, 0x0a, 0x0a, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, + 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, + 0x18, 0x0a, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0d, + 0x52, 0x07, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x1e, 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, 0x0c, 0x63, 0x72, 0x65, + 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x22, 0x94, 0x02, 0x0a, 0x03, 0x4b, 0x65, + 0x79, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, + 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, 0x28, 0x0b, + 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, + 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, + 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, 0x6f, 0x52, + 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, + 0x65, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x70, 0x75, 0x72, 0x70, 0x6f, 0x73, 0x65, + 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x28, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x12, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x32, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, + 0x74, 0x79, 0x70, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x18, 0x3c, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x2e, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, + 0x6c, 0x65, 0x72, 0x2e, 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, + 0x73, 0x2e, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x4b, 0x65, 0x79, 0x56, + 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x52, 0x08, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x73, + 0x22, 0xa7, 0x02, 0x0a, 0x18, 0x4b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x44, + 0x65, 0x73, 0x74, 0x72, 0x75, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x4a, 0x6f, 0x62, 0x12, 0x24, 0x0a, + 0x0e, 0x6b, 0x65, 0x79, 0x5f, 0x76, 0x65, 0x72, 0x73, 0x69, 0x6f, 0x6e, 0x5f, 0x69, 0x64, 0x18, + 0x0a, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0c, 0x6b, 0x65, 0x79, 0x56, 0x65, 0x72, 0x73, 0x69, 0x6f, + 0x6e, 0x49, 0x64, 0x12, 0x43, 0x0a, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x18, 0x14, 0x20, 0x01, + 0x28, 0x0b, 0x32, 0x2d, 0x2e, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2e, + 0x61, 0x70, 0x69, 0x2e, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2e, 0x73, 0x63, + 0x6f, 0x70, 0x65, 0x73, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x63, 0x6f, 0x70, 0x65, 0x49, 0x6e, 0x66, + 0x6f, 0x52, 0x05, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, + 0x75, 0x73, 0x18, 0x1e, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, + 0x12, 0x3e, 0x0a, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x18, 0x28, 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, 0x0c, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x74, 0x69, 0x6d, 0x65, + 0x12, 0x27, 0x0a, 0x0f, 0x63, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x64, 0x5f, 0x63, 0x6f, + 0x75, 0x6e, 0x74, 0x18, 0x32, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0e, 0x63, 0x6f, 0x6d, 0x70, 0x6c, + 0x65, 0x74, 0x65, 0x64, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, + 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x3c, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, + 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x42, 0x4e, 0x5a, 0x4c, 0x67, 0x69, + 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x68, 0x61, 0x73, 0x68, 0x69, 0x63, 0x6f, + 0x72, 0x70, 0x2f, 0x62, 0x6f, 0x75, 0x6e, 0x64, 0x61, 0x72, 0x79, 0x2f, 0x73, 0x64, 0x6b, 0x2f, + 0x70, 0x62, 0x73, 0x2f, 0x63, 0x6f, 0x6e, 0x74, 0x72, 0x6f, 0x6c, 0x6c, 0x65, 0x72, 0x2f, 0x61, + 0x70, 0x69, 0x2f, 0x72, 0x65, 0x73, 0x6f, 0x75, 0x72, 0x63, 0x65, 0x73, 0x2f, 0x73, 0x63, 0x6f, + 0x70, 0x65, 0x73, 0x3b, 0x73, 0x63, 0x6f, 0x70, 0x65, 0x73, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, + 0x6f, 0x33, } var (