/// import { ChannelCredentials, ChannelOptions, UntypedServiceImplementation, handleUnaryCall, Client, ClientUnaryCall, Metadata, CallOptions, ServiceError } from '@grpc/grpc-js'; import _m0 from 'protobufjs/minimal'; import { FieldMask } from '../../../../../../google/protobuf/field_mask'; import { Federation } from '../../../../../../yandex/cloud/iam/v1/workload/oidc/federation'; import { Operation } from '../../../../../../yandex/cloud/operation/operation'; import { ListAccessBindingsRequest, ListAccessBindingsResponse, SetAccessBindingsRequest, UpdateAccessBindingsRequest } from '../../../../../../yandex/cloud/access/access'; export declare const protobufPackage = "yandex.cloud.iam.v1.workload.oidc"; export interface GetFederationRequest { /** * ID of the OIDC workload identity federation to return. * To get the OIDC workload identity federation ID, make a [FederationService.List] request. */ federationId: string; } export interface ListFederationsRequest { /** * ID of the folder to list OIDC workload identity federations in. * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * The maximum number of results per page to return. If the number of available * results is larger than [page_size], * the service returns a [ListFederationsResponse.next_page_token] * that can be used to get the next page of results in subsequent list requests. * Default value: 100 */ pageSize: number; /** * Page token. To get the next page of results, set [page_token] * to the [ListFederationsResponse.next_page_token] * returned by a previous list request. */ pageToken: string; } export interface ListFederationsResponse { /** List of OIDC workload identity federations. */ federations: Federation[]; /** * This token allows you to get the next page of results for list requests. If the number of results * is larger than [ListFederationsRequest.page_size], use * the [next_page_token] as the value * for the [ListFederationsRequest.page_token] query parameter * in the next list request. Each subsequent list request will have its own * [next_page_token] to continue paging through the results. */ nextPageToken: string; } export interface CreateFederationRequest { /** * ID of the folder to create an OIDC workload identity federation in. * To get the folder ID, make a [yandex.cloud.resourcemanager.v1.FolderService.List] request. */ folderId: string; /** * Name of the OIDC workload identity federation. * The name must be unique within the folder. */ name: string; /** Description of the OIDC workload identity federation. */ description: string; /** * True - the OIDC workload identity federation is disabled and cannot be used for authentication. * False - the OIDC workload identity federation is enabled and can be used for authentication. */ disabled: boolean; /** List of trusted values for aud claim. */ audiences: string[]; /** URL of the external IdP server to be used for authentication. */ issuer: string; /** URL reference to trusted keys in format of JSON Web Key Set. */ jwksUrl: string; /** Resource labels as `` key:value `` pairs */ labels: { [key: string]: string; }; } export interface CreateFederationRequest_LabelsEntry { key: string; value: string; } export interface CreateFederationMetadata { /** ID of the OIDC workload identity federation that is being created. */ federationId: string; } export interface UpdateFederationRequest { /** * ID of the OIDC workload identity federation to update. * To get the OIDC workload identity federation ID, make a [FederationService.List] request. */ federationId: string; /** Field mask that specifies which fields of the OIDC workload identity federation are going to be updated. */ updateMask?: FieldMask; /** * Name of the OIDC workload identity federation. * The name must be unique within the folder. */ name: string; /** Description of the OIDC workload identity federation. */ description: string; /** * True - the OIDC workload identity federation is disabled and cannot be used for authentication. * False - the OIDC workload identity federation is enabled and can be used for authentication. */ disabled: boolean; /** List of trusted values for aud claim. */ audiences: string[]; /** URL reference to trusted keys in format of JSON Web Key Set. */ jwksUrl: string; /** Resource labels as `` key:value `` pairs */ labels: { [key: string]: string; }; } export interface UpdateFederationRequest_LabelsEntry { key: string; value: string; } export interface UpdateFederationMetadata { /** ID of the OIDC workload identity federation that is being updated. */ federationId: string; } export interface DeleteFederationRequest { /** * ID of the OIDC workload identity federation to delete. * To get the OIDC workload identity federation ID, make a [FederationService.List] request. */ federationId: string; } export interface DeleteFederationMetadata { /** ID of the OIDC workload identity federation that is being deleted. */ federationId: string; } export declare const GetFederationRequest: { encode(message: GetFederationRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): GetFederationRequest; fromJSON(object: any): GetFederationRequest; toJSON(message: GetFederationRequest): unknown; fromPartial, never>>(object: I): GetFederationRequest; }; export declare const ListFederationsRequest: { encode(message: ListFederationsRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListFederationsRequest; fromJSON(object: any): ListFederationsRequest; toJSON(message: ListFederationsRequest): unknown; fromPartial, never>>(object: I): ListFederationsRequest; }; export declare const ListFederationsResponse: { encode(message: ListFederationsResponse, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): ListFederationsResponse; fromJSON(object: any): ListFederationsResponse; toJSON(message: ListFederationsResponse): unknown; fromPartial, never>) | undefined; issuer?: string | undefined; jwksUrl?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; createdAt?: Date | undefined; } & Record, never>)[] & Record, never>) | undefined; nextPageToken?: string | undefined; } & Record, never>>(object: I): ListFederationsResponse; }; export declare const CreateFederationRequest: { encode(message: CreateFederationRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateFederationRequest; fromJSON(object: any): CreateFederationRequest; toJSON(message: CreateFederationRequest): unknown; fromPartial, never>) | undefined; issuer?: string | undefined; jwksUrl?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): CreateFederationRequest; }; export declare const CreateFederationRequest_LabelsEntry: { encode(message: CreateFederationRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateFederationRequest_LabelsEntry; fromJSON(object: any): CreateFederationRequest_LabelsEntry; toJSON(message: CreateFederationRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): CreateFederationRequest_LabelsEntry; }; export declare const CreateFederationMetadata: { encode(message: CreateFederationMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CreateFederationMetadata; fromJSON(object: any): CreateFederationMetadata; toJSON(message: CreateFederationMetadata): unknown; fromPartial, never>>(object: I): CreateFederationMetadata; }; export declare const UpdateFederationRequest: { encode(message: UpdateFederationRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateFederationRequest; fromJSON(object: any): UpdateFederationRequest; toJSON(message: UpdateFederationRequest): unknown; fromPartial, never>) | undefined; } & Record, never>) | undefined; name?: string | undefined; description?: string | undefined; disabled?: boolean | undefined; audiences?: (string[] & string[] & Record, never>) | undefined; jwksUrl?: string | undefined; labels?: ({ [x: string]: string | undefined; } & { [x: string]: string | undefined; } & Record, never>) | undefined; } & Record, never>>(object: I): UpdateFederationRequest; }; export declare const UpdateFederationRequest_LabelsEntry: { encode(message: UpdateFederationRequest_LabelsEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateFederationRequest_LabelsEntry; fromJSON(object: any): UpdateFederationRequest_LabelsEntry; toJSON(message: UpdateFederationRequest_LabelsEntry): unknown; fromPartial, never>>(object: I): UpdateFederationRequest_LabelsEntry; }; export declare const UpdateFederationMetadata: { encode(message: UpdateFederationMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): UpdateFederationMetadata; fromJSON(object: any): UpdateFederationMetadata; toJSON(message: UpdateFederationMetadata): unknown; fromPartial, never>>(object: I): UpdateFederationMetadata; }; export declare const DeleteFederationRequest: { encode(message: DeleteFederationRequest, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteFederationRequest; fromJSON(object: any): DeleteFederationRequest; toJSON(message: DeleteFederationRequest): unknown; fromPartial, never>>(object: I): DeleteFederationRequest; }; export declare const DeleteFederationMetadata: { encode(message: DeleteFederationMetadata, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): DeleteFederationMetadata; fromJSON(object: any): DeleteFederationMetadata; toJSON(message: DeleteFederationMetadata): unknown; fromPartial, never>>(object: I): DeleteFederationMetadata; }; /** A set of methods for managing OIDC workload identity federations. */ export declare const FederationServiceService: { /** * Returns the specified OIDC workload identity federation. * * To get the list of available OIDC workload identity federation, make a [List] request. */ readonly get: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/Get"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: GetFederationRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => GetFederationRequest; readonly responseSerialize: (value: Federation) => Buffer; readonly responseDeserialize: (value: Buffer) => Federation; }; /** Retrieves the list of OIDC workload identity federations in the specified folder. */ readonly list: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/List"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListFederationsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListFederationsRequest; readonly responseSerialize: (value: ListFederationsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListFederationsResponse; }; /** Creates an OIDC workload identity federation in the specified folder. */ readonly create: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/Create"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: CreateFederationRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => CreateFederationRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates the specified OIDC workload identity federation. */ readonly update: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/Update"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateFederationRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateFederationRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Deletes the specified OIDC workload identity federation. */ readonly delete: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/Delete"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: DeleteFederationRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => DeleteFederationRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Lists access bindings for the specified OIDC workload identity federation. */ readonly listAccessBindings: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/ListAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: ListAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => ListAccessBindingsRequest; readonly responseSerialize: (value: ListAccessBindingsResponse) => Buffer; readonly responseDeserialize: (value: Buffer) => ListAccessBindingsResponse; }; /** Sets access bindings for the specified OIDC workload identity federation. */ readonly setAccessBindings: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/SetAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: SetAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => SetAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; /** Updates access bindings for the specified OIDC workload identity federation. */ readonly updateAccessBindings: { readonly path: "/yandex.cloud.iam.v1.workload.oidc.FederationService/UpdateAccessBindings"; readonly requestStream: false; readonly responseStream: false; readonly requestSerialize: (value: UpdateAccessBindingsRequest) => Buffer; readonly requestDeserialize: (value: Buffer) => UpdateAccessBindingsRequest; readonly responseSerialize: (value: Operation) => Buffer; readonly responseDeserialize: (value: Buffer) => Operation; }; }; export interface FederationServiceServer extends UntypedServiceImplementation { /** * Returns the specified OIDC workload identity federation. * * To get the list of available OIDC workload identity federation, make a [List] request. */ get: handleUnaryCall; /** Retrieves the list of OIDC workload identity federations in the specified folder. */ list: handleUnaryCall; /** Creates an OIDC workload identity federation in the specified folder. */ create: handleUnaryCall; /** Updates the specified OIDC workload identity federation. */ update: handleUnaryCall; /** Deletes the specified OIDC workload identity federation. */ delete: handleUnaryCall; /** Lists access bindings for the specified OIDC workload identity federation. */ listAccessBindings: handleUnaryCall; /** Sets access bindings for the specified OIDC workload identity federation. */ setAccessBindings: handleUnaryCall; /** Updates access bindings for the specified OIDC workload identity federation. */ updateAccessBindings: handleUnaryCall; } export interface FederationServiceClient extends Client { /** * Returns the specified OIDC workload identity federation. * * To get the list of available OIDC workload identity federation, make a [List] request. */ get(request: GetFederationRequest, callback: (error: ServiceError | null, response: Federation) => void): ClientUnaryCall; get(request: GetFederationRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Federation) => void): ClientUnaryCall; get(request: GetFederationRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Federation) => void): ClientUnaryCall; /** Retrieves the list of OIDC workload identity federations in the specified folder. */ list(request: ListFederationsRequest, callback: (error: ServiceError | null, response: ListFederationsResponse) => void): ClientUnaryCall; list(request: ListFederationsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListFederationsResponse) => void): ClientUnaryCall; list(request: ListFederationsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListFederationsResponse) => void): ClientUnaryCall; /** Creates an OIDC workload identity federation in the specified folder. */ create(request: CreateFederationRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateFederationRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; create(request: CreateFederationRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates the specified OIDC workload identity federation. */ update(request: UpdateFederationRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateFederationRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; update(request: UpdateFederationRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Deletes the specified OIDC workload identity federation. */ delete(request: DeleteFederationRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteFederationRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; delete(request: DeleteFederationRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Lists access bindings for the specified OIDC workload identity federation. */ listAccessBindings(request: ListAccessBindingsRequest, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; listAccessBindings(request: ListAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: ListAccessBindingsResponse) => void): ClientUnaryCall; /** Sets access bindings for the specified OIDC workload identity federation. */ setAccessBindings(request: SetAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; setAccessBindings(request: SetAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; /** Updates access bindings for the specified OIDC workload identity federation. */ updateAccessBindings(request: UpdateAccessBindingsRequest, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; updateAccessBindings(request: UpdateAccessBindingsRequest, metadata: Metadata, options: Partial, callback: (error: ServiceError | null, response: Operation) => void): ClientUnaryCall; } export declare const FederationServiceClient: { new (address: string, credentials: ChannelCredentials, options?: Partial): FederationServiceClient; service: typeof FederationServiceService; }; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; export type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & Record>, never>; export {};