// Copyright IBM Corp. 2020, 2026
// SPDX-License-Identifier: MPL-2.0

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        (unknown)
// source: controller/api/resources/workers/v1/worker.proto

package workers

import (
	scopes "github.com/hashicorp/boundary/sdk/pbs/controller/api/resources/scopes"
	_ "github.com/hashicorp/boundary/sdk/pbs/controller/protooptions"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	structpb "google.golang.org/protobuf/types/known/structpb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
	wrapperspb "google.golang.org/protobuf/types/known/wrapperspb"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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)
)

// Worker contains all fields related to a Worker resource
type Worker struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The ID of the User.
	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.
	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 *scopes.ScopeInfo `protobuf:"bytes,30,opt,name=scope,proto3" json:"scope,omitempty"`
	// Optional name for identification purposes. Can only be set through the API
	// for `pki`-type workers; read-only for `kms`-type workers.
	Name *wrapperspb.StringValue `protobuf:"bytes,40,opt,name=name,proto3" json:"name,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"`
	// Optional user-set description for identification purposes. Can only be set
	// through the API for `pki`-type workers; read-only for `kms`-type workers.
	Description *wrapperspb.StringValue `protobuf:"bytes,50,opt,name=description,proto3" json:"description,omitempty" class:"sensitive"` // @gotags: `class:"sensitive"`
	// Output only. 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.
	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.
	Version uint32 `protobuf:"varint,80,opt,name=version,proto3" json:"version,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The address that this worker is reachable at, as sourced from
	// the worker's configuration file.
	Address string `protobuf:"bytes,90,opt,name=address,proto3" json:"address,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The deduplicated union of the tags reported by the worker from
	// its configuration and any tags added through other means.  This is used
	// when applying worker filters.
	CanonicalTags map[string]*structpb.ListValue `protobuf:"bytes,120,rep,name=canonical_tags,proto3" json:"canonical_tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	// Output only. The tags set in the worker's configuration file.
	ConfigTags map[string]*structpb.ListValue `protobuf:"bytes,130,rep,name=config_tags,proto3" json:"config_tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	// Output only. The time this worker daemon last reported its status.
	LastStatusTime *timestamppb.Timestamp `protobuf:"bytes,140,opt,name=last_status_time,proto3" json:"last_status_time,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// worker_generated_auth_token is input only. Supports the worker led node
	// enrollment flow where this credentials token is produced by a worker. This
	// token is a base58 encoded types.FetchNodeCredentialsRequest from
	// https://github.com/hashicorp/nodeenrollment
	WorkerGeneratedAuthToken *wrapperspb.StringValue `protobuf:"bytes,150,opt,name=worker_generated_auth_token,proto3" json:"worker_generated_auth_token,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. An activation token that can be given to a worker to correlate
	// it to the created resource.
	ControllerGeneratedActivationToken *wrapperspb.StringValue `protobuf:"bytes,151,opt,name=controller_generated_activation_token,proto3" json:"controller_generated_activation_token,omitempty" class:"secret"` // @gotags: `class:"secret"`
	// Output only. The number of connections that this worker is currently handling.
	ActiveConnectionCount *wrapperspb.UInt32Value `protobuf:"bytes,160,opt,name=active_connection_count,proto3" json:"active_connection_count,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// Output only. The type of the worker, denoted by how it authenticates: `pki`
	// or `kms`.
	Type string `protobuf:"bytes,170,opt,name=type,proto3" json:"type,omitempty"`
	// Output only. The api tags set for the worker.
	ApiTags map[string]*structpb.ListValue `protobuf:"bytes,180,rep,name=api_tags,proto3" json:"api_tags,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	// Output only. The version of the Boundary binary the worker is running.
	ReleaseVersion string `protobuf:"bytes,190,opt,name=release_version,proto3" json:"release_version,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// Output only. The ids of the workers directly connected to this worker.
	DirectlyConnectedDownstreamWorkers []string `protobuf:"bytes,200,rep,name=directly_connected_downstream_workers,proto3" json:"directly_connected_downstream_workers,omitempty" class:"public" eventstream:"observation"` // @gotags: `class:"public" eventstream:"observation"`
	// Output only. The available actions on this resource for the requester.
	AuthorizedActions []string `protobuf:"bytes,300,rep,name=authorized_actions,proto3" json:"authorized_actions,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The local_storage_state indicates the state of the local disk space of the worker.
	// Possible values are:
	// - available: The worker local storage state is at an acceptable state
	// - low storage: The worker is below the minimum threshold for local storage
	// - critically low storage: The worker local storage state is below the critical minimum threshold for local storage
	// - out of storage: The worker is out of local disk space
	// - not configured: The worker does not have a local storage path configured
	// - unknown: The default local storage state of a worker. Used when the local storage state of a worker is not yet known
	LocalStorageState string `protobuf:"bytes,310,opt,name=local_storage_state,proto3" json:"local_storage_state,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The remote_storage_state indicats the permission state of the storage buckets that the Worker
	// is actively using. The possible permission state types include: write, read, and delete. The possible
	// permission state values include: unknown, error, and ok.
	RemoteStorageState map[string]*RemoteStorageState `protobuf:"bytes,320,rep,name=remote_storage_state,proto3" json:"remote_storage_state,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"bytes,2,opt,name=value" class:"public"` // @gotags: `class:"public"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *Worker) Reset() {
	*x = Worker{}
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Worker) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Worker) ProtoMessage() {}

