com.google.cloud.securitycenter.v1.MitreAttack Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of proto-google-cloud-securitycenter-v1 Show documentation
Show all versions of proto-google-cloud-securitycenter-v1 Show documentation
PROTO library for proto-google-cloud-securitycenter-v1
/*
* Copyright 2024 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
*
* https://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.
*/
// Generated by the protocol buffer compiler. DO NOT EDIT!
// source: google/cloud/securitycenter/v1/mitre_attack.proto
// Protobuf Java Version: 3.25.3
package com.google.cloud.securitycenter.v1;
/**
*
*
*
* MITRE ATT&CK tactics and techniques related to this finding.
* See: https://attack.mitre.org
*
*
* Protobuf type {@code google.cloud.securitycenter.v1.MitreAttack}
*/
public final class MitreAttack extends com.google.protobuf.GeneratedMessageV3
implements
// @@protoc_insertion_point(message_implements:google.cloud.securitycenter.v1.MitreAttack)
MitreAttackOrBuilder {
private static final long serialVersionUID = 0L;
// Use MitreAttack.newBuilder() to construct.
private MitreAttack(com.google.protobuf.GeneratedMessageV3.Builder> builder) {
super(builder);
}
private MitreAttack() {
primaryTactic_ = 0;
primaryTechniques_ = java.util.Collections.emptyList();
additionalTactics_ = java.util.Collections.emptyList();
additionalTechniques_ = java.util.Collections.emptyList();
version_ = "";
}
@java.lang.Override
@SuppressWarnings({"unused"})
protected java.lang.Object newInstance(UnusedPrivateParameter unused) {
return new MitreAttack();
}
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.cloud.securitycenter.v1.MitreAttackProto
.internal_static_google_cloud_securitycenter_v1_MitreAttack_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.google.cloud.securitycenter.v1.MitreAttackProto
.internal_static_google_cloud_securitycenter_v1_MitreAttack_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.google.cloud.securitycenter.v1.MitreAttack.class,
com.google.cloud.securitycenter.v1.MitreAttack.Builder.class);
}
/**
*
*
*
* MITRE ATT&CK tactics that can be referenced by SCC findings.
* See: https://attack.mitre.org/tactics/enterprise/
*
*
* Protobuf enum {@code google.cloud.securitycenter.v1.MitreAttack.Tactic}
*/
public enum Tactic implements com.google.protobuf.ProtocolMessageEnum {
/**
*
*
*
* Unspecified value.
*
*
* TACTIC_UNSPECIFIED = 0;
*/
TACTIC_UNSPECIFIED(0),
/**
*
*
*
* TA0043
*
*
* RECONNAISSANCE = 1;
*/
RECONNAISSANCE(1),
/**
*
*
*
* TA0042
*
*
* RESOURCE_DEVELOPMENT = 2;
*/
RESOURCE_DEVELOPMENT(2),
/**
*
*
*
* TA0001
*
*
* INITIAL_ACCESS = 5;
*/
INITIAL_ACCESS(5),
/**
*
*
*
* TA0002
*
*
* EXECUTION = 3;
*/
EXECUTION(3),
/**
*
*
*
* TA0003
*
*
* PERSISTENCE = 6;
*/
PERSISTENCE(6),
/**
*
*
*
* TA0004
*
*
* PRIVILEGE_ESCALATION = 8;
*/
PRIVILEGE_ESCALATION(8),
/**
*
*
*
* TA0005
*
*
* DEFENSE_EVASION = 7;
*/
DEFENSE_EVASION(7),
/**
*
*
*
* TA0006
*
*
* CREDENTIAL_ACCESS = 9;
*/
CREDENTIAL_ACCESS(9),
/**
*
*
*
* TA0007
*
*
* DISCOVERY = 10;
*/
DISCOVERY(10),
/**
*
*
*
* TA0008
*
*
* LATERAL_MOVEMENT = 11;
*/
LATERAL_MOVEMENT(11),
/**
*
*
*
* TA0009
*
*
* COLLECTION = 12;
*/
COLLECTION(12),
/**
*
*
*
* TA0011
*
*
* COMMAND_AND_CONTROL = 4;
*/
COMMAND_AND_CONTROL(4),
/**
*
*
*
* TA0010
*
*
* EXFILTRATION = 13;
*/
EXFILTRATION(13),
/**
*
*
*
* TA0040
*
*
* IMPACT = 14;
*/
IMPACT(14),
UNRECOGNIZED(-1),
;
/**
*
*
*
* Unspecified value.
*
*
* TACTIC_UNSPECIFIED = 0;
*/
public static final int TACTIC_UNSPECIFIED_VALUE = 0;
/**
*
*
*
* TA0043
*
*
* RECONNAISSANCE = 1;
*/
public static final int RECONNAISSANCE_VALUE = 1;
/**
*
*
*
* TA0042
*
*
* RESOURCE_DEVELOPMENT = 2;
*/
public static final int RESOURCE_DEVELOPMENT_VALUE = 2;
/**
*
*
*
* TA0001
*
*
* INITIAL_ACCESS = 5;
*/
public static final int INITIAL_ACCESS_VALUE = 5;
/**
*
*
*
* TA0002
*
*
* EXECUTION = 3;
*/
public static final int EXECUTION_VALUE = 3;
/**
*
*
*
* TA0003
*
*
* PERSISTENCE = 6;
*/
public static final int PERSISTENCE_VALUE = 6;
/**
*
*
*
* TA0004
*
*
* PRIVILEGE_ESCALATION = 8;
*/
public static final int PRIVILEGE_ESCALATION_VALUE = 8;
/**
*
*
*
* TA0005
*
*
* DEFENSE_EVASION = 7;
*/
public static final int DEFENSE_EVASION_VALUE = 7;
/**
*
*
*
* TA0006
*
*
* CREDENTIAL_ACCESS = 9;
*/
public static final int CREDENTIAL_ACCESS_VALUE = 9;
/**
*
*
*
* TA0007
*
*
* DISCOVERY = 10;
*/
public static final int DISCOVERY_VALUE = 10;
/**
*
*
*
* TA0008
*
*
* LATERAL_MOVEMENT = 11;
*/
public static final int LATERAL_MOVEMENT_VALUE = 11;
/**
*
*
*
* TA0009
*
*
* COLLECTION = 12;
*/
public static final int COLLECTION_VALUE = 12;
/**
*
*
*
* TA0011
*
*
* COMMAND_AND_CONTROL = 4;
*/
public static final int COMMAND_AND_CONTROL_VALUE = 4;
/**
*
*
*
* TA0010
*
*
* EXFILTRATION = 13;
*/
public static final int EXFILTRATION_VALUE = 13;
/**
*
*
*
* TA0040
*
*
* IMPACT = 14;
*/
public static final int IMPACT_VALUE = 14;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static Tactic valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static Tactic forNumber(int value) {
switch (value) {
case 0:
return TACTIC_UNSPECIFIED;
case 1:
return RECONNAISSANCE;
case 2:
return RESOURCE_DEVELOPMENT;
case 5:
return INITIAL_ACCESS;
case 3:
return EXECUTION;
case 6:
return PERSISTENCE;
case 8:
return PRIVILEGE_ESCALATION;
case 7:
return DEFENSE_EVASION;
case 9:
return CREDENTIAL_ACCESS;
case 10:
return DISCOVERY;
case 11:
return LATERAL_MOVEMENT;
case 12:
return COLLECTION;
case 4:
return COMMAND_AND_CONTROL;
case 13:
return EXFILTRATION;
case 14:
return IMPACT;
default:
return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public Tactic findValueByNumber(int number) {
return Tactic.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
return com.google.cloud.securitycenter.v1.MitreAttack.getDescriptor().getEnumTypes().get(0);
}
private static final Tactic[] VALUES = values();
public static Tactic valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private Tactic(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.MitreAttack.Tactic)
}
/**
*
*
*
* MITRE ATT&CK techniques that can be referenced by SCC findings.
* See: https://attack.mitre.org/techniques/enterprise/
* Next ID: 59
*
*
* Protobuf enum {@code google.cloud.securitycenter.v1.MitreAttack.Technique}
*/
public enum Technique implements com.google.protobuf.ProtocolMessageEnum {
/**
*
*
*
* Unspecified value.
*
*
* TECHNIQUE_UNSPECIFIED = 0;
*/
TECHNIQUE_UNSPECIFIED(0),
/**
*
*
*
* T1036
*
*
* MASQUERADING = 49;
*/
MASQUERADING(49),
/**
*
*
*
* T1036.005
*
*
* MATCH_LEGITIMATE_NAME_OR_LOCATION = 50;
*/
MATCH_LEGITIMATE_NAME_OR_LOCATION(50),
/**
*
*
*
* T1037
*
*
* BOOT_OR_LOGON_INITIALIZATION_SCRIPTS = 37;
*/
BOOT_OR_LOGON_INITIALIZATION_SCRIPTS(37),
/**
*
*
*
* T1037.005
*
*
* STARTUP_ITEMS = 38;
*/
STARTUP_ITEMS(38),
/**
*
*
*
* T1046
*
*
* NETWORK_SERVICE_DISCOVERY = 32;
*/
NETWORK_SERVICE_DISCOVERY(32),
/**
*
*
*
* T1057
*
*
* PROCESS_DISCOVERY = 56;
*/
PROCESS_DISCOVERY(56),
/**
*
*
*
* T1059
*
*
* COMMAND_AND_SCRIPTING_INTERPRETER = 6;
*/
COMMAND_AND_SCRIPTING_INTERPRETER(6),
/**
*
*
*
* T1059.004
*
*
* UNIX_SHELL = 7;
*/
UNIX_SHELL(7),
/**
*
*
*
* T1069
*
*
* PERMISSION_GROUPS_DISCOVERY = 18;
*/
PERMISSION_GROUPS_DISCOVERY(18),
/**
*
*
*
* T1069.003
*
*
* CLOUD_GROUPS = 19;
*/
CLOUD_GROUPS(19),
/**
*
*
*
* T1071
*
*
* APPLICATION_LAYER_PROTOCOL = 45;
*/
APPLICATION_LAYER_PROTOCOL(45),
/**
*
*
*
* T1071.004
*
*
* DNS = 46;
*/
DNS(46),
/**
*
*
*
* T1072
*
*
* SOFTWARE_DEPLOYMENT_TOOLS = 47;
*/
SOFTWARE_DEPLOYMENT_TOOLS(47),
/**
*
*
*
* T1078
*
*
* VALID_ACCOUNTS = 14;
*/
VALID_ACCOUNTS(14),
/**
*
*
*
* T1078.001
*
*
* DEFAULT_ACCOUNTS = 35;
*/
DEFAULT_ACCOUNTS(35),
/**
*
*
*
* T1078.003
*
*
* LOCAL_ACCOUNTS = 15;
*/
LOCAL_ACCOUNTS(15),
/**
*
*
*
* T1078.004
*
*
* CLOUD_ACCOUNTS = 16;
*/
CLOUD_ACCOUNTS(16),
/**
*
*
*
* T1090
*
*
* PROXY = 9;
*/
PROXY(9),
/**
*
*
*
* T1090.002
*
*
* EXTERNAL_PROXY = 10;
*/
EXTERNAL_PROXY(10),
/**
*
*
*
* T1090.003
*
*
* MULTI_HOP_PROXY = 11;
*/
MULTI_HOP_PROXY(11),
/**
*
*
*
* T1098
*
*
* ACCOUNT_MANIPULATION = 22;
*/
ACCOUNT_MANIPULATION(22),
/**
*
*
*
* T1098.001
*
*
* ADDITIONAL_CLOUD_CREDENTIALS = 40;
*/
ADDITIONAL_CLOUD_CREDENTIALS(40),
/**
*
*
*
* T1098.004
*
*
* SSH_AUTHORIZED_KEYS = 23;
*/
SSH_AUTHORIZED_KEYS(23),
/**
*
*
*
* T1098.006
*
*
* ADDITIONAL_CONTAINER_CLUSTER_ROLES = 58;
*/
ADDITIONAL_CONTAINER_CLUSTER_ROLES(58),
/**
*
*
*
* T1105
*
*
* INGRESS_TOOL_TRANSFER = 3;
*/
INGRESS_TOOL_TRANSFER(3),
/**
*
*
*
* T1106
*
*
* NATIVE_API = 4;
*/
NATIVE_API(4),
/**
*
*
*
* T1110
*
*
* BRUTE_FORCE = 44;
*/
BRUTE_FORCE(44),
/**
*
*
*
* T1129
*
*
* SHARED_MODULES = 5;
*/
SHARED_MODULES(5),
/**
*
*
*
* T1134
*
*
* ACCESS_TOKEN_MANIPULATION = 33;
*/
ACCESS_TOKEN_MANIPULATION(33),
/**
*
*
*
* T1134.001
*
*
* TOKEN_IMPERSONATION_OR_THEFT = 39;
*/
TOKEN_IMPERSONATION_OR_THEFT(39),
/**
*
*
*
* T1190
*
*
* EXPLOIT_PUBLIC_FACING_APPLICATION = 27;
*/
EXPLOIT_PUBLIC_FACING_APPLICATION(27),
/**
*
*
*
* T1484
*
*
* DOMAIN_POLICY_MODIFICATION = 30;
*/
DOMAIN_POLICY_MODIFICATION(30),
/**
*
*
*
* T1485
*
*
* DATA_DESTRUCTION = 29;
*/
DATA_DESTRUCTION(29),
/**
*
*
*
* T1489
*
*
* SERVICE_STOP = 52;
*/
SERVICE_STOP(52),
/**
*
*
*
* T1490
*
*
* INHIBIT_SYSTEM_RECOVERY = 36;
*/
INHIBIT_SYSTEM_RECOVERY(36),
/**
*
*
*
* T1496
*
*
* RESOURCE_HIJACKING = 8;
*/
RESOURCE_HIJACKING(8),
/**
*
*
*
* T1498
*
*
* NETWORK_DENIAL_OF_SERVICE = 17;
*/
NETWORK_DENIAL_OF_SERVICE(17),
/**
*
*
*
* T1526
*
*
* CLOUD_SERVICE_DISCOVERY = 48;
*/
CLOUD_SERVICE_DISCOVERY(48),
/**
*
*
*
* T1528
*
*
* STEAL_APPLICATION_ACCESS_TOKEN = 42;
*/
STEAL_APPLICATION_ACCESS_TOKEN(42),
/**
*
*
*
* T1531
*
*
* ACCOUNT_ACCESS_REMOVAL = 51;
*/
ACCOUNT_ACCESS_REMOVAL(51),
/**
*
*
*
* T1539
*
*
* STEAL_WEB_SESSION_COOKIE = 25;
*/
STEAL_WEB_SESSION_COOKIE(25),
/**
*
*
*
* T1543
*
*
* CREATE_OR_MODIFY_SYSTEM_PROCESS = 24;
*/
CREATE_OR_MODIFY_SYSTEM_PROCESS(24),
/**
*
*
*
* T1548
*
*
* ABUSE_ELEVATION_CONTROL_MECHANISM = 34;
*/
ABUSE_ELEVATION_CONTROL_MECHANISM(34),
/**
*
*
*
* T1552
*
*
* UNSECURED_CREDENTIALS = 13;
*/
UNSECURED_CREDENTIALS(13),
/**
*
*
*
* T1556
*
*
* MODIFY_AUTHENTICATION_PROCESS = 28;
*/
MODIFY_AUTHENTICATION_PROCESS(28),
/**
*
*
*
* T1562
*
*
* IMPAIR_DEFENSES = 31;
*/
IMPAIR_DEFENSES(31),
/**
*
*
*
* T1562.001
*
*
* DISABLE_OR_MODIFY_TOOLS = 55;
*/
DISABLE_OR_MODIFY_TOOLS(55),
/**
*
*
*
* T1567
*
*
* EXFILTRATION_OVER_WEB_SERVICE = 20;
*/
EXFILTRATION_OVER_WEB_SERVICE(20),
/**
*
*
*
* T1567.002
*
*
* EXFILTRATION_TO_CLOUD_STORAGE = 21;
*/
EXFILTRATION_TO_CLOUD_STORAGE(21),
/**
*
*
*
* T1568
*
*
* DYNAMIC_RESOLUTION = 12;
*/
DYNAMIC_RESOLUTION(12),
/**
*
*
*
* T1570
*
*
* LATERAL_TOOL_TRANSFER = 41;
*/
LATERAL_TOOL_TRANSFER(41),
/**
*
*
*
* T1578
*
*
* MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26;
*/
MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE(26),
/**
*
*
*
* T1578.001
*
*
* CREATE_SNAPSHOT = 54;
*/
CREATE_SNAPSHOT(54),
/**
*
*
*
* T1580
*
*
* CLOUD_INFRASTRUCTURE_DISCOVERY = 53;
*/
CLOUD_INFRASTRUCTURE_DISCOVERY(53),
/**
*
*
*
* T1588
*
*
* OBTAIN_CAPABILITIES = 43;
*/
OBTAIN_CAPABILITIES(43),
/**
*
*
*
* T1595
*
*
* ACTIVE_SCANNING = 1;
*/
ACTIVE_SCANNING(1),
/**
*
*
*
* T1595.001
*
*
* SCANNING_IP_BLOCKS = 2;
*/
SCANNING_IP_BLOCKS(2),
/**
*
*
*
* T1613
*
*
* CONTAINER_AND_RESOURCE_DISCOVERY = 57;
*/
CONTAINER_AND_RESOURCE_DISCOVERY(57),
UNRECOGNIZED(-1),
;
/**
*
*
*
* Unspecified value.
*
*
* TECHNIQUE_UNSPECIFIED = 0;
*/
public static final int TECHNIQUE_UNSPECIFIED_VALUE = 0;
/**
*
*
*
* T1036
*
*
* MASQUERADING = 49;
*/
public static final int MASQUERADING_VALUE = 49;
/**
*
*
*
* T1036.005
*
*
* MATCH_LEGITIMATE_NAME_OR_LOCATION = 50;
*/
public static final int MATCH_LEGITIMATE_NAME_OR_LOCATION_VALUE = 50;
/**
*
*
*
* T1037
*
*
* BOOT_OR_LOGON_INITIALIZATION_SCRIPTS = 37;
*/
public static final int BOOT_OR_LOGON_INITIALIZATION_SCRIPTS_VALUE = 37;
/**
*
*
*
* T1037.005
*
*
* STARTUP_ITEMS = 38;
*/
public static final int STARTUP_ITEMS_VALUE = 38;
/**
*
*
*
* T1046
*
*
* NETWORK_SERVICE_DISCOVERY = 32;
*/
public static final int NETWORK_SERVICE_DISCOVERY_VALUE = 32;
/**
*
*
*
* T1057
*
*
* PROCESS_DISCOVERY = 56;
*/
public static final int PROCESS_DISCOVERY_VALUE = 56;
/**
*
*
*
* T1059
*
*
* COMMAND_AND_SCRIPTING_INTERPRETER = 6;
*/
public static final int COMMAND_AND_SCRIPTING_INTERPRETER_VALUE = 6;
/**
*
*
*
* T1059.004
*
*
* UNIX_SHELL = 7;
*/
public static final int UNIX_SHELL_VALUE = 7;
/**
*
*
*
* T1069
*
*
* PERMISSION_GROUPS_DISCOVERY = 18;
*/
public static final int PERMISSION_GROUPS_DISCOVERY_VALUE = 18;
/**
*
*
*
* T1069.003
*
*
* CLOUD_GROUPS = 19;
*/
public static final int CLOUD_GROUPS_VALUE = 19;
/**
*
*
*
* T1071
*
*
* APPLICATION_LAYER_PROTOCOL = 45;
*/
public static final int APPLICATION_LAYER_PROTOCOL_VALUE = 45;
/**
*
*
*
* T1071.004
*
*
* DNS = 46;
*/
public static final int DNS_VALUE = 46;
/**
*
*
*
* T1072
*
*
* SOFTWARE_DEPLOYMENT_TOOLS = 47;
*/
public static final int SOFTWARE_DEPLOYMENT_TOOLS_VALUE = 47;
/**
*
*
*
* T1078
*
*
* VALID_ACCOUNTS = 14;
*/
public static final int VALID_ACCOUNTS_VALUE = 14;
/**
*
*
*
* T1078.001
*
*
* DEFAULT_ACCOUNTS = 35;
*/
public static final int DEFAULT_ACCOUNTS_VALUE = 35;
/**
*
*
*
* T1078.003
*
*
* LOCAL_ACCOUNTS = 15;
*/
public static final int LOCAL_ACCOUNTS_VALUE = 15;
/**
*
*
*
* T1078.004
*
*
* CLOUD_ACCOUNTS = 16;
*/
public static final int CLOUD_ACCOUNTS_VALUE = 16;
/**
*
*
*
* T1090
*
*
* PROXY = 9;
*/
public static final int PROXY_VALUE = 9;
/**
*
*
*
* T1090.002
*
*
* EXTERNAL_PROXY = 10;
*/
public static final int EXTERNAL_PROXY_VALUE = 10;
/**
*
*
*
* T1090.003
*
*
* MULTI_HOP_PROXY = 11;
*/
public static final int MULTI_HOP_PROXY_VALUE = 11;
/**
*
*
*
* T1098
*
*
* ACCOUNT_MANIPULATION = 22;
*/
public static final int ACCOUNT_MANIPULATION_VALUE = 22;
/**
*
*
*
* T1098.001
*
*
* ADDITIONAL_CLOUD_CREDENTIALS = 40;
*/
public static final int ADDITIONAL_CLOUD_CREDENTIALS_VALUE = 40;
/**
*
*
*
* T1098.004
*
*
* SSH_AUTHORIZED_KEYS = 23;
*/
public static final int SSH_AUTHORIZED_KEYS_VALUE = 23;
/**
*
*
*
* T1098.006
*
*
* ADDITIONAL_CONTAINER_CLUSTER_ROLES = 58;
*/
public static final int ADDITIONAL_CONTAINER_CLUSTER_ROLES_VALUE = 58;
/**
*
*
*
* T1105
*
*
* INGRESS_TOOL_TRANSFER = 3;
*/
public static final int INGRESS_TOOL_TRANSFER_VALUE = 3;
/**
*
*
*
* T1106
*
*
* NATIVE_API = 4;
*/
public static final int NATIVE_API_VALUE = 4;
/**
*
*
*
* T1110
*
*
* BRUTE_FORCE = 44;
*/
public static final int BRUTE_FORCE_VALUE = 44;
/**
*
*
*
* T1129
*
*
* SHARED_MODULES = 5;
*/
public static final int SHARED_MODULES_VALUE = 5;
/**
*
*
*
* T1134
*
*
* ACCESS_TOKEN_MANIPULATION = 33;
*/
public static final int ACCESS_TOKEN_MANIPULATION_VALUE = 33;
/**
*
*
*
* T1134.001
*
*
* TOKEN_IMPERSONATION_OR_THEFT = 39;
*/
public static final int TOKEN_IMPERSONATION_OR_THEFT_VALUE = 39;
/**
*
*
*
* T1190
*
*
* EXPLOIT_PUBLIC_FACING_APPLICATION = 27;
*/
public static final int EXPLOIT_PUBLIC_FACING_APPLICATION_VALUE = 27;
/**
*
*
*
* T1484
*
*
* DOMAIN_POLICY_MODIFICATION = 30;
*/
public static final int DOMAIN_POLICY_MODIFICATION_VALUE = 30;
/**
*
*
*
* T1485
*
*
* DATA_DESTRUCTION = 29;
*/
public static final int DATA_DESTRUCTION_VALUE = 29;
/**
*
*
*
* T1489
*
*
* SERVICE_STOP = 52;
*/
public static final int SERVICE_STOP_VALUE = 52;
/**
*
*
*
* T1490
*
*
* INHIBIT_SYSTEM_RECOVERY = 36;
*/
public static final int INHIBIT_SYSTEM_RECOVERY_VALUE = 36;
/**
*
*
*
* T1496
*
*
* RESOURCE_HIJACKING = 8;
*/
public static final int RESOURCE_HIJACKING_VALUE = 8;
/**
*
*
*
* T1498
*
*
* NETWORK_DENIAL_OF_SERVICE = 17;
*/
public static final int NETWORK_DENIAL_OF_SERVICE_VALUE = 17;
/**
*
*
*
* T1526
*
*
* CLOUD_SERVICE_DISCOVERY = 48;
*/
public static final int CLOUD_SERVICE_DISCOVERY_VALUE = 48;
/**
*
*
*
* T1528
*
*
* STEAL_APPLICATION_ACCESS_TOKEN = 42;
*/
public static final int STEAL_APPLICATION_ACCESS_TOKEN_VALUE = 42;
/**
*
*
*
* T1531
*
*
* ACCOUNT_ACCESS_REMOVAL = 51;
*/
public static final int ACCOUNT_ACCESS_REMOVAL_VALUE = 51;
/**
*
*
*
* T1539
*
*
* STEAL_WEB_SESSION_COOKIE = 25;
*/
public static final int STEAL_WEB_SESSION_COOKIE_VALUE = 25;
/**
*
*
*
* T1543
*
*
* CREATE_OR_MODIFY_SYSTEM_PROCESS = 24;
*/
public static final int CREATE_OR_MODIFY_SYSTEM_PROCESS_VALUE = 24;
/**
*
*
*
* T1548
*
*
* ABUSE_ELEVATION_CONTROL_MECHANISM = 34;
*/
public static final int ABUSE_ELEVATION_CONTROL_MECHANISM_VALUE = 34;
/**
*
*
*
* T1552
*
*
* UNSECURED_CREDENTIALS = 13;
*/
public static final int UNSECURED_CREDENTIALS_VALUE = 13;
/**
*
*
*
* T1556
*
*
* MODIFY_AUTHENTICATION_PROCESS = 28;
*/
public static final int MODIFY_AUTHENTICATION_PROCESS_VALUE = 28;
/**
*
*
*
* T1562
*
*
* IMPAIR_DEFENSES = 31;
*/
public static final int IMPAIR_DEFENSES_VALUE = 31;
/**
*
*
*
* T1562.001
*
*
* DISABLE_OR_MODIFY_TOOLS = 55;
*/
public static final int DISABLE_OR_MODIFY_TOOLS_VALUE = 55;
/**
*
*
*
* T1567
*
*
* EXFILTRATION_OVER_WEB_SERVICE = 20;
*/
public static final int EXFILTRATION_OVER_WEB_SERVICE_VALUE = 20;
/**
*
*
*
* T1567.002
*
*
* EXFILTRATION_TO_CLOUD_STORAGE = 21;
*/
public static final int EXFILTRATION_TO_CLOUD_STORAGE_VALUE = 21;
/**
*
*
*
* T1568
*
*
* DYNAMIC_RESOLUTION = 12;
*/
public static final int DYNAMIC_RESOLUTION_VALUE = 12;
/**
*
*
*
* T1570
*
*
* LATERAL_TOOL_TRANSFER = 41;
*/
public static final int LATERAL_TOOL_TRANSFER_VALUE = 41;
/**
*
*
*
* T1578
*
*
* MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE = 26;
*/
public static final int MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE_VALUE = 26;
/**
*
*
*
* T1578.001
*
*
* CREATE_SNAPSHOT = 54;
*/
public static final int CREATE_SNAPSHOT_VALUE = 54;
/**
*
*
*
* T1580
*
*
* CLOUD_INFRASTRUCTURE_DISCOVERY = 53;
*/
public static final int CLOUD_INFRASTRUCTURE_DISCOVERY_VALUE = 53;
/**
*
*
*
* T1588
*
*
* OBTAIN_CAPABILITIES = 43;
*/
public static final int OBTAIN_CAPABILITIES_VALUE = 43;
/**
*
*
*
* T1595
*
*
* ACTIVE_SCANNING = 1;
*/
public static final int ACTIVE_SCANNING_VALUE = 1;
/**
*
*
*
* T1595.001
*
*
* SCANNING_IP_BLOCKS = 2;
*/
public static final int SCANNING_IP_BLOCKS_VALUE = 2;
/**
*
*
*
* T1613
*
*
* CONTAINER_AND_RESOURCE_DISCOVERY = 57;
*/
public static final int CONTAINER_AND_RESOURCE_DISCOVERY_VALUE = 57;
public final int getNumber() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalArgumentException(
"Can't get the number of an unknown enum value.");
}
return value;
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
* @deprecated Use {@link #forNumber(int)} instead.
*/
@java.lang.Deprecated
public static Technique valueOf(int value) {
return forNumber(value);
}
/**
* @param value The numeric wire value of the corresponding enum entry.
* @return The enum associated with the given numeric wire value.
*/
public static Technique forNumber(int value) {
switch (value) {
case 0:
return TECHNIQUE_UNSPECIFIED;
case 49:
return MASQUERADING;
case 50:
return MATCH_LEGITIMATE_NAME_OR_LOCATION;
case 37:
return BOOT_OR_LOGON_INITIALIZATION_SCRIPTS;
case 38:
return STARTUP_ITEMS;
case 32:
return NETWORK_SERVICE_DISCOVERY;
case 56:
return PROCESS_DISCOVERY;
case 6:
return COMMAND_AND_SCRIPTING_INTERPRETER;
case 7:
return UNIX_SHELL;
case 18:
return PERMISSION_GROUPS_DISCOVERY;
case 19:
return CLOUD_GROUPS;
case 45:
return APPLICATION_LAYER_PROTOCOL;
case 46:
return DNS;
case 47:
return SOFTWARE_DEPLOYMENT_TOOLS;
case 14:
return VALID_ACCOUNTS;
case 35:
return DEFAULT_ACCOUNTS;
case 15:
return LOCAL_ACCOUNTS;
case 16:
return CLOUD_ACCOUNTS;
case 9:
return PROXY;
case 10:
return EXTERNAL_PROXY;
case 11:
return MULTI_HOP_PROXY;
case 22:
return ACCOUNT_MANIPULATION;
case 40:
return ADDITIONAL_CLOUD_CREDENTIALS;
case 23:
return SSH_AUTHORIZED_KEYS;
case 58:
return ADDITIONAL_CONTAINER_CLUSTER_ROLES;
case 3:
return INGRESS_TOOL_TRANSFER;
case 4:
return NATIVE_API;
case 44:
return BRUTE_FORCE;
case 5:
return SHARED_MODULES;
case 33:
return ACCESS_TOKEN_MANIPULATION;
case 39:
return TOKEN_IMPERSONATION_OR_THEFT;
case 27:
return EXPLOIT_PUBLIC_FACING_APPLICATION;
case 30:
return DOMAIN_POLICY_MODIFICATION;
case 29:
return DATA_DESTRUCTION;
case 52:
return SERVICE_STOP;
case 36:
return INHIBIT_SYSTEM_RECOVERY;
case 8:
return RESOURCE_HIJACKING;
case 17:
return NETWORK_DENIAL_OF_SERVICE;
case 48:
return CLOUD_SERVICE_DISCOVERY;
case 42:
return STEAL_APPLICATION_ACCESS_TOKEN;
case 51:
return ACCOUNT_ACCESS_REMOVAL;
case 25:
return STEAL_WEB_SESSION_COOKIE;
case 24:
return CREATE_OR_MODIFY_SYSTEM_PROCESS;
case 34:
return ABUSE_ELEVATION_CONTROL_MECHANISM;
case 13:
return UNSECURED_CREDENTIALS;
case 28:
return MODIFY_AUTHENTICATION_PROCESS;
case 31:
return IMPAIR_DEFENSES;
case 55:
return DISABLE_OR_MODIFY_TOOLS;
case 20:
return EXFILTRATION_OVER_WEB_SERVICE;
case 21:
return EXFILTRATION_TO_CLOUD_STORAGE;
case 12:
return DYNAMIC_RESOLUTION;
case 41:
return LATERAL_TOOL_TRANSFER;
case 26:
return MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE;
case 54:
return CREATE_SNAPSHOT;
case 53:
return CLOUD_INFRASTRUCTURE_DISCOVERY;
case 43:
return OBTAIN_CAPABILITIES;
case 1:
return ACTIVE_SCANNING;
case 2:
return SCANNING_IP_BLOCKS;
case 57:
return CONTAINER_AND_RESOURCE_DISCOVERY;
default:
return null;
}
}
public static com.google.protobuf.Internal.EnumLiteMap internalGetValueMap() {
return internalValueMap;
}
private static final com.google.protobuf.Internal.EnumLiteMap internalValueMap =
new com.google.protobuf.Internal.EnumLiteMap() {
public Technique findValueByNumber(int number) {
return Technique.forNumber(number);
}
};
public final com.google.protobuf.Descriptors.EnumValueDescriptor getValueDescriptor() {
if (this == UNRECOGNIZED) {
throw new java.lang.IllegalStateException(
"Can't get the descriptor of an unrecognized enum value.");
}
return getDescriptor().getValues().get(ordinal());
}
public final com.google.protobuf.Descriptors.EnumDescriptor getDescriptorForType() {
return getDescriptor();
}
public static final com.google.protobuf.Descriptors.EnumDescriptor getDescriptor() {
return com.google.cloud.securitycenter.v1.MitreAttack.getDescriptor().getEnumTypes().get(1);
}
private static final Technique[] VALUES = values();
public static Technique valueOf(com.google.protobuf.Descriptors.EnumValueDescriptor desc) {
if (desc.getType() != getDescriptor()) {
throw new java.lang.IllegalArgumentException("EnumValueDescriptor is not for this type.");
}
if (desc.getIndex() == -1) {
return UNRECOGNIZED;
}
return VALUES[desc.getIndex()];
}
private final int value;
private Technique(int value) {
this.value = value;
}
// @@protoc_insertion_point(enum_scope:google.cloud.securitycenter.v1.MitreAttack.Technique)
}
public static final int PRIMARY_TACTIC_FIELD_NUMBER = 1;
private int primaryTactic_ = 0;
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @return The enum numeric value on the wire for primaryTactic.
*/
@java.lang.Override
public int getPrimaryTacticValue() {
return primaryTactic_;
}
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @return The primaryTactic.
*/
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack.Tactic getPrimaryTactic() {
com.google.cloud.securitycenter.v1.MitreAttack.Tactic result =
com.google.cloud.securitycenter.v1.MitreAttack.Tactic.forNumber(primaryTactic_);
return result == null
? com.google.cloud.securitycenter.v1.MitreAttack.Tactic.UNRECOGNIZED
: result;
}
public static final int PRIMARY_TECHNIQUES_FIELD_NUMBER = 2;
@SuppressWarnings("serial")
private java.util.List primaryTechniques_;
private static final com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>
primaryTechniques_converter_ =
new com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>() {
public com.google.cloud.securitycenter.v1.MitreAttack.Technique convert(
java.lang.Integer from) {
com.google.cloud.securitycenter.v1.MitreAttack.Technique result =
com.google.cloud.securitycenter.v1.MitreAttack.Technique.forNumber(from);
return result == null
? com.google.cloud.securitycenter.v1.MitreAttack.Technique.UNRECOGNIZED
: result;
}
};
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return A list containing the primaryTechniques.
*/
@java.lang.Override
public java.util.List
getPrimaryTechniquesList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>(
primaryTechniques_, primaryTechniques_converter_);
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return The count of primaryTechniques.
*/
@java.lang.Override
public int getPrimaryTechniquesCount() {
return primaryTechniques_.size();
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index of the element to return.
* @return The primaryTechniques at the given index.
*/
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack.Technique getPrimaryTechniques(int index) {
return primaryTechniques_converter_.convert(primaryTechniques_.get(index));
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return A list containing the enum numeric values on the wire for primaryTechniques.
*/
@java.lang.Override
public java.util.List getPrimaryTechniquesValueList() {
return primaryTechniques_;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of primaryTechniques at the given index.
*/
@java.lang.Override
public int getPrimaryTechniquesValue(int index) {
return primaryTechniques_.get(index);
}
private int primaryTechniquesMemoizedSerializedSize;
public static final int ADDITIONAL_TACTICS_FIELD_NUMBER = 3;
@SuppressWarnings("serial")
private java.util.List additionalTactics_;
private static final com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Tactic>
additionalTactics_converter_ =
new com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Tactic>() {
public com.google.cloud.securitycenter.v1.MitreAttack.Tactic convert(
java.lang.Integer from) {
com.google.cloud.securitycenter.v1.MitreAttack.Tactic result =
com.google.cloud.securitycenter.v1.MitreAttack.Tactic.forNumber(from);
return result == null
? com.google.cloud.securitycenter.v1.MitreAttack.Tactic.UNRECOGNIZED
: result;
}
};
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return A list containing the additionalTactics.
*/
@java.lang.Override
public java.util.List
getAdditionalTacticsList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Tactic>(
additionalTactics_, additionalTactics_converter_);
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return The count of additionalTactics.
*/
@java.lang.Override
public int getAdditionalTacticsCount() {
return additionalTactics_.size();
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index of the element to return.
* @return The additionalTactics at the given index.
*/
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack.Tactic getAdditionalTactics(int index) {
return additionalTactics_converter_.convert(additionalTactics_.get(index));
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return A list containing the enum numeric values on the wire for additionalTactics.
*/
@java.lang.Override
public java.util.List getAdditionalTacticsValueList() {
return additionalTactics_;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of additionalTactics at the given index.
*/
@java.lang.Override
public int getAdditionalTacticsValue(int index) {
return additionalTactics_.get(index);
}
private int additionalTacticsMemoizedSerializedSize;
public static final int ADDITIONAL_TECHNIQUES_FIELD_NUMBER = 4;
@SuppressWarnings("serial")
private java.util.List additionalTechniques_;
private static final com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>
additionalTechniques_converter_ =
new com.google.protobuf.Internal.ListAdapter.Converter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>() {
public com.google.cloud.securitycenter.v1.MitreAttack.Technique convert(
java.lang.Integer from) {
com.google.cloud.securitycenter.v1.MitreAttack.Technique result =
com.google.cloud.securitycenter.v1.MitreAttack.Technique.forNumber(from);
return result == null
? com.google.cloud.securitycenter.v1.MitreAttack.Technique.UNRECOGNIZED
: result;
}
};
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return A list containing the additionalTechniques.
*/
@java.lang.Override
public java.util.List
getAdditionalTechniquesList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>(
additionalTechniques_, additionalTechniques_converter_);
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return The count of additionalTechniques.
*/
@java.lang.Override
public int getAdditionalTechniquesCount() {
return additionalTechniques_.size();
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index of the element to return.
* @return The additionalTechniques at the given index.
*/
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack.Technique getAdditionalTechniques(
int index) {
return additionalTechniques_converter_.convert(additionalTechniques_.get(index));
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return A list containing the enum numeric values on the wire for additionalTechniques.
*/
@java.lang.Override
public java.util.List getAdditionalTechniquesValueList() {
return additionalTechniques_;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of additionalTechniques at the given index.
*/
@java.lang.Override
public int getAdditionalTechniquesValue(int index) {
return additionalTechniques_.get(index);
}
private int additionalTechniquesMemoizedSerializedSize;
public static final int VERSION_FIELD_NUMBER = 5;
@SuppressWarnings("serial")
private volatile java.lang.Object version_ = "";
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @return The version.
*/
@java.lang.Override
public java.lang.String getVersion() {
java.lang.Object ref = version_;
if (ref instanceof java.lang.String) {
return (java.lang.String) ref;
} else {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
version_ = s;
return s;
}
}
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @return The bytes for version.
*/
@java.lang.Override
public com.google.protobuf.ByteString getVersionBytes() {
java.lang.Object ref = version_;
if (ref instanceof java.lang.String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
version_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
private byte memoizedIsInitialized = -1;
@java.lang.Override
public final boolean isInitialized() {
byte isInitialized = memoizedIsInitialized;
if (isInitialized == 1) return true;
if (isInitialized == 0) return false;
memoizedIsInitialized = 1;
return true;
}
@java.lang.Override
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException {
getSerializedSize();
if (primaryTactic_
!= com.google.cloud.securitycenter.v1.MitreAttack.Tactic.TACTIC_UNSPECIFIED.getNumber()) {
output.writeEnum(1, primaryTactic_);
}
if (getPrimaryTechniquesList().size() > 0) {
output.writeUInt32NoTag(18);
output.writeUInt32NoTag(primaryTechniquesMemoizedSerializedSize);
}
for (int i = 0; i < primaryTechniques_.size(); i++) {
output.writeEnumNoTag(primaryTechniques_.get(i));
}
if (getAdditionalTacticsList().size() > 0) {
output.writeUInt32NoTag(26);
output.writeUInt32NoTag(additionalTacticsMemoizedSerializedSize);
}
for (int i = 0; i < additionalTactics_.size(); i++) {
output.writeEnumNoTag(additionalTactics_.get(i));
}
if (getAdditionalTechniquesList().size() > 0) {
output.writeUInt32NoTag(34);
output.writeUInt32NoTag(additionalTechniquesMemoizedSerializedSize);
}
for (int i = 0; i < additionalTechniques_.size(); i++) {
output.writeEnumNoTag(additionalTechniques_.get(i));
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(version_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 5, version_);
}
getUnknownFields().writeTo(output);
}
@java.lang.Override
public int getSerializedSize() {
int size = memoizedSize;
if (size != -1) return size;
size = 0;
if (primaryTactic_
!= com.google.cloud.securitycenter.v1.MitreAttack.Tactic.TACTIC_UNSPECIFIED.getNumber()) {
size += com.google.protobuf.CodedOutputStream.computeEnumSize(1, primaryTactic_);
}
{
int dataSize = 0;
for (int i = 0; i < primaryTechniques_.size(); i++) {
dataSize +=
com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(primaryTechniques_.get(i));
}
size += dataSize;
if (!getPrimaryTechniquesList().isEmpty()) {
size += 1;
size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
}
primaryTechniquesMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
for (int i = 0; i < additionalTactics_.size(); i++) {
dataSize +=
com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(additionalTactics_.get(i));
}
size += dataSize;
if (!getAdditionalTacticsList().isEmpty()) {
size += 1;
size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
}
additionalTacticsMemoizedSerializedSize = dataSize;
}
{
int dataSize = 0;
for (int i = 0; i < additionalTechniques_.size(); i++) {
dataSize +=
com.google.protobuf.CodedOutputStream.computeEnumSizeNoTag(
additionalTechniques_.get(i));
}
size += dataSize;
if (!getAdditionalTechniquesList().isEmpty()) {
size += 1;
size += com.google.protobuf.CodedOutputStream.computeUInt32SizeNoTag(dataSize);
}
additionalTechniquesMemoizedSerializedSize = dataSize;
}
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(version_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(5, version_);
}
size += getUnknownFields().getSerializedSize();
memoizedSize = size;
return size;
}
@java.lang.Override
public boolean equals(final java.lang.Object obj) {
if (obj == this) {
return true;
}
if (!(obj instanceof com.google.cloud.securitycenter.v1.MitreAttack)) {
return super.equals(obj);
}
com.google.cloud.securitycenter.v1.MitreAttack other =
(com.google.cloud.securitycenter.v1.MitreAttack) obj;
if (primaryTactic_ != other.primaryTactic_) return false;
if (!primaryTechniques_.equals(other.primaryTechniques_)) return false;
if (!additionalTactics_.equals(other.additionalTactics_)) return false;
if (!additionalTechniques_.equals(other.additionalTechniques_)) return false;
if (!getVersion().equals(other.getVersion())) return false;
if (!getUnknownFields().equals(other.getUnknownFields())) return false;
return true;
}
@java.lang.Override
public int hashCode() {
if (memoizedHashCode != 0) {
return memoizedHashCode;
}
int hash = 41;
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + PRIMARY_TACTIC_FIELD_NUMBER;
hash = (53 * hash) + primaryTactic_;
if (getPrimaryTechniquesCount() > 0) {
hash = (37 * hash) + PRIMARY_TECHNIQUES_FIELD_NUMBER;
hash = (53 * hash) + primaryTechniques_.hashCode();
}
if (getAdditionalTacticsCount() > 0) {
hash = (37 * hash) + ADDITIONAL_TACTICS_FIELD_NUMBER;
hash = (53 * hash) + additionalTactics_.hashCode();
}
if (getAdditionalTechniquesCount() > 0) {
hash = (37 * hash) + ADDITIONAL_TECHNIQUES_FIELD_NUMBER;
hash = (53 * hash) + additionalTechniques_.hashCode();
}
hash = (37 * hash) + VERSION_FIELD_NUMBER;
hash = (53 * hash) + getVersion().hashCode();
hash = (29 * hash) + getUnknownFields().hashCode();
memoizedHashCode = hash;
return hash;
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(java.nio.ByteBuffer data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
com.google.protobuf.ByteString data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
com.google.protobuf.ByteString data,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(byte[] data)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
return PARSER.parseFrom(data, extensionRegistry);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(java.io.InputStream input)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
PARSER, input, extensionRegistry);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseDelimitedFrom(
java.io.InputStream input) throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseDelimitedFrom(
java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(
PARSER, input, extensionRegistry);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
com.google.protobuf.CodedInputStream input) throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
}
public static com.google.cloud.securitycenter.v1.MitreAttack parseFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
return com.google.protobuf.GeneratedMessageV3.parseWithIOException(
PARSER, input, extensionRegistry);
}
@java.lang.Override
public Builder newBuilderForType() {
return newBuilder();
}
public static Builder newBuilder() {
return DEFAULT_INSTANCE.toBuilder();
}
public static Builder newBuilder(com.google.cloud.securitycenter.v1.MitreAttack prototype) {
return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype);
}
@java.lang.Override
public Builder toBuilder() {
return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this);
}
@java.lang.Override
protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
Builder builder = new Builder(parent);
return builder;
}
/**
*
*
*
* MITRE ATT&CK tactics and techniques related to this finding.
* See: https://attack.mitre.org
*
*
* Protobuf type {@code google.cloud.securitycenter.v1.MitreAttack}
*/
public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
implements
// @@protoc_insertion_point(builder_implements:google.cloud.securitycenter.v1.MitreAttack)
com.google.cloud.securitycenter.v1.MitreAttackOrBuilder {
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
return com.google.cloud.securitycenter.v1.MitreAttackProto
.internal_static_google_cloud_securitycenter_v1_MitreAttack_descriptor;
}
@java.lang.Override
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
internalGetFieldAccessorTable() {
return com.google.cloud.securitycenter.v1.MitreAttackProto
.internal_static_google_cloud_securitycenter_v1_MitreAttack_fieldAccessorTable
.ensureFieldAccessorsInitialized(
com.google.cloud.securitycenter.v1.MitreAttack.class,
com.google.cloud.securitycenter.v1.MitreAttack.Builder.class);
}
// Construct using com.google.cloud.securitycenter.v1.MitreAttack.newBuilder()
private Builder() {}
private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) {
super(parent);
}
@java.lang.Override
public Builder clear() {
super.clear();
bitField0_ = 0;
primaryTactic_ = 0;
primaryTechniques_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000002);
additionalTactics_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000004);
additionalTechniques_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
version_ = "";
return this;
}
@java.lang.Override
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() {
return com.google.cloud.securitycenter.v1.MitreAttackProto
.internal_static_google_cloud_securitycenter_v1_MitreAttack_descriptor;
}
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack getDefaultInstanceForType() {
return com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance();
}
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack build() {
com.google.cloud.securitycenter.v1.MitreAttack result = buildPartial();
if (!result.isInitialized()) {
throw newUninitializedMessageException(result);
}
return result;
}
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack buildPartial() {
com.google.cloud.securitycenter.v1.MitreAttack result =
new com.google.cloud.securitycenter.v1.MitreAttack(this);
buildPartialRepeatedFields(result);
if (bitField0_ != 0) {
buildPartial0(result);
}
onBuilt();
return result;
}
private void buildPartialRepeatedFields(com.google.cloud.securitycenter.v1.MitreAttack result) {
if (((bitField0_ & 0x00000002) != 0)) {
primaryTechniques_ = java.util.Collections.unmodifiableList(primaryTechniques_);
bitField0_ = (bitField0_ & ~0x00000002);
}
result.primaryTechniques_ = primaryTechniques_;
if (((bitField0_ & 0x00000004) != 0)) {
additionalTactics_ = java.util.Collections.unmodifiableList(additionalTactics_);
bitField0_ = (bitField0_ & ~0x00000004);
}
result.additionalTactics_ = additionalTactics_;
if (((bitField0_ & 0x00000008) != 0)) {
additionalTechniques_ = java.util.Collections.unmodifiableList(additionalTechniques_);
bitField0_ = (bitField0_ & ~0x00000008);
}
result.additionalTechniques_ = additionalTechniques_;
}
private void buildPartial0(com.google.cloud.securitycenter.v1.MitreAttack result) {
int from_bitField0_ = bitField0_;
if (((from_bitField0_ & 0x00000001) != 0)) {
result.primaryTactic_ = primaryTactic_;
}
if (((from_bitField0_ & 0x00000010) != 0)) {
result.version_ = version_;
}
}
@java.lang.Override
public Builder clone() {
return super.clone();
}
@java.lang.Override
public Builder setField(
com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
return super.setField(field, value);
}
@java.lang.Override
public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) {
return super.clearField(field);
}
@java.lang.Override
public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) {
return super.clearOneof(oneof);
}
@java.lang.Override
public Builder setRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) {
return super.setRepeatedField(field, index, value);
}
@java.lang.Override
public Builder addRepeatedField(
com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) {
return super.addRepeatedField(field, value);
}
@java.lang.Override
public Builder mergeFrom(com.google.protobuf.Message other) {
if (other instanceof com.google.cloud.securitycenter.v1.MitreAttack) {
return mergeFrom((com.google.cloud.securitycenter.v1.MitreAttack) other);
} else {
super.mergeFrom(other);
return this;
}
}
public Builder mergeFrom(com.google.cloud.securitycenter.v1.MitreAttack other) {
if (other == com.google.cloud.securitycenter.v1.MitreAttack.getDefaultInstance()) return this;
if (other.primaryTactic_ != 0) {
setPrimaryTacticValue(other.getPrimaryTacticValue());
}
if (!other.primaryTechniques_.isEmpty()) {
if (primaryTechniques_.isEmpty()) {
primaryTechniques_ = other.primaryTechniques_;
bitField0_ = (bitField0_ & ~0x00000002);
} else {
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.addAll(other.primaryTechniques_);
}
onChanged();
}
if (!other.additionalTactics_.isEmpty()) {
if (additionalTactics_.isEmpty()) {
additionalTactics_ = other.additionalTactics_;
bitField0_ = (bitField0_ & ~0x00000004);
} else {
ensureAdditionalTacticsIsMutable();
additionalTactics_.addAll(other.additionalTactics_);
}
onChanged();
}
if (!other.additionalTechniques_.isEmpty()) {
if (additionalTechniques_.isEmpty()) {
additionalTechniques_ = other.additionalTechniques_;
bitField0_ = (bitField0_ & ~0x00000008);
} else {
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.addAll(other.additionalTechniques_);
}
onChanged();
}
if (!other.getVersion().isEmpty()) {
version_ = other.version_;
bitField0_ |= 0x00000010;
onChanged();
}
this.mergeUnknownFields(other.getUnknownFields());
onChanged();
return this;
}
@java.lang.Override
public final boolean isInitialized() {
return true;
}
@java.lang.Override
public Builder mergeFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws java.io.IOException {
if (extensionRegistry == null) {
throw new java.lang.NullPointerException();
}
try {
boolean done = false;
while (!done) {
int tag = input.readTag();
switch (tag) {
case 0:
done = true;
break;
case 8:
{
primaryTactic_ = input.readEnum();
bitField0_ |= 0x00000001;
break;
} // case 8
case 16:
{
int tmpRaw = input.readEnum();
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.add(tmpRaw);
break;
} // case 16
case 18:
{
int length = input.readRawVarint32();
int oldLimit = input.pushLimit(length);
while (input.getBytesUntilLimit() > 0) {
int tmpRaw = input.readEnum();
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.add(tmpRaw);
}
input.popLimit(oldLimit);
break;
} // case 18
case 24:
{
int tmpRaw = input.readEnum();
ensureAdditionalTacticsIsMutable();
additionalTactics_.add(tmpRaw);
break;
} // case 24
case 26:
{
int length = input.readRawVarint32();
int oldLimit = input.pushLimit(length);
while (input.getBytesUntilLimit() > 0) {
int tmpRaw = input.readEnum();
ensureAdditionalTacticsIsMutable();
additionalTactics_.add(tmpRaw);
}
input.popLimit(oldLimit);
break;
} // case 26
case 32:
{
int tmpRaw = input.readEnum();
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.add(tmpRaw);
break;
} // case 32
case 34:
{
int length = input.readRawVarint32();
int oldLimit = input.pushLimit(length);
while (input.getBytesUntilLimit() > 0) {
int tmpRaw = input.readEnum();
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.add(tmpRaw);
}
input.popLimit(oldLimit);
break;
} // case 34
case 42:
{
version_ = input.readStringRequireUtf8();
bitField0_ |= 0x00000010;
break;
} // case 42
default:
{
if (!super.parseUnknownField(input, extensionRegistry, tag)) {
done = true; // was an endgroup tag
}
break;
} // default:
} // switch (tag)
} // while (!done)
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.unwrapIOException();
} finally {
onChanged();
} // finally
return this;
}
private int bitField0_;
private int primaryTactic_ = 0;
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @return The enum numeric value on the wire for primaryTactic.
*/
@java.lang.Override
public int getPrimaryTacticValue() {
return primaryTactic_;
}
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @param value The enum numeric value on the wire for primaryTactic to set.
* @return This builder for chaining.
*/
public Builder setPrimaryTacticValue(int value) {
primaryTactic_ = value;
bitField0_ |= 0x00000001;
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @return The primaryTactic.
*/
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack.Tactic getPrimaryTactic() {
com.google.cloud.securitycenter.v1.MitreAttack.Tactic result =
com.google.cloud.securitycenter.v1.MitreAttack.Tactic.forNumber(primaryTactic_);
return result == null
? com.google.cloud.securitycenter.v1.MitreAttack.Tactic.UNRECOGNIZED
: result;
}
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @param value The primaryTactic to set.
* @return This builder for chaining.
*/
public Builder setPrimaryTactic(com.google.cloud.securitycenter.v1.MitreAttack.Tactic value) {
if (value == null) {
throw new NullPointerException();
}
bitField0_ |= 0x00000001;
primaryTactic_ = value.getNumber();
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK tactic most closely represented by this finding, if any.
*
*
* .google.cloud.securitycenter.v1.MitreAttack.Tactic primary_tactic = 1;
*
* @return This builder for chaining.
*/
public Builder clearPrimaryTactic() {
bitField0_ = (bitField0_ & ~0x00000001);
primaryTactic_ = 0;
onChanged();
return this;
}
private java.util.List primaryTechniques_ =
java.util.Collections.emptyList();
private void ensurePrimaryTechniquesIsMutable() {
if (!((bitField0_ & 0x00000002) != 0)) {
primaryTechniques_ = new java.util.ArrayList(primaryTechniques_);
bitField0_ |= 0x00000002;
}
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return A list containing the primaryTechniques.
*/
public java.util.List
getPrimaryTechniquesList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>(
primaryTechniques_, primaryTechniques_converter_);
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return The count of primaryTechniques.
*/
public int getPrimaryTechniquesCount() {
return primaryTechniques_.size();
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index of the element to return.
* @return The primaryTechniques at the given index.
*/
public com.google.cloud.securitycenter.v1.MitreAttack.Technique getPrimaryTechniques(
int index) {
return primaryTechniques_converter_.convert(primaryTechniques_.get(index));
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index to set the value at.
* @param value The primaryTechniques to set.
* @return This builder for chaining.
*/
public Builder setPrimaryTechniques(
int index, com.google.cloud.securitycenter.v1.MitreAttack.Technique value) {
if (value == null) {
throw new NullPointerException();
}
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.set(index, value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param value The primaryTechniques to add.
* @return This builder for chaining.
*/
public Builder addPrimaryTechniques(
com.google.cloud.securitycenter.v1.MitreAttack.Technique value) {
if (value == null) {
throw new NullPointerException();
}
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.add(value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param values The primaryTechniques to add.
* @return This builder for chaining.
*/
public Builder addAllPrimaryTechniques(
java.lang.Iterable extends com.google.cloud.securitycenter.v1.MitreAttack.Technique>
values) {
ensurePrimaryTechniquesIsMutable();
for (com.google.cloud.securitycenter.v1.MitreAttack.Technique value : values) {
primaryTechniques_.add(value.getNumber());
}
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return This builder for chaining.
*/
public Builder clearPrimaryTechniques() {
primaryTechniques_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000002);
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @return A list containing the enum numeric values on the wire for primaryTechniques.
*/
public java.util.List getPrimaryTechniquesValueList() {
return java.util.Collections.unmodifiableList(primaryTechniques_);
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of primaryTechniques at the given index.
*/
public int getPrimaryTechniquesValue(int index) {
return primaryTechniques_.get(index);
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param index The index to set the value at.
* @param value The enum numeric value on the wire for primaryTechniques to set.
* @return This builder for chaining.
*/
public Builder setPrimaryTechniquesValue(int index, int value) {
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.set(index, value);
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param value The enum numeric value on the wire for primaryTechniques to add.
* @return This builder for chaining.
*/
public Builder addPrimaryTechniquesValue(int value) {
ensurePrimaryTechniquesIsMutable();
primaryTechniques_.add(value);
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK technique most closely represented by this finding, if
* any. primary_techniques is a repeated field because there are multiple
* levels of MITRE ATT&CK techniques. If the technique most closely
* represented by this finding is a sub-technique (e.g. `SCANNING_IP_BLOCKS`),
* both the sub-technique and its parent technique(s) will be listed (e.g.
* `SCANNING_IP_BLOCKS`, `ACTIVE_SCANNING`).
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique primary_techniques = 2;
*
*
* @param values The enum numeric values on the wire for primaryTechniques to add.
* @return This builder for chaining.
*/
public Builder addAllPrimaryTechniquesValue(java.lang.Iterable values) {
ensurePrimaryTechniquesIsMutable();
for (int value : values) {
primaryTechniques_.add(value);
}
onChanged();
return this;
}
private java.util.List additionalTactics_ =
java.util.Collections.emptyList();
private void ensureAdditionalTacticsIsMutable() {
if (!((bitField0_ & 0x00000004) != 0)) {
additionalTactics_ = new java.util.ArrayList(additionalTactics_);
bitField0_ |= 0x00000004;
}
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return A list containing the additionalTactics.
*/
public java.util.List
getAdditionalTacticsList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Tactic>(
additionalTactics_, additionalTactics_converter_);
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return The count of additionalTactics.
*/
public int getAdditionalTacticsCount() {
return additionalTactics_.size();
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index of the element to return.
* @return The additionalTactics at the given index.
*/
public com.google.cloud.securitycenter.v1.MitreAttack.Tactic getAdditionalTactics(int index) {
return additionalTactics_converter_.convert(additionalTactics_.get(index));
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index to set the value at.
* @param value The additionalTactics to set.
* @return This builder for chaining.
*/
public Builder setAdditionalTactics(
int index, com.google.cloud.securitycenter.v1.MitreAttack.Tactic value) {
if (value == null) {
throw new NullPointerException();
}
ensureAdditionalTacticsIsMutable();
additionalTactics_.set(index, value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param value The additionalTactics to add.
* @return This builder for chaining.
*/
public Builder addAdditionalTactics(
com.google.cloud.securitycenter.v1.MitreAttack.Tactic value) {
if (value == null) {
throw new NullPointerException();
}
ensureAdditionalTacticsIsMutable();
additionalTactics_.add(value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param values The additionalTactics to add.
* @return This builder for chaining.
*/
public Builder addAllAdditionalTactics(
java.lang.Iterable extends com.google.cloud.securitycenter.v1.MitreAttack.Tactic>
values) {
ensureAdditionalTacticsIsMutable();
for (com.google.cloud.securitycenter.v1.MitreAttack.Tactic value : values) {
additionalTactics_.add(value.getNumber());
}
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return This builder for chaining.
*/
public Builder clearAdditionalTactics() {
additionalTactics_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000004);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @return A list containing the enum numeric values on the wire for additionalTactics.
*/
public java.util.List getAdditionalTacticsValueList() {
return java.util.Collections.unmodifiableList(additionalTactics_);
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of additionalTactics at the given index.
*/
public int getAdditionalTacticsValue(int index) {
return additionalTactics_.get(index);
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param index The index to set the value at.
* @param value The enum numeric value on the wire for additionalTactics to set.
* @return This builder for chaining.
*/
public Builder setAdditionalTacticsValue(int index, int value) {
ensureAdditionalTacticsIsMutable();
additionalTactics_.set(index, value);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param value The enum numeric value on the wire for additionalTactics to add.
* @return This builder for chaining.
*/
public Builder addAdditionalTacticsValue(int value) {
ensureAdditionalTacticsIsMutable();
additionalTactics_.add(value);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK tactics related to this finding, if any.
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Tactic additional_tactics = 3;
*
*
* @param values The enum numeric values on the wire for additionalTactics to add.
* @return This builder for chaining.
*/
public Builder addAllAdditionalTacticsValue(java.lang.Iterable values) {
ensureAdditionalTacticsIsMutable();
for (int value : values) {
additionalTactics_.add(value);
}
onChanged();
return this;
}
private java.util.List additionalTechniques_ =
java.util.Collections.emptyList();
private void ensureAdditionalTechniquesIsMutable() {
if (!((bitField0_ & 0x00000008) != 0)) {
additionalTechniques_ = new java.util.ArrayList(additionalTechniques_);
bitField0_ |= 0x00000008;
}
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return A list containing the additionalTechniques.
*/
public java.util.List
getAdditionalTechniquesList() {
return new com.google.protobuf.Internal.ListAdapter<
java.lang.Integer, com.google.cloud.securitycenter.v1.MitreAttack.Technique>(
additionalTechniques_, additionalTechniques_converter_);
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return The count of additionalTechniques.
*/
public int getAdditionalTechniquesCount() {
return additionalTechniques_.size();
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index of the element to return.
* @return The additionalTechniques at the given index.
*/
public com.google.cloud.securitycenter.v1.MitreAttack.Technique getAdditionalTechniques(
int index) {
return additionalTechniques_converter_.convert(additionalTechniques_.get(index));
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index to set the value at.
* @param value The additionalTechniques to set.
* @return This builder for chaining.
*/
public Builder setAdditionalTechniques(
int index, com.google.cloud.securitycenter.v1.MitreAttack.Technique value) {
if (value == null) {
throw new NullPointerException();
}
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.set(index, value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param value The additionalTechniques to add.
* @return This builder for chaining.
*/
public Builder addAdditionalTechniques(
com.google.cloud.securitycenter.v1.MitreAttack.Technique value) {
if (value == null) {
throw new NullPointerException();
}
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.add(value.getNumber());
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param values The additionalTechniques to add.
* @return This builder for chaining.
*/
public Builder addAllAdditionalTechniques(
java.lang.Iterable extends com.google.cloud.securitycenter.v1.MitreAttack.Technique>
values) {
ensureAdditionalTechniquesIsMutable();
for (com.google.cloud.securitycenter.v1.MitreAttack.Technique value : values) {
additionalTechniques_.add(value.getNumber());
}
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return This builder for chaining.
*/
public Builder clearAdditionalTechniques() {
additionalTechniques_ = java.util.Collections.emptyList();
bitField0_ = (bitField0_ & ~0x00000008);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @return A list containing the enum numeric values on the wire for additionalTechniques.
*/
public java.util.List getAdditionalTechniquesValueList() {
return java.util.Collections.unmodifiableList(additionalTechniques_);
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index of the value to return.
* @return The enum numeric value on the wire of additionalTechniques at the given index.
*/
public int getAdditionalTechniquesValue(int index) {
return additionalTechniques_.get(index);
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param index The index to set the value at.
* @param value The enum numeric value on the wire for additionalTechniques to set.
* @return This builder for chaining.
*/
public Builder setAdditionalTechniquesValue(int index, int value) {
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.set(index, value);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param value The enum numeric value on the wire for additionalTechniques to add.
* @return This builder for chaining.
*/
public Builder addAdditionalTechniquesValue(int value) {
ensureAdditionalTechniquesIsMutable();
additionalTechniques_.add(value);
onChanged();
return this;
}
/**
*
*
*
* Additional MITRE ATT&CK techniques related to this finding, if any, along
* with any of their respective parent techniques.
*
*
*
* repeated .google.cloud.securitycenter.v1.MitreAttack.Technique additional_techniques = 4;
*
*
* @param values The enum numeric values on the wire for additionalTechniques to add.
* @return This builder for chaining.
*/
public Builder addAllAdditionalTechniquesValue(java.lang.Iterable values) {
ensureAdditionalTechniquesIsMutable();
for (int value : values) {
additionalTechniques_.add(value);
}
onChanged();
return this;
}
private java.lang.Object version_ = "";
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @return The version.
*/
public java.lang.String getVersion() {
java.lang.Object ref = version_;
if (!(ref instanceof java.lang.String)) {
com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
java.lang.String s = bs.toStringUtf8();
version_ = s;
return s;
} else {
return (java.lang.String) ref;
}
}
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @return The bytes for version.
*/
public com.google.protobuf.ByteString getVersionBytes() {
java.lang.Object ref = version_;
if (ref instanceof String) {
com.google.protobuf.ByteString b =
com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
version_ = b;
return b;
} else {
return (com.google.protobuf.ByteString) ref;
}
}
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @param value The version to set.
* @return This builder for chaining.
*/
public Builder setVersion(java.lang.String value) {
if (value == null) {
throw new NullPointerException();
}
version_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @return This builder for chaining.
*/
public Builder clearVersion() {
version_ = getDefaultInstance().getVersion();
bitField0_ = (bitField0_ & ~0x00000010);
onChanged();
return this;
}
/**
*
*
*
* The MITRE ATT&CK version referenced by the above fields. E.g. "8".
*
*
* string version = 5;
*
* @param value The bytes for version to set.
* @return This builder for chaining.
*/
public Builder setVersionBytes(com.google.protobuf.ByteString value) {
if (value == null) {
throw new NullPointerException();
}
checkByteStringIsUtf8(value);
version_ = value;
bitField0_ |= 0x00000010;
onChanged();
return this;
}
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
}
@java.lang.Override
public final Builder mergeUnknownFields(
final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.mergeUnknownFields(unknownFields);
}
// @@protoc_insertion_point(builder_scope:google.cloud.securitycenter.v1.MitreAttack)
}
// @@protoc_insertion_point(class_scope:google.cloud.securitycenter.v1.MitreAttack)
private static final com.google.cloud.securitycenter.v1.MitreAttack DEFAULT_INSTANCE;
static {
DEFAULT_INSTANCE = new com.google.cloud.securitycenter.v1.MitreAttack();
}
public static com.google.cloud.securitycenter.v1.MitreAttack getDefaultInstance() {
return DEFAULT_INSTANCE;
}
private static final com.google.protobuf.Parser PARSER =
new com.google.protobuf.AbstractParser() {
@java.lang.Override
public MitreAttack parsePartialFrom(
com.google.protobuf.CodedInputStream input,
com.google.protobuf.ExtensionRegistryLite extensionRegistry)
throws com.google.protobuf.InvalidProtocolBufferException {
Builder builder = newBuilder();
try {
builder.mergeFrom(input, extensionRegistry);
} catch (com.google.protobuf.InvalidProtocolBufferException e) {
throw e.setUnfinishedMessage(builder.buildPartial());
} catch (com.google.protobuf.UninitializedMessageException e) {
throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial());
} catch (java.io.IOException e) {
throw new com.google.protobuf.InvalidProtocolBufferException(e)
.setUnfinishedMessage(builder.buildPartial());
}
return builder.buildPartial();
}
};
public static com.google.protobuf.Parser parser() {
return PARSER;
}
@java.lang.Override
public com.google.protobuf.Parser getParserForType() {
return PARSER;
}
@java.lang.Override
public com.google.cloud.securitycenter.v1.MitreAttack getDefaultInstanceForType() {
return DEFAULT_INSTANCE;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy