public final class Operation extends GeneratedMessageV3 implements OperationOrBuilder
   
   Contains an operation for a resource loosely based on the JSON-PATCH format
 with support for:
- Custom filters for describing partial array patch.
- Extended path values for describing nested arrays.
- Custom fields for describing the resource for which the operation is being
described.
- Allows extension to custom operations not natively supported by RFC6902.
See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
 Protobuf type google.cloud.recommender.v1beta1.Operation
    Inherited Members
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT)
    
    
      com.google.protobuf.GeneratedMessageV3.<ListT>makeMutableCopy(ListT,int)
    
    
    
    
    
    
    
    
      com.google.protobuf.GeneratedMessageV3.<T>emptyList(java.lang.Class<T>)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
      com.google.protobuf.GeneratedMessageV3.internalGetMapFieldReflection(int)
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
   
  Static Fields
  
  ACTION_FIELD_NUMBER
  
    public static final int ACTION_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  PATH_FIELD_NUMBER
  
    public static final int PATH_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  PATH_FILTERS_FIELD_NUMBER
  
    public static final int PATH_FILTERS_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  PATH_VALUE_MATCHERS_FIELD_NUMBER
  
    public static final int PATH_VALUE_MATCHERS_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  RESOURCE_FIELD_NUMBER
  
    public static final int RESOURCE_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  RESOURCE_TYPE_FIELD_NUMBER
  
    public static final int RESOURCE_TYPE_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  SOURCE_PATH_FIELD_NUMBER
  
    public static final int SOURCE_PATH_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  SOURCE_RESOURCE_FIELD_NUMBER
  
    public static final int SOURCE_RESOURCE_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  VALUE_FIELD_NUMBER
  
    public static final int VALUE_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  VALUE_MATCHER_FIELD_NUMBER
  
    public static final int VALUE_MATCHER_FIELD_NUMBER
   
  
    
      
        | Field Value | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  Static Methods
  
  
  getDefaultInstance()
  
    public static Operation getDefaultInstance()
   
  
  
  getDescriptor()
  
    public static final Descriptors.Descriptor getDescriptor()
   
  
  
  newBuilder()
  
    public static Operation.Builder newBuilder()
   
  
  
  newBuilder(Operation prototype)
  
    public static Operation.Builder newBuilder(Operation prototype)
   
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | prototype | Operation
 | 
    
  
  
  
  
  
    public static Operation parseDelimitedFrom(InputStream input)
   
  
  
  
  
  
  
    public static Operation parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(byte[] data)
  
    public static Operation parseFrom(byte[] data)
   
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | data | byte[]
 | 
    
  
  
  
  
  parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
  
    public static Operation parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(ByteString data)
  
    public static Operation parseFrom(ByteString data)
   
  
  
  
  
  parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
  
    public static Operation parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  
  
    public static Operation parseFrom(CodedInputStream input)
   
  
  
  
  
  
  
    public static Operation parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  
  
    public static Operation parseFrom(InputStream input)
   
  
  
  
  
  
  
    public static Operation parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parseFrom(ByteBuffer data)
  
    public static Operation parseFrom(ByteBuffer data)
   
  
  
  
  
  parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
  
    public static Operation parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
   
  
  
  
  
  parser()
  
    public static Parser<Operation> parser()
   
  
  Methods
  
  
  containsPathFilters(String key)
  
    public boolean containsPathFilters(String key)
   
   Set of filters to apply if path refers to array elements or nested array
 elements in order to narrow down to a single unique element that is being
 tested/modified.
 This is intended to be an exact match per filter. To perform advanced
 matching, use path_value_matchers.