func (x *Worker) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Worker.ProtoReflect.Descriptor instead.
func (*Worker) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP(), []int{0}
}

func (x *Worker) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Worker) GetScopeId() string {
	if x != nil {
		return x.ScopeId
	}
	return ""
}

func (x *Worker) GetScope() *scopes.ScopeInfo {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *Worker) GetName() *wrapperspb.StringValue {
	if x != nil {
		return x.Name
	}
	return nil
}

func (x *Worker) GetDescription() *wrapperspb.StringValue {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *Worker) GetCreatedTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreatedTime
	}
	return nil
}

func (x *Worker) GetUpdatedTime() *timestamppb.Timestamp {
	if x != nil {
		return x.UpdatedTime
	}
	return nil
}

func (x *Worker) GetVersion() uint32 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *Worker) GetAddress() string {
	if x != nil {
		return x.Address
	}
	return ""
}

func (x *Worker) GetCanonicalTags() map[string]*structpb.ListValue {
	if x != nil {
		return x.CanonicalTags
	}
	return nil
}

func (x *Worker) GetConfigTags() map[string]*structpb.ListValue {
	if x != nil {
		return x.ConfigTags
	}
	return nil
}

func (x *Worker) GetLastStatusTime() *timestamppb.Timestamp {
	if x != nil {
		return x.LastStatusTime
	}
	return nil
}

func (x *Worker) GetWorkerGeneratedAuthToken() *wrapperspb.StringValue {
	if x != nil {
		return x.WorkerGeneratedAuthToken
	}
	return nil
}

func (x *Worker) GetControllerGeneratedActivationToken() *wrapperspb.StringValue {
	if x != nil {
		return x.ControllerGeneratedActivationToken
	}
	return nil
}

func (x *Worker) GetActiveConnectionCount() *wrapperspb.UInt32Value {
	if x != nil {
		return x.ActiveConnectionCount
	}
	return nil
}

func (x *Worker) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Worker) GetApiTags() map[string]*structpb.ListValue {
	if x != nil {
		return x.ApiTags
	}
	return nil
}

func (x *Worker) GetReleaseVersion() string {
	if x != nil {
		return x.ReleaseVersion
	}
	return ""
}

func (x *Worker) GetDirectlyConnectedDownstreamWorkers() []string {
	if x != nil {
		return x.DirectlyConnectedDownstreamWorkers
	}
	return nil
}

func (x *Worker) GetAuthorizedActions() []string {
	if x != nil {
		return x.AuthorizedActions
	}
	return nil
}

func (x *Worker) GetLocalStorageState() string {
	if x != nil {
		return x.LocalStorageState
	}
	return ""
}

func (x *Worker) GetRemoteStorageState() map[string]*RemoteStorageState {
	if x != nil {
		return x.RemoteStorageState
	}
	return nil
}

type RemoteStorageState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The overall health status of the storage bucket. The possible values include: error and available.
	// The status exists in an available state if each remote storage permission state does not have an error. An unknown remote
	// storage permission state does not affect the overall health status.
	Status string `protobuf:"bytes,10,opt,name=status,proto3" json:"status,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The remote storage permissions contains the permission state for each individual permission type.
	Permissions   *RemoteStoragePermissions `protobuf:"bytes,20,opt,name=permissions,proto3" json:"permissions,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoteStorageState) Reset() {
	*x = RemoteStorageState{}
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoteStorageState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoteStorageState) ProtoMessage() {}

func (x *RemoteStorageState) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoteStorageState.ProtoReflect.Descriptor instead.
func (*RemoteStorageState) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP(), []int{1}
}

func (x *RemoteStorageState) GetStatus() string {
	if x != nil {
		return x.Status
	}
	return ""
}

func (x *RemoteStorageState) GetPermissions() *RemoteStoragePermissions {
	if x != nil {
		return x.Permissions
	}
	return nil
}

type RemoteStoragePermissions struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The status of the write permission state for the given storage bucket.
	// Possible values are: unknown, error, and ok.
	Write string `protobuf:"bytes,10,opt,name=write,proto3" json:"write,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The status of the read permission state for the given storage bucket.
	// Possible values are: unknown, error, and ok.
	Read string `protobuf:"bytes,20,opt,name=read,proto3" json:"read,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The status of the delete permission state for the given storage bucket.
	// Possible values are: unknown, error, and ok.
	Delete        string `protobuf:"bytes,30,opt,name=delete,proto3" json:"delete,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RemoteStoragePermissions) Reset() {
	*x = RemoteStoragePermissions{}
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RemoteStoragePermissions) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RemoteStoragePermissions) ProtoMessage() {}

func (x *RemoteStoragePermissions) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RemoteStoragePermissions.ProtoReflect.Descriptor instead.
func (*RemoteStoragePermissions) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP(), []int{2}
}

func (x *RemoteStoragePermissions) GetWrite() string {
	if x != nil {
		return x.Write
	}
	return ""
}

func (x *RemoteStoragePermissions) GetRead() string {
	if x != nil {
		return x.Read
	}
	return ""
}

func (x *RemoteStoragePermissions) GetDelete() string {
	if x != nil {
		return x.Delete
	}
	return ""
}

type Certificate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The ID of the certificate
	Id string `protobuf:"bytes,10,opt,name=id,proto3" json:"id,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The public key of the cert authority
	PublicKeySha256 string `protobuf:"bytes,20,opt,name=public_key_sha256,json=publicKeySha256,proto3" json:"public_key_sha256,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The time before which this CA is invalid
	NotBeforeTime *timestamppb.Timestamp `protobuf:"bytes,30,opt,name=not_before_time,json=notBeforeTime,proto3" json:"not_before_time,omitempty" class:"public"` // @gotags: `class:"public"`
	// Output only. The time after which this CA is invalid
	NotAfterTime  *timestamppb.Timestamp `protobuf:"bytes,40,opt,name=not_after_time,json=notAfterTime,proto3" json:"not_after_time,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Certificate) Reset() {
	*x = Certificate{}
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Certificate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Certificate) ProtoMessage() {}

func (x *Certificate) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Certificate.ProtoReflect.Descriptor instead.
func (*Certificate) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP(), []int{3}
}

func (x *Certificate) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *Certificate) GetPublicKeySha256() string {
	if x != nil {
		return x.PublicKeySha256
	}
	return ""
}

func (x *Certificate) GetNotBeforeTime() *timestamppb.Timestamp {
	if x != nil {
		return x.NotBeforeTime
	}
	return nil
}

func (x *Certificate) GetNotAfterTime() *timestamppb.Timestamp {
	if x != nil {
		return x.NotAfterTime
	}
	return nil
}

type CertificateAuthority struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Certs         []*Certificate         `protobuf:"bytes,10,rep,name=certs,proto3" json:"certs,omitempty" class:"public"` // @gotags: `class:"public"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CertificateAuthority) Reset() {
	*x = CertificateAuthority{}
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CertificateAuthority) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CertificateAuthority) ProtoMessage() {}

func (x *CertificateAuthority) ProtoReflect() protoreflect.Message {
	mi := &file_controller_api_resources_workers_v1_worker_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CertificateAuthority.ProtoReflect.Descriptor instead.
func (*CertificateAuthority) Descriptor() ([]byte, []int) {
	return file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP(), []int{4}
}

func (x *CertificateAuthority) GetCerts() []*Certificate {
	if x != nil {
		return x.Certs
	}
	return nil
}

var File_controller_api_resources_workers_v1_worker_proto protoreflect.FileDescriptor

const file_controller_api_resources_workers_v1_worker_proto_rawDesc = "" +
	"\n" +
	"0controller/api/resources/workers/v1/worker.proto\x12#controller.api.resources.workers.v1\x1a.controller/api/resources/scopes/v1/scope.proto\x1a*controller/custom_options/v1/options.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xf6\x0e\n" +
	"\x06Worker\x12\x0e\n" +
	"\x02id\x18\n" +
	" \x01(\tR\x02id\x12\x1a\n" +
	"\bscope_id\x18\x14 \x01(\tR\bscope_id\x12C\n" +
	"\x05scope\x18\x1e \x01(\v2-.controller.api.resources.scopes.v1.ScopeInfoR\x05scope\x12F\n" +
	"\x04name\x18( \x01(\v2\x1c.google.protobuf.StringValueB\x14\xa0\xda)\x01\xc2\xdd)\f\n" +
	"\x04name\x12\x04nameR\x04name\x12b\n" +
	"\vdescription\x182 \x01(\v2\x1c.google.protobuf.StringValueB\"\xa0\xda)\x01\xc2\xdd)\x1a\n" +
	"\vdescription\x12\vdescriptionR\vdescription\x12>\n" +
	"\fcreated_time\x18< \x01(\v2\x1a.google.protobuf.TimestampR\fcreated_time\x12>\n" +
	"\fupdated_time\x18F \x01(\v2\x1a.google.protobuf.TimestampR\fupdated_time\x12\x18\n" +
	"\aversion\x18P \x01(\rR\aversion\x12\x18\n" +
	"\aaddress\x18Z \x01(\tR\aaddress\x12f\n" +
	"\x0ecanonical_tags\x18x \x03(\v2>.controller.api.resources.workers.v1.Worker.CanonicalTagsEntryR\x0ecanonical_tags\x12^\n" +
	"\vconfig_tags\x18\x82\x01 \x03(\v2;.controller.api.resources.workers.v1.Worker.ConfigTagsEntryR\vconfig_tags\x12G\n" +
	"\x10last_status_time\x18\x8c\x01 \x01(\v2\x1a.google.protobuf.TimestampR\x10last_status_time\x12_\n" +
	"\x1bworker_generated_auth_token\x18\x96\x01 \x01(\v2\x1c.google.protobuf.StringValueR\x1bworker_generated_auth_token\x12s\n" +
	"%controller_generated_activation_token\x18\x97\x01 \x01(\v2\x1c.google.protobuf.StringValueR%controller_generated_activation_token\x12W\n" +
	"\x17active_connection_count\x18\xa0\x01 \x01(\v2\x1c.google.protobuf.UInt32ValueR\x17active_connection_count\x12\x13\n" +
	"\x04type\x18\xaa\x01 \x01(\tR\x04type\x12U\n" +
	"\bapi_tags\x18\xb4\x01 \x03(\v28.controller.api.resources.workers.v1.Worker.ApiTagsEntryR\bapi_tags\x12)\n" +
	"\x0frelease_version\x18\xbe\x01 \x01(\tR\x0frelease_version\x12U\n" +
	"%directly_connected_downstream_workers\x18\xc8\x01 \x03(\tR%directly_connected_downstream_workers\x12/\n" +
	"\x12authorized_actions\x18\xac\x02 \x03(\tR\x12authorized_actions\x121\n" +
	"\x13local_storage_state\x18\xb6\x02 \x01(\tR\x13local_storage_state\x12x\n" +
	"\x14remote_storage_state\x18\xc0\x02 \x03(\v2C.controller.api.resources.workers.v1.Worker.RemoteStorageStateEntryR\x14remote_storage_state\x1a\\\n" +
	"\x12CanonicalTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.google.protobuf.ListValueR\x05value:\x028\x01\x1aY\n" +
	"\x0fConfigTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.google.protobuf.ListValueR\x05value:\x028\x01\x1aV\n" +
	"\fApiTagsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x120\n" +
	"\x05value\x18\x02 \x01(\v2\x1a.google.protobuf.ListValueR\x05value:\x028\x01\x1a~\n" +
	"\x17RemoteStorageStateEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12M\n" +
	"\x05value\x18\x02 \x01(\v27.controller.api.resources.workers.v1.RemoteStorageStateR\x05value:\x028\x01\"\x8d\x01\n" +
	"\x12RemoteStorageState\x12\x16\n" +
	"\x06status\x18\n" +
	" \x01(\tR\x06status\x12_\n" +
	"\vpermissions\x18\x14 \x01(\v2=.controller.api.resources.workers.v1.RemoteStoragePermissionsR\vpermissions\"\\\n" +
	"\x18RemoteStoragePermissions\x12\x14\n" +
	"\x05write\x18\n" +
	" \x01(\tR\x05write\x12\x12\n" +
	"\x04read\x18\x14 \x01(\tR\x04read\x12\x16\n" +
	"\x06delete\x18\x1e \x01(\tR\x06delete\"\xcf\x01\n" +
	"\vCertificate\x12\x0e\n" +
	"\x02id\x18\n" +
	" \x01(\tR\x02id\x12*\n" +
	"\x11public_key_sha256\x18\x14 \x01(\tR\x0fpublicKeySha256\x12B\n" +
	"\x0fnot_before_time\x18\x1e \x01(\v2\x1a.google.protobuf.TimestampR\rnotBeforeTime\x12@\n" +
	"\x0enot_after_time\x18( \x01(\v2\x1a.google.protobuf.TimestampR\fnotAfterTime\"^\n" +
	"\x14CertificateAuthority\x12F\n" +
	"\x05certs\x18\n" +
	" \x03(\v20.controller.api.resources.workers.v1.CertificateR\x05certsBPZNgithub.com/hashicorp/boundary/sdk/pbs/controller/api/resources/workers;workersb\x06proto3"

var (
	file_controller_api_resources_workers_v1_worker_proto_rawDescOnce sync.Once
	file_controller_api_resources_workers_v1_worker_proto_rawDescData []byte
)

func file_controller_api_resources_workers_v1_worker_proto_rawDescGZIP() []byte {
	file_controller_api_resources_workers_v1_worker_proto_rawDescOnce.Do(func() {
		file_controller_api_resources_workers_v1_worker_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_controller_api_resources_workers_v1_worker_proto_rawDesc), len(file_controller_api_resources_workers_v1_worker_proto_rawDesc)))
	})
	return file_controller_api_resources_workers_v1_worker_proto_rawDescData
}

