UNPKG

@google-cloud/policy-troubleshooter-iam

Version:
846 lines (699 loc) 759 kB
// Copyright 2025 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. // You may obtain a copy of the License at // // http://www.apache.org/licenses/LICENSE-2.0 // // Unless required by applicable law or agreed to in writing, software // distributed under the License is distributed on an "AS IS" BASIS, // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. import type {protobuf as $protobuf} from "google-gax"; import Long = require("long"); /** Namespace google. */ export namespace google { /** Namespace cloud. */ namespace cloud { /** Namespace policytroubleshooter. */ namespace policytroubleshooter { /** Namespace iam. */ namespace iam { /** Namespace v3. */ namespace v3 { /** Represents a PolicyTroubleshooter */ class PolicyTroubleshooter extends $protobuf.rpc.Service { /** * Constructs a new PolicyTroubleshooter service. * @param rpcImpl RPC implementation * @param [requestDelimited=false] Whether requests are length-delimited * @param [responseDelimited=false] Whether responses are length-delimited */ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); /** * Creates new PolicyTroubleshooter service using the specified rpc implementation. * @param rpcImpl RPC implementation * @param [requestDelimited=false] Whether requests are length-delimited * @param [responseDelimited=false] Whether responses are length-delimited * @returns RPC service. Useful where requests and/or responses are streamed. */ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): PolicyTroubleshooter; /** * Calls TroubleshootIamPolicy. * @param request TroubleshootIamPolicyRequest message or plain object * @param callback Node-style callback called with the error, if any, and TroubleshootIamPolicyResponse */ public troubleshootIamPolicy(request: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest, callback: google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter.TroubleshootIamPolicyCallback): void; /** * Calls TroubleshootIamPolicy. * @param request TroubleshootIamPolicyRequest message or plain object * @returns Promise */ public troubleshootIamPolicy(request: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest): Promise<google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse>; } namespace PolicyTroubleshooter { /** * Callback as used by {@link google.cloud.policytroubleshooter.iam.v3.PolicyTroubleshooter|troubleshootIamPolicy}. * @param error Error, if any * @param [response] TroubleshootIamPolicyResponse */ type TroubleshootIamPolicyCallback = (error: (Error|null), response?: google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse) => void; } /** AllowAccessState enum. */ enum AllowAccessState { ALLOW_ACCESS_STATE_UNSPECIFIED = 0, ALLOW_ACCESS_STATE_GRANTED = 1, ALLOW_ACCESS_STATE_NOT_GRANTED = 2, ALLOW_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3, ALLOW_ACCESS_STATE_UNKNOWN_INFO = 4 } /** DenyAccessState enum. */ enum DenyAccessState { DENY_ACCESS_STATE_UNSPECIFIED = 0, DENY_ACCESS_STATE_DENIED = 1, DENY_ACCESS_STATE_NOT_DENIED = 2, DENY_ACCESS_STATE_UNKNOWN_CONDITIONAL = 3, DENY_ACCESS_STATE_UNKNOWN_INFO = 4 } /** RolePermissionInclusionState enum. */ enum RolePermissionInclusionState { ROLE_PERMISSION_INCLUSION_STATE_UNSPECIFIED = 0, ROLE_PERMISSION_INCLUDED = 1, ROLE_PERMISSION_NOT_INCLUDED = 2, ROLE_PERMISSION_UNKNOWN_INFO = 3 } /** PermissionPatternMatchingState enum. */ enum PermissionPatternMatchingState { PERMISSION_PATTERN_MATCHING_STATE_UNSPECIFIED = 0, PERMISSION_PATTERN_MATCHED = 1, PERMISSION_PATTERN_NOT_MATCHED = 2 } /** MembershipMatchingState enum. */ enum MembershipMatchingState { MEMBERSHIP_MATCHING_STATE_UNSPECIFIED = 0, MEMBERSHIP_MATCHED = 1, MEMBERSHIP_NOT_MATCHED = 2, MEMBERSHIP_UNKNOWN_INFO = 3, MEMBERSHIP_UNKNOWN_UNSUPPORTED = 4 } /** HeuristicRelevance enum. */ enum HeuristicRelevance { HEURISTIC_RELEVANCE_UNSPECIFIED = 0, HEURISTIC_RELEVANCE_NORMAL = 1, HEURISTIC_RELEVANCE_HIGH = 2 } /** Properties of a TroubleshootIamPolicyRequest. */ interface ITroubleshootIamPolicyRequest { /** TroubleshootIamPolicyRequest accessTuple */ accessTuple?: (google.cloud.policytroubleshooter.iam.v3.IAccessTuple|null); } /** Represents a TroubleshootIamPolicyRequest. */ class TroubleshootIamPolicyRequest implements ITroubleshootIamPolicyRequest { /** * Constructs a new TroubleshootIamPolicyRequest. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest); /** TroubleshootIamPolicyRequest accessTuple. */ public accessTuple?: (google.cloud.policytroubleshooter.iam.v3.IAccessTuple|null); /** * Creates a new TroubleshootIamPolicyRequest instance using the specified properties. * @param [properties] Properties to set * @returns TroubleshootIamPolicyRequest instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest; /** * Encodes the specified TroubleshootIamPolicyRequest message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest.verify|verify} messages. * @param message TroubleshootIamPolicyRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified TroubleshootIamPolicyRequest message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest.verify|verify} messages. * @param message TroubleshootIamPolicyRequest message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a TroubleshootIamPolicyRequest message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns TroubleshootIamPolicyRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest; /** * Decodes a TroubleshootIamPolicyRequest message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns TroubleshootIamPolicyRequest * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest; /** * Verifies a TroubleshootIamPolicyRequest message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates a TroubleshootIamPolicyRequest message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns TroubleshootIamPolicyRequest */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest; /** * Creates a plain object from a TroubleshootIamPolicyRequest message. Also converts values to other types if specified. * @param message TroubleshootIamPolicyRequest * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this TroubleshootIamPolicyRequest to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for TroubleshootIamPolicyRequest * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a TroubleshootIamPolicyResponse. */ interface ITroubleshootIamPolicyResponse { /** TroubleshootIamPolicyResponse overallAccessState */ overallAccessState?: (google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState|keyof typeof google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState|null); /** TroubleshootIamPolicyResponse accessTuple */ accessTuple?: (google.cloud.policytroubleshooter.iam.v3.IAccessTuple|null); /** TroubleshootIamPolicyResponse allowPolicyExplanation */ allowPolicyExplanation?: (google.cloud.policytroubleshooter.iam.v3.IAllowPolicyExplanation|null); /** TroubleshootIamPolicyResponse denyPolicyExplanation */ denyPolicyExplanation?: (google.cloud.policytroubleshooter.iam.v3.IDenyPolicyExplanation|null); } /** Represents a TroubleshootIamPolicyResponse. */ class TroubleshootIamPolicyResponse implements ITroubleshootIamPolicyResponse { /** * Constructs a new TroubleshootIamPolicyResponse. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyResponse); /** TroubleshootIamPolicyResponse overallAccessState. */ public overallAccessState: (google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState|keyof typeof google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.OverallAccessState); /** TroubleshootIamPolicyResponse accessTuple. */ public accessTuple?: (google.cloud.policytroubleshooter.iam.v3.IAccessTuple|null); /** TroubleshootIamPolicyResponse allowPolicyExplanation. */ public allowPolicyExplanation?: (google.cloud.policytroubleshooter.iam.v3.IAllowPolicyExplanation|null); /** TroubleshootIamPolicyResponse denyPolicyExplanation. */ public denyPolicyExplanation?: (google.cloud.policytroubleshooter.iam.v3.IDenyPolicyExplanation|null); /** * Creates a new TroubleshootIamPolicyResponse instance using the specified properties. * @param [properties] Properties to set * @returns TroubleshootIamPolicyResponse instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyResponse): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse; /** * Encodes the specified TroubleshootIamPolicyResponse message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.verify|verify} messages. * @param message TroubleshootIamPolicyResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified TroubleshootIamPolicyResponse message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse.verify|verify} messages. * @param message TroubleshootIamPolicyResponse message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.ITroubleshootIamPolicyResponse, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a TroubleshootIamPolicyResponse message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns TroubleshootIamPolicyResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse; /** * Decodes a TroubleshootIamPolicyResponse message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns TroubleshootIamPolicyResponse * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse; /** * Verifies a TroubleshootIamPolicyResponse message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates a TroubleshootIamPolicyResponse message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns TroubleshootIamPolicyResponse */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse; /** * Creates a plain object from a TroubleshootIamPolicyResponse message. Also converts values to other types if specified. * @param message TroubleshootIamPolicyResponse * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this TroubleshootIamPolicyResponse to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for TroubleshootIamPolicyResponse * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } namespace TroubleshootIamPolicyResponse { /** OverallAccessState enum. */ enum OverallAccessState { OVERALL_ACCESS_STATE_UNSPECIFIED = 0, CAN_ACCESS = 1, CANNOT_ACCESS = 2, UNKNOWN_INFO = 3, UNKNOWN_CONDITIONAL = 4 } } /** Properties of an AccessTuple. */ interface IAccessTuple { /** AccessTuple principal */ principal?: (string|null); /** AccessTuple fullResourceName */ fullResourceName?: (string|null); /** AccessTuple permission */ permission?: (string|null); /** AccessTuple permissionFqdn */ permissionFqdn?: (string|null); /** AccessTuple conditionContext */ conditionContext?: (google.cloud.policytroubleshooter.iam.v3.IConditionContext|null); } /** Represents an AccessTuple. */ class AccessTuple implements IAccessTuple { /** * Constructs a new AccessTuple. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.IAccessTuple); /** AccessTuple principal. */ public principal: string; /** AccessTuple fullResourceName. */ public fullResourceName: string; /** AccessTuple permission. */ public permission: string; /** AccessTuple permissionFqdn. */ public permissionFqdn: string; /** AccessTuple conditionContext. */ public conditionContext?: (google.cloud.policytroubleshooter.iam.v3.IConditionContext|null); /** * Creates a new AccessTuple instance using the specified properties. * @param [properties] Properties to set * @returns AccessTuple instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.IAccessTuple): google.cloud.policytroubleshooter.iam.v3.AccessTuple; /** * Encodes the specified AccessTuple message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.AccessTuple.verify|verify} messages. * @param message AccessTuple message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.IAccessTuple, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified AccessTuple message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.AccessTuple.verify|verify} messages. * @param message AccessTuple message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.IAccessTuple, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes an AccessTuple message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns AccessTuple * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.AccessTuple; /** * Decodes an AccessTuple message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns AccessTuple * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.AccessTuple; /** * Verifies an AccessTuple message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates an AccessTuple message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns AccessTuple */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.AccessTuple; /** * Creates a plain object from an AccessTuple message. Also converts values to other types if specified. * @param message AccessTuple * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.AccessTuple, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this AccessTuple to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for AccessTuple * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a ConditionContext. */ interface IConditionContext { /** ConditionContext resource */ resource?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource|null); /** ConditionContext destination */ destination?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer|null); /** ConditionContext request */ request?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest|null); /** ConditionContext effectiveTags */ effectiveTags?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IEffectiveTag[]|null); } /** Represents a ConditionContext. */ class ConditionContext implements IConditionContext { /** * Constructs a new ConditionContext. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.IConditionContext); /** ConditionContext resource. */ public resource?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource|null); /** ConditionContext destination. */ public destination?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer|null); /** ConditionContext request. */ public request?: (google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest|null); /** ConditionContext effectiveTags. */ public effectiveTags: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IEffectiveTag[]; /** * Creates a new ConditionContext instance using the specified properties. * @param [properties] Properties to set * @returns ConditionContext instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.IConditionContext): google.cloud.policytroubleshooter.iam.v3.ConditionContext; /** * Encodes the specified ConditionContext message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.verify|verify} messages. * @param message ConditionContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.IConditionContext, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified ConditionContext message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.verify|verify} messages. * @param message ConditionContext message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.IConditionContext, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a ConditionContext message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns ConditionContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.ConditionContext; /** * Decodes a ConditionContext message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns ConditionContext * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.ConditionContext; /** * Verifies a ConditionContext message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates a ConditionContext message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns ConditionContext */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.ConditionContext; /** * Creates a plain object from a ConditionContext message. Also converts values to other types if specified. * @param message ConditionContext * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this ConditionContext to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for ConditionContext * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } namespace ConditionContext { /** Properties of a Resource. */ interface IResource { /** Resource service */ service?: (string|null); /** Resource name */ name?: (string|null); /** Resource type */ type?: (string|null); } /** Represents a Resource. */ class Resource implements IResource { /** * Constructs a new Resource. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource); /** Resource service. */ public service: string; /** Resource name. */ public name: string; /** Resource type. */ public type: string; /** * Creates a new Resource instance using the specified properties. * @param [properties] Properties to set * @returns Resource instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource; /** * Encodes the specified Resource message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource.verify|verify} messages. * @param message Resource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified Resource message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource.verify|verify} messages. * @param message Resource message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IResource, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a Resource message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns Resource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource; /** * Decodes a Resource message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns Resource * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource; /** * Verifies a Resource message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates a Resource message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns Resource */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource; /** * Creates a plain object from a Resource message. Also converts values to other types if specified. * @param message Resource * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.Resource, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this Resource to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for Resource * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Peer. */ interface IPeer { /** Peer ip */ ip?: (string|null); /** Peer port */ port?: (number|Long|string|null); } /** Represents a Peer. */ class Peer implements IPeer { /** * Constructs a new Peer. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer); /** Peer ip. */ public ip: string; /** Peer port. */ public port: (number|Long|string); /** * Creates a new Peer instance using the specified properties. * @param [properties] Properties to set * @returns Peer instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer; /** * Encodes the specified Peer message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer.verify|verify} messages. * @param message Peer message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified Peer message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer.verify|verify} messages. * @param message Peer message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IPeer, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a Peer message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand * @returns Peer * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer; /** * Decodes a Peer message from the specified reader or buffer, length delimited. * @param reader Reader or buffer to decode from * @returns Peer * @throws {Error} If the payload is not a reader or valid buffer * @throws {$protobuf.util.ProtocolError} If required fields are missing */ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer; /** * Verifies a Peer message. * @param message Plain object to verify * @returns `null` if valid, otherwise the reason why it is not */ public static verify(message: { [k: string]: any }): (string|null); /** * Creates a Peer message from a plain object. Also converts values to their respective internal types. * @param object Plain object * @returns Peer */ public static fromObject(object: { [k: string]: any }): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer; /** * Creates a plain object from a Peer message. Also converts values to other types if specified. * @param message Peer * @param [options] Conversion options * @returns Plain object */ public static toObject(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.Peer, options?: $protobuf.IConversionOptions): { [k: string]: any }; /** * Converts this Peer to JSON. * @returns JSON object */ public toJSON(): { [k: string]: any }; /** * Gets the default type url for Peer * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") * @returns The default type url */ public static getTypeUrl(typeUrlPrefix?: string): string; } /** Properties of a Request. */ interface IRequest { /** Request receiveTime */ receiveTime?: (google.protobuf.ITimestamp|null); } /** Represents a Request. */ class Request implements IRequest { /** * Constructs a new Request. * @param [properties] Properties to set */ constructor(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest); /** Request receiveTime. */ public receiveTime?: (google.protobuf.ITimestamp|null); /** * Creates a new Request instance using the specified properties. * @param [properties] Properties to set * @returns Request instance */ public static create(properties?: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest): google.cloud.policytroubleshooter.iam.v3.ConditionContext.Request; /** * Encodes the specified Request message. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Request.verify|verify} messages. * @param message Request message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encode(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** * Encodes the specified Request message, length delimited. Does not implicitly {@link google.cloud.policytroubleshooter.iam.v3.ConditionContext.Request.verify|verify} messages. * @param message Request message or plain object to encode * @param [writer] Writer to encode to * @returns Writer */ public static encodeDelimited(message: google.cloud.policytroubleshooter.iam.v3.ConditionContext.IRequest, writer?: $protobuf.Writer): $protobuf.Writer; /** * Decodes a Request message from the specified reader or buffer. * @param reader Reader or buffer to decode from * @param [length] Message length if known beforehand