- Example:
`
{
"/versions/*/name" : "it-123"
"/versions/*/targetSize/percent": 20
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/condition" : null
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/members/*" : ["x@example.com", "y@example.com"]
}
 map<string, .google.protobuf.Value> path_filters = 8;
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | key | String
 | 
    
  
  
  
  containsPathValueMatchers(String key)
  
    public boolean containsPathValueMatchers(String key)
   
   Similar to path_filters, this contains set of filters to apply if path
 field refers to array elements. This is meant to support value matching
 beyond exact match. To perform exact match, use path_filters.
 When both path_filters and path_value_matchers are set, an implicit AND
 must be performed.
 
 map<string, .google.cloud.recommender.v1beta1.ValueMatcher> path_value_matchers = 11;
 
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | key | String
 | 
    
  
  
  
  equals(Object obj)
  
    public boolean equals(Object obj)
   
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | obj | Object
 | 
    
  
  
  Overrides
  
  
  getAction()
  
    public String getAction()
   
   Type of this operation. Contains one of 'add', 'remove', 'replace', 'move',
 'copy', 'test' and 'custom' operations. This field is case-insensitive and
 always populated.
 string action = 1;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The action. | 
    
  
  
  getActionBytes()
  
    public ByteString getActionBytes()
   
   Type of this operation. Contains one of 'add', 'remove', 'replace', 'move',
 'copy', 'test' and 'custom' operations. This field is case-insensitive and
 always populated.
 string action = 1;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for action. | 
    
  
  
  getDefaultInstanceForType()
  
    public Operation getDefaultInstanceForType()
   
  
  
  getParserForType()
  
    public Parser<Operation> getParserForType()
   
  
  Overrides
  
  
  getPath()
  
   Path to the target field being operated on. If the operation is at the
 resource level, then path should be "/". This field is always populated.
 string path = 4;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The path. | 
    
  
  
  getPathBytes()
  
    public ByteString getPathBytes()
   
   Path to the target field being operated on. If the operation is at the
 resource level, then path should be "/". This field is always populated.
 string path = 4;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for path. | 
    
  
  
  getPathFilters() (deprecated)
  
    public Map<String,Value> getPathFilters()
   
  
  
  
  getPathFiltersCount()
  
    public int getPathFiltersCount()
   
   Set of filters to apply if path refers to array elements or nested array
 elements in order to narrow down to a single unique element that is being
 tested/modified.
 This is intended to be an exact match per filter. To perform advanced
 matching, use path_value_matchers.
- Example:
`
{
"/versions/*/name" : "it-123"
"/versions/*/targetSize/percent": 20
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/condition" : null
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/members/*" : ["x@example.com", "y@example.com"]
}
 map<string, .google.protobuf.Value> path_filters = 8;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  
  getPathFiltersMap()
  
    public Map<String,Value> getPathFiltersMap()
   
   Set of filters to apply if path refers to array elements or nested array
 elements in order to narrow down to a single unique element that is being
 tested/modified.
 This is intended to be an exact match per filter. To perform advanced
 matching, use path_value_matchers.
- Example:
`
{
"/versions/*/name" : "it-123"
"/versions/*/targetSize/percent": 20
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/condition" : null
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/members/*" : ["x@example.com", "y@example.com"]
}
 map<string, .google.protobuf.Value> path_filters = 8;
getPathFiltersOrDefault(String key, Value defaultValue)
  
    public Value getPathFiltersOrDefault(String key, Value defaultValue)
   
   Set of filters to apply if path refers to array elements or nested array
 elements in order to narrow down to a single unique element that is being
 tested/modified.
 This is intended to be an exact match per filter. To perform advanced
 matching, use path_value_matchers.
- Example:
`
{
"/versions/*/name" : "it-123"
"/versions/*/targetSize/percent": 20
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/condition" : null
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/members/*" : ["x@example.com", "y@example.com"]
}
 map<string, .google.protobuf.Value> path_filters = 8;
    
      
        | Parameters | 
      
        | Name | Description | 
      
        | key | String
 | 
      
        | defaultValue | Value
 | 
    
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Value |  | 
    
  
  
  getPathFiltersOrThrow(String key)
  
    public Value getPathFiltersOrThrow(String key)
   
   Set of filters to apply if path refers to array elements or nested array
 elements in order to narrow down to a single unique element that is being
 tested/modified.
 This is intended to be an exact match per filter. To perform advanced
 matching, use path_value_matchers.
- Example:
`
{
"/versions/*/name" : "it-123"
"/versions/*/targetSize/percent": 20
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/condition" : null
}
- Example:
{
"/bindings/*/role": "roles/owner"
"/bindings/*/members/*" : ["x@example.com", "y@example.com"]
}
 map<string, .google.protobuf.Value> path_filters = 8;
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | key | String
 | 
    
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Value |  | 
    
  
  
  getPathValueCase()
  
    public Operation.PathValueCase getPathValueCase()
   
  
  
  getPathValueMatchers() (deprecated)
  
    public Map<String,ValueMatcher> getPathValueMatchers()
   
  
  
  
  getPathValueMatchersCount()
  
    public int getPathValueMatchersCount()
   
   Similar to path_filters, this contains set of filters to apply if path
 field refers to array elements. This is meant to support value matching
 beyond exact match. To perform exact match, use path_filters.
 When both path_filters and path_value_matchers are set, an implicit AND
 must be performed.
 
 map<string, .google.cloud.recommender.v1beta1.ValueMatcher> path_value_matchers = 11;
 
    
      
        | Returns | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  
  getPathValueMatchersMap()
  
    public Map<String,ValueMatcher> getPathValueMatchersMap()
   
   Similar to path_filters, this contains set of filters to apply if path
 field refers to array elements. This is meant to support value matching
 beyond exact match. To perform exact match, use path_filters.
 When both path_filters and path_value_matchers are set, an implicit AND
 must be performed.
 
 map<string, .google.cloud.recommender.v1beta1.ValueMatcher> path_value_matchers = 11;
 