var file_controller_api_resources_workers_v1_worker_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_controller_api_resources_workers_v1_worker_proto_goTypes = []any{
	(*Worker)(nil),                   // 0: controller.api.resources.workers.v1.Worker
	(*RemoteStorageState)(nil),       // 1: controller.api.resources.workers.v1.RemoteStorageState
	(*RemoteStoragePermissions)(nil), // 2: controller.api.resources.workers.v1.RemoteStoragePermissions
	(*Certificate)(nil),              // 3: controller.api.resources.workers.v1.Certificate
	(*CertificateAuthority)(nil),     // 4: controller.api.resources.workers.v1.CertificateAuthority
	nil,                              // 5: controller.api.resources.workers.v1.Worker.CanonicalTagsEntry
	nil,                              // 6: controller.api.resources.workers.v1.Worker.ConfigTagsEntry
	nil,                              // 7: controller.api.resources.workers.v1.Worker.ApiTagsEntry
	nil,                              // 8: controller.api.resources.workers.v1.Worker.RemoteStorageStateEntry
	(*scopes.ScopeInfo)(nil),         // 9: controller.api.resources.scopes.v1.ScopeInfo
	(*wrapperspb.StringValue)(nil),   // 10: google.protobuf.StringValue
	(*timestamppb.Timestamp)(nil),    // 11: google.protobuf.Timestamp
	(*wrapperspb.UInt32Value)(nil),   // 12: google.protobuf.UInt32Value
	(*structpb.ListValue)(nil),       // 13: google.protobuf.ListValue
}
var file_controller_api_resources_workers_v1_worker_proto_depIdxs = []int32{
	9,  // 0: controller.api.resources.workers.v1.Worker.scope:type_name -> controller.api.resources.scopes.v1.ScopeInfo
	10, // 1: controller.api.resources.workers.v1.Worker.name:type_name -> google.protobuf.StringValue
	10, // 2: controller.api.resources.workers.v1.Worker.description:type_name -> google.protobuf.StringValue
	11, // 3: controller.api.resources.workers.v1.Worker.created_time:type_name -> google.protobuf.Timestamp
	11, // 4: controller.api.resources.workers.v1.Worker.updated_time:type_name -> google.protobuf.Timestamp
	5,  // 5: controller.api.resources.workers.v1.Worker.canonical_tags:type_name -> controller.api.resources.workers.v1.Worker.CanonicalTagsEntry
	6,  // 6: controller.api.resources.workers.v1.Worker.config_tags:type_name -> controller.api.resources.workers.v1.Worker.ConfigTagsEntry
	11, // 7: controller.api.resources.workers.v1.Worker.last_status_time:type_name -> google.protobuf.Timestamp
	10, // 8: controller.api.resources.workers.v1.Worker.worker_generated_auth_token:type_name -> google.protobuf.StringValue
	10, // 9: controller.api.resources.workers.v1.Worker.controller_generated_activation_token:type_name -> google.protobuf.StringValue
	12, // 10: controller.api.resources.workers.v1.Worker.active_connection_count:type_name -> google.protobuf.UInt32Value
	7,  // 11: controller.api.resources.workers.v1.Worker.api_tags:type_name -> controller.api.resources.workers.v1.Worker.ApiTagsEntry
	8,  // 12: controller.api.resources.workers.v1.Worker.remote_storage_state:type_name -> controller.api.resources.workers.v1.Worker.RemoteStorageStateEntry
	2,  // 13: controller.api.resources.workers.v1.RemoteStorageState.permissions:type_name -> controller.api.resources.workers.v1.RemoteStoragePermissions
	11, // 14: controller.api.resources.workers.v1.Certificate.not_before_time:type_name -> google.protobuf.Timestamp
	11, // 15: controller.api.resources.workers.v1.Certificate.not_after_time:type_name -> google.protobuf.Timestamp
	3,  // 16: controller.api.resources.workers.v1.CertificateAuthority.certs:type_name -> controller.api.resources.workers.v1.Certificate
	13, // 17: controller.api.resources.workers.v1.Worker.CanonicalTagsEntry.value:type_name -> google.protobuf.ListValue
	13, // 18: controller.api.resources.workers.v1.Worker.ConfigTagsEntry.value:type_name -> google.protobuf.ListValue
	13, // 19: controller.api.resources.workers.v1.Worker.ApiTagsEntry.value:type_name -> google.protobuf.ListValue
	1,  // 20: controller.api.resources.workers.v1.Worker.RemoteStorageStateEntry.value:type_name -> controller.api.resources.workers.v1.RemoteStorageState
	21, // [21:21] is the sub-list for method output_type
	21, // [21:21] is the sub-list for method input_type
	21, // [21:21] is the sub-list for extension type_name
	21, // [21:21] is the sub-list for extension extendee
	0,  // [0:21] is the sub-list for field type_name
}

func init() { file_controller_api_resources_workers_v1_worker_proto_init() }
func file_controller_api_resources_workers_v1_worker_proto_init() {
	if File_controller_api_resources_workers_v1_worker_proto != nil {
		return
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_controller_api_resources_workers_v1_worker_proto_rawDesc), len(file_controller_api_resources_workers_v1_worker_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_controller_api_resources_workers_v1_worker_proto_goTypes,
		DependencyIndexes: file_controller_api_resources_workers_v1_worker_proto_depIdxs,
		MessageInfos:      file_controller_api_resources_workers_v1_worker_proto_msgTypes,
	}.Build()
	File_controller_api_resources_workers_v1_worker_proto = out.File
	file_controller_api_resources_workers_v1_worker_proto_goTypes = nil
	file_controller_api_resources_workers_v1_worker_proto_depIdxs = nil
}
