* Install buf with go install This reduces the impact of using buf on our dependency closure, which was significant. It also avoids potential issues with building buf given our own internal dependency constraints. This has caused issues (including crashes!) in the past. See https://github.com/cockroachdb/cockroach/issues/67216#issuecomment-874176186 for more discussion on using tool dependencies generally, and https://github.com/bufbuild/buf/issues/52 for an example of where this sort of thing caused an issue for a user. * Upgrade buf version We should migrate to v1 sooner rather than later, as it has some breaking changes from v0. * Change buf lint/breaking commands These commands were moved up one level for v1 * Migrate to buf.yaml to v1 * Remove unused imports These were uncovered by using "buf lint". * Use buf v1.3.1 * Depend on googleapis and grpc-gateway via BSR * Switch to buf for proto generation * Remove third party dependency * Remove unused tools and scripts * Move local protos up one level * Temporarily don't fail on breaking changes * Generate CI config * Fix generation of controller.json * Replace use of deprecated flag * Remove unused import, regenerate files * Remove temporary skipping over breaking check
533 lines
21 KiB
Protocol Buffer
533 lines
21 KiB
Protocol Buffer
syntax = "proto3";
|
|
|
|
package controller.api.services.v1;
|
|
|
|
option go_package = "github.com/hashicorp/boundary/internal/gen/controller/api/services;services";
|
|
|
|
import "protoc-gen-openapiv2/options/annotations.proto";
|
|
import "google/api/annotations.proto";
|
|
import "google/protobuf/field_mask.proto";
|
|
import "controller/api/resources/targets/v1/target.proto";
|
|
|
|
service TargetService {
|
|
|
|
// 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
|
|
// resource an error is returned.
|
|
rpc GetTarget(GetTargetRequest) returns (GetTargetResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/targets/{id}"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Gets a single Target."
|
|
};
|
|
}
|
|
|
|
// ListTargets returns a list of stored Targets which exist inside the project
|
|
// referenced inside the request. The request must include the scope ID for
|
|
// the Targets being retrieved. If the scope ID is missing, malformed, or
|
|
// reference a non existing scope, an error is returned.
|
|
rpc ListTargets(ListTargetsRequest) returns (ListTargetsResponse) {
|
|
option (google.api.http) = {
|
|
get: "/v1/targets"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Lists all Targets."
|
|
};
|
|
}
|
|
|
|
// CreateTarget creates and stores a Target in boundary. The provided
|
|
// request must include the scope id in which the Target will be created.
|
|
// If the scope id is missing, malformed or references a non existing
|
|
// scope, an error is returned. If a name is provided that is in
|
|
// use in another Target in the same scope, an error is returned.
|
|
rpc CreateTarget(CreateTargetRequest) returns (CreateTargetResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Creates a single Target."
|
|
};
|
|
}
|
|
|
|
// UpdateTarget updates an existing Target in boundary. The provided
|
|
// Target 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 Target. An error is returned if the Target 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 in
|
|
// this scope.
|
|
rpc UpdateTarget(UpdateTargetRequest) returns (UpdateTargetResponse) {
|
|
option (google.api.http) = {
|
|
patch: "/v1/targets/{id}"
|
|
body: "item"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Updates a Target."
|
|
};
|
|
}
|
|
|
|
// DeleteTarget removes a Target from Boundary. If the provided Target ID
|
|
// is malformed or not provided an error is returned.
|
|
rpc DeleteTarget(DeleteTargetRequest) returns (DeleteTargetResponse) {
|
|
option (google.api.http) = {
|
|
delete: "/v1/targets/{id}"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Deletes a Target."
|
|
};
|
|
}
|
|
|
|
// AuthorizeSession creates authorization information from a given Target.
|
|
rpc AuthorizeSession(AuthorizeSessionRequest) returns (AuthorizeSessionResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:authorize-session"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Authorizes a Session."
|
|
};
|
|
}
|
|
|
|
// AddTargetHostSets adds Host Sets to this Target. The provided request must
|
|
// include the Target ID to which the Host Sets will be added.
|
|
// All Host Sets added to the provided Target must be a child of a Catalog that
|
|
// is a child of the same scope as this Target. If the scope or Target IDs are
|
|
// missing, malformed, or reference non-existing resources, an error is
|
|
// returned. An error is returned if a Host Set is attempted to be added
|
|
// to a target that is already present on the Target.
|
|
rpc AddTargetHostSets(AddTargetHostSetsRequest) returns (AddTargetHostSetsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:add-host-sets"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Adds existing Host Sets to a Target."
|
|
};
|
|
}
|
|
|
|
// SetTargetHostSets sets the Target's Host Sets. Any existing Host Sets on the
|
|
// Target are deleted if they are not included in this request. The
|
|
// provided request must include the scope, and the Target ID on which the
|
|
// Host Sets will be set. All Host Sets in the request must be a child of
|
|
// a Catalog that is in the same scope as the provided Target. If any
|
|
// IDs are missing, malformed, or references a non-existing resource, an
|
|
// error is returned.
|
|
rpc SetTargetHostSets(SetTargetHostSetsRequest) returns (SetTargetHostSetsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:set-host-sets"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Sets the Host Sets on the Target."
|
|
};
|
|
}
|
|
|
|
// RemoveTargetHostSets removes the Host Sets from the specified Target. The
|
|
// provided request must include the Target ID for the Target
|
|
// from which the Host Sets will be removed. If the ID is missing,
|
|
// malformed, or references a non-existing scope or Catalog, an error is
|
|
// returned. An error is returned if a Host Set is attempted to be
|
|
// removed from the Target when the Target does not have the Host Set.
|
|
rpc RemoveTargetHostSets(RemoveTargetHostSetsRequest) returns (RemoveTargetHostSetsResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:remove-host-sets"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Removes Host Sets from the Target."
|
|
};
|
|
}
|
|
|
|
// AddTargetHostSources adds Host Sources to this Target. The provided request
|
|
// must include the Target ID to which the Host Sources will be added. All
|
|
// Host Sources added to the provided Target must be a child of a Catalog that
|
|
// is a child of the same scope as this Target. If the scope or Target IDs are
|
|
// missing, malformed, or reference non-existing resources, an error is
|
|
// returned. An error is returned if a Host Source is attempted to be added to a
|
|
// target that is already present on the Target.
|
|
rpc AddTargetHostSources(AddTargetHostSourcesRequest) returns (AddTargetHostSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:add-host-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Adds existing Host Sources to a Target."
|
|
};
|
|
}
|
|
|
|
// SetTargetHostSources sets the Target's Host Sources. Any existing Host
|
|
// Sources on the Target are deleted if they are not included in this request.
|
|
// The provided request must include the scope, and the Target ID on which the
|
|
// Host Sources will be set. All Host Sources in the request must be a child
|
|
// of a Catalog that is in the same scope as the provided Target. If any IDs
|
|
// are missing, malformed, or references a non-existing resource, an error is
|
|
// returned.
|
|
rpc SetTargetHostSources(SetTargetHostSourcesRequest) returns (SetTargetHostSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:set-host-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Sources the Host Sources on the Target."
|
|
};
|
|
}
|
|
|
|
// RemoveTargetHostSources removes the Host Sources from the specified Target.
|
|
// The provided request must include the Target ID for the Target from which
|
|
// the Host Sources will be removed. If the ID is missing, malformed, or
|
|
// references a non-existing scope or Catalog, an error is returned. An error
|
|
// is returned if a Host Source is attempted to be removed from the Target
|
|
// when the Target does not have the Host Set.
|
|
rpc RemoveTargetHostSources(RemoveTargetHostSourcesRequest) returns (RemoveTargetHostSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:remove-host-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Removes Host Sources from the Target."
|
|
};
|
|
}
|
|
|
|
|
|
// AddTargetCredentialLibraries adds Credential Libraries to this Target.
|
|
// The provided request must include the Target ID to which the Credential
|
|
// Libraries will be added. All Credential Libraries added to the provided
|
|
// Target must be a child of a Store that is in the same scope as this
|
|
// Target. If the scope or Target IDs are missing, malformed, or reference
|
|
// non-existing resources, an error is returned. An error is returned if a
|
|
// Credential Library is attempted to be added to a target that is already
|
|
// present on the Target.
|
|
rpc AddTargetCredentialLibraries(AddTargetCredentialLibrariesRequest) returns (AddTargetCredentialLibrariesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:add-credential-libraries"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Deprecated: use AddTargetCredentialSources instead."
|
|
};
|
|
option deprecated = true;
|
|
}
|
|
|
|
// SetTargetCredentialLibraries sets the Target's Credential Libraries.
|
|
// Any existing Credential Libraries on the Target are deleted if they are
|
|
// not included in this request. The provided request must include the scope,
|
|
// and the Target ID on which the Credential Libraries will be set. All
|
|
// Credential Libraries in the request must be a child of a Store that is
|
|
// in the same scope as the provided Target. If any IDs are missing,
|
|
// malformed, or references a non-existing resource, an error is returned.
|
|
rpc SetTargetCredentialLibraries(SetTargetCredentialLibrariesRequest) returns (SetTargetCredentialLibrariesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:set-credential-libraries"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Deprecated: use SetTargetCredentialSources instead."
|
|
};
|
|
option deprecated = true;
|
|
}
|
|
|
|
// RemoveTargetCredentialLibraries removes the Credential Libraries from the
|
|
// specified Target. The provided request must include the Target ID for the
|
|
// Target from which the Credential Libraries will be removed. If the ID is
|
|
// missing, or malformed, an error is returned. An error is returned if a
|
|
// Credential Library is attempted to be removed from the Target when the
|
|
// Target does not have the Credential Library.
|
|
rpc RemoveTargetCredentialLibraries(RemoveTargetCredentialLibrariesRequest) returns (RemoveTargetCredentialLibrariesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:remove-credential-libraries"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Deprecated: use RemoveTargetCredentialSources instead."
|
|
};
|
|
option deprecated = true;
|
|
}
|
|
|
|
// AddTargetCredentialSources adds Credential Sources to this Target.
|
|
// The provided request must include the Target ID to which the Credential
|
|
// Sources will be added. All Credential Sources added to the provided
|
|
// Target must be a child of a Store that is in the same scope as this
|
|
// Target. If the scope or Target IDs are missing, malformed, or reference
|
|
// non-existing resources, an error is returned. An error is returned if a
|
|
// Credential Source is attempted to be added to a target that is already
|
|
// present on the Target.
|
|
rpc AddTargetCredentialSources(AddTargetCredentialSourcesRequest) returns (AddTargetCredentialSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:add-credential-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Adds existing Credential Sources to a Target."
|
|
};
|
|
}
|
|
|
|
// SetTargetCredentialSources sets the Target's Credential Sources.
|
|
// Any existing Credential Sources on the Target are deleted if they are
|
|
// not included in this request. The provided request must include the scope,
|
|
// and the Target ID on which the Credential Sources will be set. All
|
|
// Credential Sources in the request must be a child of a Store that is
|
|
// in the same scope as the provided Target. If any IDs are missing,
|
|
// malformed, or references a non-existing resource, an error is returned.
|
|
rpc SetTargetCredentialSources(SetTargetCredentialSourcesRequest) returns (SetTargetCredentialSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:set-credential-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Sets the Credential Sources on the Target."
|
|
};
|
|
}
|
|
|
|
// RemoveTargetCredentialSources removes the Credential Sources from the
|
|
// specified Target. The provided request must include the Target ID for the
|
|
// Target from which the Credential Sources will be removed. If the ID is
|
|
// missing, or malformed, an error is returned. An error is returned if a
|
|
// Credential Source is attempted to be removed from the Target when the
|
|
// Target does not have the Credential Source.
|
|
rpc RemoveTargetCredentialSources(RemoveTargetCredentialSourcesRequest) returns (RemoveTargetCredentialSourcesResponse) {
|
|
option (google.api.http) = {
|
|
post: "/v1/targets/{id}:remove-credential-sources"
|
|
body: "*"
|
|
response_body: "item"
|
|
};
|
|
option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
|
|
summary: "Removes Credential Sources from the Target."
|
|
};
|
|
}
|
|
}
|
|
|
|
message GetTargetRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message GetTargetResponse {
|
|
resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message ListTargetsRequest {
|
|
string scope_id = 1;
|
|
bool recursive = 20 [json_name="recursive"];
|
|
string filter = 30 [json_name="filter"];
|
|
}
|
|
|
|
message ListTargetsResponse {
|
|
repeated resources.targets.v1.Target items = 1;
|
|
}
|
|
|
|
message CreateTargetRequest {
|
|
resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message CreateTargetResponse {
|
|
string uri = 1;
|
|
resources.targets.v1.Target item = 2;
|
|
}
|
|
|
|
message UpdateTargetRequest {
|
|
string id = 1;
|
|
resources.targets.v1.Target item = 2;
|
|
google.protobuf.FieldMask update_mask = 3 [json_name="update_mask"];
|
|
}
|
|
|
|
message UpdateTargetResponse {
|
|
resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message DeleteTargetRequest {
|
|
string id = 1;
|
|
}
|
|
|
|
message DeleteTargetResponse {}
|
|
|
|
message AddTargetHostSetsRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_set_ids = 3 [json_name="host_set_ids"];
|
|
}
|
|
|
|
message AddTargetHostSetsResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message SetTargetHostSetsRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_set_ids = 3 [json_name="host_set_ids"];
|
|
}
|
|
|
|
message SetTargetHostSetsResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message RemoveTargetHostSetsRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_set_ids = 3 [json_name="host_set_ids"];
|
|
}
|
|
|
|
message RemoveTargetHostSetsResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message AddTargetHostSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_source_ids = 3 [json_name="host_source_ids"];
|
|
}
|
|
|
|
message AddTargetHostSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message SetTargetHostSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_source_ids = 3 [json_name="host_source_ids"];
|
|
}
|
|
|
|
message SetTargetHostSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message RemoveTargetHostSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string host_source_ids = 3 [json_name="host_source_ids"];
|
|
}
|
|
|
|
message RemoveTargetHostSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message AddTargetCredentialLibrariesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"];
|
|
}
|
|
|
|
message AddTargetCredentialLibrariesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
// Sets the values for application_credential_library_ids. If any
|
|
// credential_library_id field that is not set in the request will result in
|
|
// those fields being cleared.
|
|
message SetTargetCredentialLibrariesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"];
|
|
}
|
|
|
|
message SetTargetCredentialLibrariesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message RemoveTargetCredentialLibrariesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_library_ids = 3 [json_name="application_credential_library_ids"];
|
|
}
|
|
|
|
message RemoveTargetCredentialLibrariesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message AddTargetCredentialSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_ids"];
|
|
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"];
|
|
}
|
|
|
|
message AddTargetCredentialSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
// Sets the values for credential sources. Any credential_source_id field that
|
|
// is not set in the request will result in those fields being cleared.
|
|
message SetTargetCredentialSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_ids"];
|
|
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"];
|
|
}
|
|
|
|
message SetTargetCredentialSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message RemoveTargetCredentialSourcesRequest {
|
|
string id = 1;
|
|
// 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;
|
|
repeated string application_credential_source_ids = 3 [json_name="application_credential_source_id"];
|
|
repeated string egress_credential_source_ids = 4 [json_name="egress_credential_source_ids"];
|
|
}
|
|
|
|
message RemoveTargetCredentialSourcesResponse {
|
|
api.resources.targets.v1.Target item = 1;
|
|
}
|
|
|
|
message AuthorizeSessionRequest {
|
|
// The ID of the target. Required unless some combination of scope_id/scope_name and name are set.
|
|
string id = 1;
|
|
|
|
// The name of the target. When using this, scope_id or scope_name must be set.
|
|
string name = 3;
|
|
|
|
// The scope ID containing the target, if specifying the target by name.
|
|
string scope_id = 4;
|
|
|
|
// The scope name containing the target, if specifying the target by name.
|
|
string scope_name = 5;
|
|
|
|
// An optional parameter allowing specification of the particular Host within the Target's configured Host Sets to connect to during this Session.
|
|
string host_id = 2 [json_name="host_id"];
|
|
}
|
|
|
|
message AuthorizeSessionResponse {
|
|
api.resources.targets.v1.SessionAuthorization item = 1;
|
|
}
|