getPathValueMatchersOrDefault(String key, ValueMatcher defaultValue)
  
    public ValueMatcher getPathValueMatchersOrDefault(String key, ValueMatcher defaultValue)
   
   Similar to path_filters, this contains set of filters to apply if path
 field refers to array elements. This is meant to support value matching
 beyond exact match. To perform exact match, use path_filters.
 When both path_filters and path_value_matchers are set, an implicit AND
 must be performed.
 
 map<string, .google.cloud.recommender.v1beta1.ValueMatcher> path_value_matchers = 11;
 
getPathValueMatchersOrThrow(String key)
  
    public ValueMatcher getPathValueMatchersOrThrow(String key)
   
   Similar to path_filters, this contains set of filters to apply if path
 field refers to array elements. This is meant to support value matching
 beyond exact match. To perform exact match, use path_filters.
 When both path_filters and path_value_matchers are set, an implicit AND
 must be performed.
 
 map<string, .google.cloud.recommender.v1beta1.ValueMatcher> path_value_matchers = 11;
 
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | key | String
 | 
    
  
  
  
  getResource()
  
    public String getResource()
   
   Contains the fully qualified resource name. This field is always populated.
 ex: //cloudresourcemanager.googleapis.com/projects/foo.
 string resource = 3;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The resource. | 
    
  
  
  getResourceBytes()
  
    public ByteString getResourceBytes()
   
   Contains the fully qualified resource name. This field is always populated.
 ex: //cloudresourcemanager.googleapis.com/projects/foo.
 string resource = 3;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for resource. | 
    
  
  
  getResourceType()
  
    public String getResourceType()
   
   Type of GCP resource being modified/tested. This field is always populated.
 Example: cloudresourcemanager.googleapis.com/Project,
 compute.googleapis.com/Instance
 string resource_type = 2;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The resourceType. | 
    
  
  
  getResourceTypeBytes()
  
    public ByteString getResourceTypeBytes()
   
   Type of GCP resource being modified/tested. This field is always populated.
 Example: cloudresourcemanager.googleapis.com/Project,
 compute.googleapis.com/Instance
 string resource_type = 2;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for resourceType. | 
    
  
  
  getSerializedSize()
  
    public int getSerializedSize()
   
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  Overrides
  
  
  getSourcePath()
  
    public String getSourcePath()
   
   Can be set with action 'copy' or 'move' to indicate the source field within
 resource or source_resource, ignored if provided for other operation types.
 string source_path = 6;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The sourcePath. | 
    
  
  
  getSourcePathBytes()
  
    public ByteString getSourcePathBytes()
   
   Can be set with action 'copy' or 'move' to indicate the source field within
 resource or source_resource, ignored if provided for other operation types.
 string source_path = 6;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for sourcePath. | 
    
  
  
  getSourceResource()
  
    public String getSourceResource()
   
   Can be set with action 'copy' to copy resource configuration across
 different resources of the same type. Example: A resource clone can be
 done via action = 'copy', path = "/", from = "/",
 source_resource = <source> and resource_name = <target>.
 This field is empty for all other values of action.
 string source_resource = 5;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | String | The sourceResource. | 
    
  
  
  getSourceResourceBytes()
  
    public ByteString getSourceResourceBytes()
   
   Can be set with action 'copy' to copy resource configuration across
 different resources of the same type. Example: A resource clone can be
 done via action = 'copy', path = "/", from = "/",
 source_resource = <source> and resource_name = <target>.
 This field is empty for all other values of action.
 string source_resource = 5;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | ByteString | The bytes for sourceResource. | 
    
  
  
  getValue()
  
   Value for the path field. Will be set for actions:'add'/'replace'.
 Maybe set for action: 'test'. Either this or value_matcher will be set
 for 'test' operation. An exact match must be performed.
 .google.protobuf.Value value = 7;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Value | The value. | 
    
  
  
  getValueMatcher()
  
    public ValueMatcher getValueMatcher()
   
   Can be set for action 'test' for advanced matching for the value of
 'path' field. Either this or value will be set for 'test' operation.
 .google.cloud.recommender.v1beta1.ValueMatcher value_matcher = 10;
getValueMatcherOrBuilder()
  
    public ValueMatcherOrBuilder getValueMatcherOrBuilder()
   
   Can be set for action 'test' for advanced matching for the value of
 'path' field. Either this or value will be set for 'test' operation.
 .google.cloud.recommender.v1beta1.ValueMatcher value_matcher = 10;
getValueOrBuilder()
  
    public ValueOrBuilder getValueOrBuilder()
   
   Value for the path field. Will be set for actions:'add'/'replace'.
 Maybe set for action: 'test'. Either this or value_matcher will be set
 for 'test' operation. An exact match must be performed.
 .google.protobuf.Value value = 7;
hasValue()
  
    public boolean hasValue()
   
   Value for the path field. Will be set for actions:'add'/'replace'.
 Maybe set for action: 'test'. Either this or value_matcher will be set
 for 'test' operation. An exact match must be performed.
 .google.protobuf.Value value = 7;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | boolean | Whether the value field is set. | 
    
  
  
  hasValueMatcher()
  
    public boolean hasValueMatcher()
   
   Can be set for action 'test' for advanced matching for the value of
 'path' field. Either this or value will be set for 'test' operation.
 .google.cloud.recommender.v1beta1.ValueMatcher value_matcher = 10;
    
      
        | Returns | 
      
        | Type | Description | 
      
        | boolean | Whether the valueMatcher field is set. | 
    
  
  
  hashCode()
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | int |  | 
    
  
  Overrides
  
  
  internalGetFieldAccessorTable()
  
    protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
   
  
  Overrides
  
  
  internalGetMapFieldReflection(int number)
  
    protected MapFieldReflectionAccessor internalGetMapFieldReflection(int number)
   
  
    
      
        | Parameter | 
      
        | Name | Description | 
      
        | number | int
 | 
    
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | com.google.protobuf.MapFieldReflectionAccessor |  | 
    
  
  Overrides
  com.google.protobuf.GeneratedMessageV3.internalGetMapFieldReflection(int)
  
  isInitialized()
  
    public final boolean isInitialized()
   
  
  Overrides
  
  
  newBuilderForType()
  
    public Operation.Builder newBuilderForType()
   
  
  
  newBuilderForType(GeneratedMessageV3.BuilderParent parent)
  
    protected Operation.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
   
  
  
  Overrides
  
  
  newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
  
    protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
   
  
  
    
      
        | Returns | 
      
        | Type | Description | 
      
        | Object |  | 
    
  
  Overrides
  
  
  toBuilder()
  
    public Operation.Builder toBuilder()
   
  
  
  writeTo(CodedOutputStream output)
  
    public void writeTo(CodedOutputStream output)
   
  
  Overrides