diff --git a/androidmanagement/v1/androidmanagement-api.json b/androidmanagement/v1/androidmanagement-api.json index 9208636e019..497aa5138d4 100644 --- a/androidmanagement/v1/androidmanagement-api.json +++ b/androidmanagement/v1/androidmanagement-api.json @@ -1004,7 +1004,7 @@ } } }, - "revision": "20220425", + "revision": "20220524", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdvancedSecurityOverrides": { @@ -3332,6 +3332,20 @@ "The timeout period is set to 24 hours." ], "type": "string" + }, + "unifiedLockSettings": { + "description": "Controls whether a unified lock is allowed for the device and the work profile, on devices running Android 9 and above with a work profile. This can be set only if password_scope is set to SCOPE_PROFILE, the policy will be rejected otherwise. If user has not set a separate work lock and this field is set to REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported with nonComplianceReason set to USER_ACTION.", + "enum": [ + "UNIFIED_LOCK_SETTINGS_UNSPECIFIED", + "ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK", + "REQUIRE_SEPARATE_WORK_LOCK" + ], + "enumDescriptions": [ + "Unspecified. Defaults to ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK.", + "A common lock for the device and the work profile is allowed.", + "A separate lock for the work profile is required." + ], + "type": "string" } }, "type": "object" @@ -3840,7 +3854,7 @@ }, "passwordRequirements": { "$ref": "PasswordRequirements", - "description": "Password requirements. The field password_requirements.require_password_unlock must not be set. DEPRECATED - Use passwordPolicies.Note:Complexity-based values of PasswordQuality, that is, COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and COMPLEXITY_HIGH, cannot be used here." + "description": "Password requirements. The field password_requirements.require_password_unlock must not be set. DEPRECATED - Use passwordPolicies.Note:Complexity-based values of PasswordQuality, that is, COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and COMPLEXITY_HIGH, cannot be used here. unified_lock_settings cannot be used here." }, "permissionGrants": { "description": "Explicit permission or group grants or denials for all apps. These values override the default_permission_policy.", diff --git a/androidmanagement/v1/androidmanagement-gen.go b/androidmanagement/v1/androidmanagement-gen.go index c6bd97a52c9..f4d9a139d14 100644 --- a/androidmanagement/v1/androidmanagement-gen.go +++ b/androidmanagement/v1/androidmanagement-gen.go @@ -3375,6 +3375,23 @@ type PasswordRequirements struct { // "REQUIRE_EVERY_DAY" - The timeout period is set to 24 hours. RequirePasswordUnlock string `json:"requirePasswordUnlock,omitempty"` + // UnifiedLockSettings: Controls whether a unified lock is allowed for + // the device and the work profile, on devices running Android 9 and + // above with a work profile. This can be set only if password_scope is + // set to SCOPE_PROFILE, the policy will be rejected otherwise. If user + // has not set a separate work lock and this field is set to + // REQUIRE_SEPARATE_WORK_LOCK, a NonComplianceDetail is reported with + // nonComplianceReason set to USER_ACTION. + // + // Possible values: + // "UNIFIED_LOCK_SETTINGS_UNSPECIFIED" - Unspecified. Defaults to + // ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK. + // "ALLOW_UNIFIED_WORK_AND_PERSONAL_LOCK" - A common lock for the + // device and the work profile is allowed. + // "REQUIRE_SEPARATE_WORK_LOCK" - A separate lock for the work profile + // is required. + UnifiedLockSettings string `json:"unifiedLockSettings,omitempty"` + // ForceSendFields is a list of field names (e.g. // "MaximumFailedPasswordsForWipe") to unconditionally include in API // requests. By default, fields with empty or default values are omitted @@ -3952,7 +3969,8 @@ type Policy struct { // password_requirements.require_password_unlock must not be set. // DEPRECATED - Use passwordPolicies.Note:Complexity-based values of // PasswordQuality, that is, COMPLEXITY_LOW, COMPLEXITY_MEDIUM, and - // COMPLEXITY_HIGH, cannot be used here. + // COMPLEXITY_HIGH, cannot be used here. unified_lock_settings cannot be + // used here. PasswordRequirements *PasswordRequirements `json:"passwordRequirements,omitempty"` // PermissionGrants: Explicit permission or group grants or denials for diff --git a/api-list.json b/api-list.json index 34df019dd92..a15d3e2f386 100644 --- a/api-list.json +++ b/api-list.json @@ -571,13 +571,28 @@ "documentationLink": "https://developers.google.com/authorized-buyers/apis/marketplace/reference/rest/", "preferred": true }, + { + "kind": "discovery#directoryItem", + "id": "baremetalsolution:v1alpha1", + "name": "baremetalsolution", + "version": "v1alpha1", + "title": "Bare Metal Solution API", + "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", + "discoveryRestUrl": "https://baremetalsolution.googleapis.com/$discovery/rest?version=v1alpha1", + "icons": { + "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", + "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" + }, + "documentationLink": "https://cloud.google.com/bare-metal", + "preferred": false + }, { "kind": "discovery#directoryItem", "id": "baremetalsolution:v1", "name": "baremetalsolution", "version": "v1", "title": "Bare Metal Solution API", - "description": "Bare Metal Solution provides hardware to run specialized workloads with low latency on Google Cloud.", + "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", "discoveryRestUrl": "https://baremetalsolution.googleapis.com/$discovery/rest?version=v1", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", @@ -592,7 +607,7 @@ "name": "baremetalsolution", "version": "v2", "title": "Bare Metal Solution API", - "description": "Bare Metal Solution provides hardware to run specialized workloads with low latency on Google Cloud.", + "description": "Provides ways to manage Bare Metal Solution hardware installed in a regional extension located near a Google Cloud data center.", "discoveryRestUrl": "https://baremetalsolution.googleapis.com/$discovery/rest?version=v2", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", diff --git a/calendar/v3/calendar-api.json b/calendar/v3/calendar-api.json index 7a7f20b7e1e..b4d8e318f4e 100644 --- a/calendar/v3/calendar-api.json +++ b/calendar/v3/calendar-api.json @@ -1132,7 +1132,7 @@ "type": "string" }, "q": { - "description": "Free text search terms to find events that match these terms in any field, except for extended properties. Optional.", + "description": "Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional.", "location": "query", "type": "string" }, @@ -1529,7 +1529,7 @@ "type": "string" }, "q": { - "description": "Free text search terms to find events that match these terms in any field, except for extended properties. Optional.", + "description": "Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional.", "location": "query", "type": "string" }, @@ -1723,7 +1723,7 @@ } } }, - "revision": "20220429", + "revision": "20220520", "rootUrl": "https://www.googleapis.com/", "schemas": { "Acl": { diff --git a/calendar/v3/calendar-gen.go b/calendar/v3/calendar-gen.go index c2fa3b977f3..8d1cfeaddef 100644 --- a/calendar/v3/calendar-gen.go +++ b/calendar/v3/calendar-gen.go @@ -6990,8 +6990,8 @@ func (c *EventsListCall) PrivateExtendedProperty(privateExtendedProperty ...stri } // Q sets the optional parameter "q": Free text search terms to find -// events that match these terms in any field, except for extended -// properties. +// events that match these terms in the following fields: summary, +// description, location, attendee's displayName, attendee's email. func (c *EventsListCall) Q(q string) *EventsListCall { c.urlParams_.Set("q", q) return c @@ -7264,7 +7264,7 @@ func (c *EventsListCall) Do(opts ...googleapi.CallOption) (*Events, error) { // "type": "string" // }, // "q": { - // "description": "Free text search terms to find events that match these terms in any field, except for extended properties. Optional.", + // "description": "Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional.", // "location": "query", // "type": "string" // }, @@ -8366,8 +8366,8 @@ func (c *EventsWatchCall) PrivateExtendedProperty(privateExtendedProperty ...str } // Q sets the optional parameter "q": Free text search terms to find -// events that match these terms in any field, except for extended -// properties. +// events that match these terms in the following fields: summary, +// description, location, attendee's displayName, attendee's email. func (c *EventsWatchCall) Q(q string) *EventsWatchCall { c.urlParams_.Set("q", q) return c @@ -8632,7 +8632,7 @@ func (c *EventsWatchCall) Do(opts ...googleapi.CallOption) (*Channel, error) { // "type": "string" // }, // "q": { - // "description": "Free text search terms to find events that match these terms in any field, except for extended properties. Optional.", + // "description": "Free text search terms to find events that match these terms in the following fields: summary, description, location, attendee's displayName, attendee's email. Optional.", // "location": "query", // "type": "string" // }, diff --git a/cloudasset/v1p1beta1/cloudasset-api.json b/cloudasset/v1p1beta1/cloudasset-api.json index ba81bd9b821..ae66fd697b4 100644 --- a/cloudasset/v1p1beta1/cloudasset-api.json +++ b/cloudasset/v1p1beta1/cloudasset-api.json @@ -207,7 +207,7 @@ } } }, - "revision": "20220429", + "revision": "20220520", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -361,7 +361,7 @@ }, "iamPolicy": { "$ref": "Policy", - "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information." + "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." }, "name": { "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", diff --git a/cloudasset/v1p1beta1/cloudasset-gen.go b/cloudasset/v1p1beta1/cloudasset-gen.go index 9d1017fb953..a560f1fa1f3 100644 --- a/cloudasset/v1p1beta1/cloudasset-gen.go +++ b/cloudasset/v1p1beta1/cloudasset-gen.go @@ -496,8 +496,8 @@ type GoogleCloudAssetV1p7beta1Asset struct { // resource hierarchy. Therefore, the effectively policy is the union of // both the policy set on this resource and each policy set on all of // the resource's ancestry resource levels in the hierarchy. See this - // topic (https://cloud.google.com/iam/docs/policies#inheritance) for - // more information. + // topic (https://cloud.google.com/iam/help/allow-policies/inheritance) + // for more information. IamPolicy *Policy `json:"iamPolicy,omitempty"` // Name: The full name of the asset. Example: diff --git a/cloudasset/v1p4beta1/cloudasset-api.json b/cloudasset/v1p4beta1/cloudasset-api.json index cabca8b4a0b..c0413792277 100644 --- a/cloudasset/v1p4beta1/cloudasset-api.json +++ b/cloudasset/v1p4beta1/cloudasset-api.json @@ -221,7 +221,7 @@ } } }, - "revision": "20220429", + "revision": "20220520", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AccessSelector": { @@ -606,7 +606,7 @@ }, "iamPolicy": { "$ref": "Policy", - "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information." + "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." }, "name": { "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", diff --git a/cloudasset/v1p4beta1/cloudasset-gen.go b/cloudasset/v1p4beta1/cloudasset-gen.go index 812896b1917..6d8f73e1345 100644 --- a/cloudasset/v1p4beta1/cloudasset-gen.go +++ b/cloudasset/v1p4beta1/cloudasset-gen.go @@ -953,8 +953,8 @@ type GoogleCloudAssetV1p7beta1Asset struct { // resource hierarchy. Therefore, the effectively policy is the union of // both the policy set on this resource and each policy set on all of // the resource's ancestry resource levels in the hierarchy. See this - // topic (https://cloud.google.com/iam/docs/policies#inheritance) for - // more information. + // topic (https://cloud.google.com/iam/help/allow-policies/inheritance) + // for more information. IamPolicy *Policy `json:"iamPolicy,omitempty"` // Name: The full name of the asset. Example: diff --git a/cloudasset/v1p7beta1/cloudasset-api.json b/cloudasset/v1p7beta1/cloudasset-api.json index 5b28be78015..3b81bacf255 100644 --- a/cloudasset/v1p7beta1/cloudasset-api.json +++ b/cloudasset/v1p7beta1/cloudasset-api.json @@ -167,7 +167,7 @@ } } }, - "revision": "20220429", + "revision": "20220520", "rootUrl": "https://cloudasset.googleapis.com/", "schemas": { "AnalyzeIamPolicyLongrunningMetadata": { @@ -307,7 +307,7 @@ }, "iamPolicy": { "$ref": "Policy", - "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/docs/policies#inheritance) for more information." + "description": "A representation of the Cloud IAM policy set on a Google Cloud resource. There can be a maximum of one Cloud IAM policy set on any given resource. In addition, Cloud IAM policies inherit their granted access scope from any policies set on parent resources in the resource hierarchy. Therefore, the effectively policy is the union of both the policy set on this resource and each policy set on all of the resource's ancestry resource levels in the hierarchy. See [this topic](https://cloud.google.com/iam/help/allow-policies/inheritance) for more information." }, "name": { "description": "The full name of the asset. Example: `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1` See [Resource names](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more information.", diff --git a/cloudasset/v1p7beta1/cloudasset-gen.go b/cloudasset/v1p7beta1/cloudasset-gen.go index cdebc80ae9e..0f71e1f5ea7 100644 --- a/cloudasset/v1p7beta1/cloudasset-gen.go +++ b/cloudasset/v1p7beta1/cloudasset-gen.go @@ -462,8 +462,8 @@ type GoogleCloudAssetV1p7beta1Asset struct { // resource hierarchy. Therefore, the effectively policy is the union of // both the policy set on this resource and each policy set on all of // the resource's ancestry resource levels in the hierarchy. See this - // topic (https://cloud.google.com/iam/docs/policies#inheritance) for - // more information. + // topic (https://cloud.google.com/iam/help/allow-policies/inheritance) + // for more information. IamPolicy *Policy `json:"iamPolicy,omitempty"` // Name: The full name of the asset. Example: diff --git a/cloudidentity/v1beta1/cloudidentity-api.json b/cloudidentity/v1beta1/cloudidentity-api.json index db8c4c719f2..332091f290c 100644 --- a/cloudidentity/v1beta1/cloudidentity-api.json +++ b/cloudidentity/v1beta1/cloudidentity-api.json @@ -1536,7 +1536,7 @@ } } }, - "revision": "20220513", + "revision": "20220518", "rootUrl": "https://cloudidentity.googleapis.com/", "schemas": { "AndroidAttributes": { @@ -2314,21 +2314,6 @@ }, "type": "object" }, - "FirstAdminInvitationInfo": { - "description": "Message containing first admin invitation info for customers", - "id": "FirstAdminInvitationInfo", - "properties": { - "isFirstAdmin": { - "description": "Optional. To enable First Admin Invitation for Domained Customer", - "type": "boolean" - }, - "primaryDomain": { - "description": "Optional. Domain information of first admin invited", - "type": "string" - } - }, - "type": "object" - }, "GetMembershipGraphResponse": { "description": "The response message for MembershipsService.GetMembershipGraph.", "id": "GetMembershipGraphResponse", @@ -3707,12 +3692,7 @@ "SendUserInvitationRequest": { "description": "A request to send email for inviting target user corresponding to the UserInvitation.", "id": "SendUserInvitationRequest", - "properties": { - "firstAdminInvitationInfo": { - "$ref": "FirstAdminInvitationInfo", - "description": "Optional. First admin invitation info for customers" - } - }, + "properties": {}, "type": "object" }, "Status": { diff --git a/cloudidentity/v1beta1/cloudidentity-gen.go b/cloudidentity/v1beta1/cloudidentity-gen.go index 991b02077a0..e845c9a0ff3 100644 --- a/cloudidentity/v1beta1/cloudidentity-gen.go +++ b/cloudidentity/v1beta1/cloudidentity-gen.go @@ -1286,39 +1286,6 @@ func (s *ExpiryDetail) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// FirstAdminInvitationInfo: Message containing first admin invitation -// info for customers -type FirstAdminInvitationInfo struct { - // IsFirstAdmin: Optional. To enable First Admin Invitation for Domained - // Customer - IsFirstAdmin bool `json:"isFirstAdmin,omitempty"` - - // PrimaryDomain: Optional. Domain information of first admin invited - PrimaryDomain string `json:"primaryDomain,omitempty"` - - // ForceSendFields is a list of field names (e.g. "IsFirstAdmin") to - // unconditionally include in API requests. By default, fields with - // empty or default values are omitted from API requests. However, any - // non-pointer, non-interface field appearing in ForceSendFields will be - // sent to the server regardless of whether the field is empty or not. - // This may be used to include empty fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "IsFirstAdmin") to include - // in API requests with the JSON null value. By default, fields with - // empty values are omitted from API requests. However, any field with - // an empty value appearing in NullFields will be sent to the server as - // null. It is an error if a field in this list has a non-empty value. - // This may be used to include null fields in Patch requests. - NullFields []string `json:"-"` -} - -func (s *FirstAdminInvitationInfo) MarshalJSON() ([]byte, error) { - type NoMethod FirstAdminInvitationInfo - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) -} - // GetMembershipGraphResponse: The response message for // MembershipsService.GetMembershipGraph. type GetMembershipGraphResponse struct { @@ -3412,33 +3379,6 @@ func (s *SecuritySettings) MarshalJSON() ([]byte, error) { // SendUserInvitationRequest: A request to send email for inviting // target user corresponding to the UserInvitation. type SendUserInvitationRequest struct { - // FirstAdminInvitationInfo: Optional. First admin invitation info for - // customers - FirstAdminInvitationInfo *FirstAdminInvitationInfo `json:"firstAdminInvitationInfo,omitempty"` - - // ForceSendFields is a list of field names (e.g. - // "FirstAdminInvitationInfo") to unconditionally include in API - // requests. By default, fields with empty or default values are omitted - // from API requests. However, any non-pointer, non-interface field - // appearing in ForceSendFields will be sent to the server regardless of - // whether the field is empty or not. This may be used to include empty - // fields in Patch requests. - ForceSendFields []string `json:"-"` - - // NullFields is a list of field names (e.g. "FirstAdminInvitationInfo") - // to include in API requests with the JSON null value. By default, - // fields with empty values are omitted from API requests. However, any - // field with an empty value appearing in NullFields will be sent to the - // server as null. It is an error if a field in this list has a - // non-empty value. This may be used to include null fields in Patch - // requests. - NullFields []string `json:"-"` -} - -func (s *SendUserInvitationRequest) MarshalJSON() ([]byte, error) { - type NoMethod SendUserInvitationRequest - raw := NoMethod(*s) - return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } // Status: The `Status` type defines a logical error model that is diff --git a/containeranalysis/v1/containeranalysis-api.json b/containeranalysis/v1/containeranalysis-api.json index 54af99001ce..127327b5eb8 100644 --- a/containeranalysis/v1/containeranalysis-api.json +++ b/containeranalysis/v1/containeranalysis-api.json @@ -755,7 +755,7 @@ } } }, - "revision": "20220506", + "revision": "20220519", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "AliasContext": { @@ -3034,6 +3034,115 @@ }, "type": "object" }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder": { + "description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder", + "properties": { + "id": { + "type": "string" + } + }, + "type": "object" + }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness": { + "description": "Indicates that the builder claims certain fields in this message to be complete.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness", + "properties": { + "environment": { + "type": "boolean" + }, + "materials": { + "type": "boolean" + }, + "parameters": { + "type": "boolean" + } + }, + "type": "object" + }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource": { + "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource", + "properties": { + "digest": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "entryPoint": { + "type": "string" + }, + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation": { + "description": "Identifies the event that kicked off the build.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation", + "properties": { + "configSource": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource" + }, + "environment": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + } + }, + "type": "object" + }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial": { + "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial", + "properties": { + "digest": { + "additionalProperties": { + "type": "string" + }, + "type": "object" + }, + "uri": { + "type": "string" + } + }, + "type": "object" + }, + "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata": { + "description": "Other properties of the build.", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata", + "properties": { + "buildFinishedOn": { + "format": "google-datetime", + "type": "string" + }, + "buildInvocationId": { + "type": "string" + }, + "buildStartedOn": { + "format": "google-datetime", + "type": "string" + }, + "completeness": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness" + }, + "reproducible": { + "type": "boolean" + } + }, + "type": "object" + }, "Hash": { "description": "Container message for hash values.", "id": "Hash", @@ -3161,6 +3270,9 @@ "slsaProvenance": { "$ref": "SlsaProvenance" }, + "slsaProvenanceZeroTwo": { + "$ref": "SlsaProvenanceZeroTwo" + }, "subject": { "items": { "$ref": "Subject" @@ -3991,6 +4103,38 @@ }, "type": "object" }, + "SlsaProvenanceZeroTwo": { + "description": "See full explanation of fields at slsa.dev/provenance/v0.2.", + "id": "SlsaProvenanceZeroTwo", + "properties": { + "buildConfig": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "type": "object" + }, + "buildType": { + "type": "string" + }, + "builder": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder" + }, + "invocation": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation" + }, + "materials": { + "items": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial" + }, + "type": "array" + }, + "metadata": { + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata" + } + }, + "type": "object" + }, "SlsaRecipe": { "description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", "id": "SlsaRecipe", diff --git a/containeranalysis/v1/containeranalysis-gen.go b/containeranalysis/v1/containeranalysis-gen.go index 4343daebaa2..5698aca92cc 100644 --- a/containeranalysis/v1/containeranalysis-gen.go +++ b/containeranalysis/v1/containeranalysis-gen.go @@ -3569,6 +3569,200 @@ func (s *GrafeasV1FileLocation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder: Identifies the entity that +// executed the recipe, which is trusted to have correctly performed the +// operation and populated this provenance. +type GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder struct { + Id string `json:"id,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness: Indicates that the +// builder claims certain fields in this message to be complete. +type GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness struct { + Environment bool `json:"environment,omitempty"` + + Materials bool `json:"materials,omitempty"` + + Parameters bool `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Environment") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Environment") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource: Describes where the +// config file that kicked off the build came from. This is effectively +// a pointer to the source where buildConfig came from. +type GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource struct { + Digest map[string]string `json:"digest,omitempty"` + + EntryPoint string `json:"entryPoint,omitempty"` + + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Digest") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Digest") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation: Identifies the event +// that kicked off the build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation struct { + ConfigSource *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource `json:"configSource,omitempty"` + + Environment googleapi.RawMessage `json:"environment,omitempty"` + + Parameters googleapi.RawMessage `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConfigSource") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConfigSource") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial: The collection of +// artifacts that influenced the build including sources, dependencies, +// build tools, base images, and so on. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial struct { + Digest map[string]string `json:"digest,omitempty"` + + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Digest") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Digest") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata: Other properties of the +// build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata struct { + BuildFinishedOn string `json:"buildFinishedOn,omitempty"` + + BuildInvocationId string `json:"buildInvocationId,omitempty"` + + BuildStartedOn string `json:"buildStartedOn,omitempty"` + + Completeness *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness `json:"completeness,omitempty"` + + Reproducible bool `json:"reproducible,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BuildFinishedOn") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BuildFinishedOn") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Hash: Container message for hash values. type Hash struct { // Type: Required. The type of hash that was performed, e.g. "SHA-256". @@ -3803,6 +3997,8 @@ type InTotoStatement struct { SlsaProvenance *SlsaProvenance `json:"slsaProvenance,omitempty"` + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `json:"slsaProvenanceZeroTwo,omitempty"` + Subject []*Subject `json:"subject,omitempty"` // ForceSendFields is a list of field names (e.g. "Type") to @@ -5160,6 +5356,44 @@ func (s *SlsaProvenance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SlsaProvenanceZeroTwo: See full explanation of fields at +// slsa.dev/provenance/v0.2. +type SlsaProvenanceZeroTwo struct { + BuildConfig googleapi.RawMessage `json:"buildConfig,omitempty"` + + BuildType string `json:"buildType,omitempty"` + + Builder *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder `json:"builder,omitempty"` + + Invocation *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation `json:"invocation,omitempty"` + + Materials []*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial `json:"materials,omitempty"` + + Metadata *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata `json:"metadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BuildConfig") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BuildConfig") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SlsaProvenanceZeroTwo) MarshalJSON() ([]byte, error) { + type NoMethod SlsaProvenanceZeroTwo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SlsaRecipe: Steps taken to build the artifact. For a TaskRun, // typically each container corresponds to one step in the recipe. type SlsaRecipe struct { diff --git a/containeranalysis/v1alpha1/containeranalysis-api.json b/containeranalysis/v1alpha1/containeranalysis-api.json index 22170c923fb..fb3c26d9886 100644 --- a/containeranalysis/v1alpha1/containeranalysis-api.json +++ b/containeranalysis/v1alpha1/containeranalysis-api.json @@ -1229,7 +1229,7 @@ } } }, - "revision": "20220513", + "revision": "20220519", "rootUrl": "https://containeranalysis.googleapis.com/", "schemas": { "Artifact": { @@ -3624,6 +3624,132 @@ }, "type": "object" }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder": { + "description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder", + "properties": { + "id": { + "description": "URI indicating the builder’s identity.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness": { + "description": "Indicates that the builder claims certain fields in this message to be complete.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness", + "properties": { + "environment": { + "description": "If true, the builder claims that invocation.environment is complete.", + "type": "boolean" + }, + "materials": { + "description": "If true, the builder claims that materials is complete.", + "type": "boolean" + }, + "parameters": { + "description": "If true, the builder claims that invocation.parameters is complete.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource": { + "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource", + "properties": { + "digest": { + "additionalProperties": { + "type": "string" + }, + "description": "Collection of cryptographic digests for the contents of the artifact specified by invocation.configSource.uri.", + "type": "object" + }, + "entryPoint": { + "description": "String identifying the entry point into the build.", + "type": "string" + }, + "uri": { + "description": "URI indicating the identity of the source of the config.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation": { + "description": "Identifies the event that kicked off the build.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation", + "properties": { + "configSource": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource", + "description": "Describes where the config file that kicked off the build came from." + }, + "environment": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Any other builder-controlled inputs necessary for correctly evaluating the build.", + "type": "object" + }, + "parameters": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Collection of all external inputs that influenced the build on top of invocation.configSource.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial": { + "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial", + "properties": { + "digest": { + "additionalProperties": { + "type": "string" + }, + "description": "Collection of cryptographic digests for the contents of this artifact.", + "type": "object" + }, + "uri": { + "description": "The method by which this artifact was referenced during the build.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata": { + "description": "Other properties of the build.", + "id": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata", + "properties": { + "buildFinishedOn": { + "description": "The timestamp of when the build completed.", + "format": "google-datetime", + "type": "string" + }, + "buildInvocationId": { + "description": "Identifies this particular build invocation, which can be useful for finding associated logs or other ad-hoc analysis.", + "type": "string" + }, + "buildStartedOn": { + "description": "The timestamp of when the build started.", + "format": "google-datetime", + "type": "string" + }, + "completeness": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness", + "description": "Indicates that the builder claims certain fields in this message to be complete." + }, + "reproducible": { + "description": "If true, the builder claims that running invocation on materials will produce bit-for-bit identical output.", + "type": "boolean" + } + }, + "type": "object" + }, "GoogleDevtoolsContaineranalysisV1alpha1SourceContext": { "description": "A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.", "id": "GoogleDevtoolsContaineranalysisV1alpha1SourceContext", @@ -3712,11 +3838,15 @@ }, "provenance": { "$ref": "InTotoProvenance", - "description": "provenance is a predicate of type intotoprovenance" + "description": "Generic Grafeas provenance." }, "slsaProvenance": { "$ref": "SlsaProvenance", - "description": "slsa_provenance is a predicate of type slsaProvenance" + "description": "SLSA 0.1 provenance." + }, + "slsaProvenanceZeroTwo": { + "$ref": "SlsaProvenanceZeroTwo", + "description": "SLSA 0.2 provenance." }, "subject": { "description": "subject is the subjects of the intoto statement", @@ -5086,6 +5216,44 @@ }, "type": "object" }, + "SlsaProvenanceZeroTwo": { + "description": "SlsaProvenanceZeroTwo is the slsa provenance as defined by the slsa spec. See full explanation of fields at slsa.dev/provenance/v0.2.", + "id": "SlsaProvenanceZeroTwo", + "properties": { + "buildConfig": { + "additionalProperties": { + "description": "Properties of the object.", + "type": "any" + }, + "description": "Lists the steps in the build.", + "type": "object" + }, + "buildType": { + "description": "URI indicating what type of build was performed.", + "type": "string" + }, + "builder": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder", + "description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance." + }, + "invocation": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation", + "description": "Identifies the event that kicked off the build." + }, + "materials": { + "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", + "items": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial" + }, + "type": "array" + }, + "metadata": { + "$ref": "GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata", + "description": "Other properties of the build." + } + }, + "type": "object" + }, "SlsaRecipe": { "description": "Steps taken to build the artifact. For a TaskRun, typically each container corresponds to one step in the recipe.", "id": "SlsaRecipe", diff --git a/containeranalysis/v1alpha1/containeranalysis-gen.go b/containeranalysis/v1alpha1/containeranalysis-gen.go index e64794d9623..387218f6c11 100644 --- a/containeranalysis/v1alpha1/containeranalysis-gen.go +++ b/containeranalysis/v1alpha1/containeranalysis-gen.go @@ -3915,6 +3915,231 @@ func (s *GoogleDevtoolsContaineranalysisV1alpha1RepoId) MarshalJSON() ([]byte, e return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilde +// r: Identifies the entity that executed the recipe, which is trusted +// to have correctly performed the operation and populated this +// provenance. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder struct { + // Id: URI indicating the builder’s identity. + Id string `json:"id,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Id") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Id") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaComple +// teness: Indicates that the builder claims certain fields in this +// message to be complete. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness struct { + // Environment: If true, the builder claims that invocation.environment + // is complete. + Environment bool `json:"environment,omitempty"` + + // Materials: If true, the builder claims that materials is complete. + Materials bool `json:"materials,omitempty"` + + // Parameters: If true, the builder claims that invocation.parameters is + // complete. + Parameters bool `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Environment") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Environment") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfig +// Source: Describes where the config file that kicked off the build +// came from. This is effectively a pointer to the source where +// buildConfig came from. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource struct { + // Digest: Collection of cryptographic digests for the contents of the + // artifact specified by invocation.configSource.uri. + Digest map[string]string `json:"digest,omitempty"` + + // EntryPoint: String identifying the entry point into the build. + EntryPoint string `json:"entryPoint,omitempty"` + + // Uri: URI indicating the identity of the source of the config. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Digest") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Digest") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvoca +// tion: Identifies the event that kicked off the build. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation struct { + // ConfigSource: Describes where the config file that kicked off the + // build came from. + ConfigSource *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaConfigSource `json:"configSource,omitempty"` + + // Environment: Any other builder-controlled inputs necessary for + // correctly evaluating the build. + Environment googleapi.RawMessage `json:"environment,omitempty"` + + // Parameters: Collection of all external inputs that influenced the + // build on top of invocation.configSource. + Parameters googleapi.RawMessage `json:"parameters,omitempty"` + + // ForceSendFields is a list of field names (e.g. "ConfigSource") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "ConfigSource") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMateri +// al: The collection of artifacts that influenced the build including +// sources, dependencies, build tools, base images, and so on. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial struct { + // Digest: Collection of cryptographic digests for the contents of this + // artifact. + Digest map[string]string `json:"digest,omitempty"` + + // Uri: The method by which this artifact was referenced during the + // build. + Uri string `json:"uri,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Digest") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Digest") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetada +// ta: Other properties of the build. +type GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata struct { + // BuildFinishedOn: The timestamp of when the build completed. + BuildFinishedOn string `json:"buildFinishedOn,omitempty"` + + // BuildInvocationId: Identifies this particular build invocation, which + // can be useful for finding associated logs or other ad-hoc analysis. + BuildInvocationId string `json:"buildInvocationId,omitempty"` + + // BuildStartedOn: The timestamp of when the build started. + BuildStartedOn string `json:"buildStartedOn,omitempty"` + + // Completeness: Indicates that the builder claims certain fields in + // this message to be complete. + Completeness *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaCompleteness `json:"completeness,omitempty"` + + // Reproducible: If true, the builder claims that running invocation on + // materials will produce bit-for-bit identical output. + Reproducible bool `json:"reproducible,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BuildFinishedOn") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BuildFinishedOn") to + // include in API requests with the JSON null value. By default, fields + // with empty values are omitted from API requests. However, any field + // with an empty value appearing in NullFields will be sent to the + // server as null. It is an error if a field in this list has a + // non-empty value. This may be used to include null fields in Patch + // requests. + NullFields []string `json:"-"` +} + +func (s *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleDevtoolsContaineranalysisV1alpha1SourceContext: A SourceContext // is a reference to a tree of files. A SourceContext together with a // path point to a unique revision of a single file or directory. @@ -4044,12 +4269,15 @@ type InTotoStatement struct { // PredicateType: "https://slsa.dev/provenance/v0.1" for SlsaProvenance. PredicateType string `json:"predicateType,omitempty"` - // Provenance: provenance is a predicate of type intotoprovenance + // Provenance: Generic Grafeas provenance. Provenance *InTotoProvenance `json:"provenance,omitempty"` - // SlsaProvenance: slsa_provenance is a predicate of type slsaProvenance + // SlsaProvenance: SLSA 0.1 provenance. SlsaProvenance *SlsaProvenance `json:"slsaProvenance,omitempty"` + // SlsaProvenanceZeroTwo: SLSA 0.2 provenance. + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `json:"slsaProvenanceZeroTwo,omitempty"` + // Subject: subject is the subjects of the intoto statement Subject []*Subject `json:"subject,omitempty"` @@ -6013,6 +6241,54 @@ func (s *SlsaProvenance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// SlsaProvenanceZeroTwo: SlsaProvenanceZeroTwo is the slsa provenance +// as defined by the slsa spec. See full explanation of fields at +// slsa.dev/provenance/v0.2. +type SlsaProvenanceZeroTwo struct { + // BuildConfig: Lists the steps in the build. + BuildConfig googleapi.RawMessage `json:"buildConfig,omitempty"` + + // BuildType: URI indicating what type of build was performed. + BuildType string `json:"buildType,omitempty"` + + // Builder: Identifies the entity that executed the recipe, which is + // trusted to have correctly performed the operation and populated this + // provenance. + Builder *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaBuilder `json:"builder,omitempty"` + + // Invocation: Identifies the event that kicked off the build. + Invocation *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaInvocation `json:"invocation,omitempty"` + + // Materials: The collection of artifacts that influenced the build + // including sources, dependencies, build tools, base images, and so on. + Materials []*GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMaterial `json:"materials,omitempty"` + + // Metadata: Other properties of the build. + Metadata *GoogleDevtoolsContaineranalysisV1alpha1SlsaProvenanceZeroTwoSlsaMetadata `json:"metadata,omitempty"` + + // ForceSendFields is a list of field names (e.g. "BuildConfig") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "BuildConfig") to include + // in API requests with the JSON null value. By default, fields with + // empty values are omitted from API requests. However, any field with + // an empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *SlsaProvenanceZeroTwo) MarshalJSON() ([]byte, error) { + type NoMethod SlsaProvenanceZeroTwo + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // SlsaRecipe: Steps taken to build the artifact. For a TaskRun, // typically each container corresponds to one step in the recipe. type SlsaRecipe struct { diff --git a/content/v2.1/content-api.json b/content/v2.1/content-api.json index 59af1ffac2e..91ea8022ae9 100644 --- a/content/v2.1/content-api.json +++ b/content/v2.1/content-api.json @@ -5986,7 +5986,7 @@ } } }, - "revision": "20220511", + "revision": "20220518", "rootUrl": "https://shoppingcontent.googleapis.com/", "schemas": { "Account": { @@ -10520,7 +10520,7 @@ "id": "OrderShipment", "properties": { "carrier": { - "description": "The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers won't include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for \"US\" are: - \"`ups`\" (United Parcel Service) *automatic status updates* - \"`usps`\" (United States Postal Service) *automatic status updates* - \"`fedex`\" (FedEx) *automatic status updates * - \"`dhl`\" (DHL eCommerce) *automatic status updates* (US only) - \"`ontrac`\" (OnTrac) *automatic status updates * - \"`dhl express`\" (DHL Express) - \"`deliv`\" (Deliv) - \"`dynamex`\" (TForce) - \"`lasership`\" (LaserShip) - \"`mpx`\" (Military Parcel Xpress) - \"`uds`\" (United Delivery Service) - \"`efw`\" (Estes Forwarding Worldwide) - \"`jd logistics`\" (JD Logistics) - \"`yunexpress`\" (YunExpress) - \"`china post`\" (China Post) - \"`china ems`\" (China Post Express Mail Service) - \"`singapore post`\" (Singapore Post) - \"`pos malaysia`\" (Pos Malaysia) - \"`postnl`\" (PostNL) - \"`ptt`\" (PTT Turkish Post) - \"`eub`\" (ePacket) - \"`chukou1`\" (Chukou1 Logistics) - \"`bestex`\" (Best Express) - \"`canada post`\" (Canada Post) - \"`purolator`\" (Purolator) - \"`canpar`\" (Canpar) - \"`india post`\" (India Post) - \"`blue dart`\" (Blue Dart) - \"`delhivery`\" (Delhivery) - \"`dtdc`\" (DTDC) - \"`tpc india`\" (TPC India) - \"`lso`\" (Lone Star Overnight) - \"`tww`\" (Team Worldwide) Supported carriers for FR are: - \"`la poste`\" (La Poste) *automatic status updates * - \"`colissimo`\" (Colissimo by La Poste) *automatic status updates* - \"`ups`\" (United Parcel Service) *automatic status updates * - \"`chronopost`\" (Chronopost by La Poste) - \"`gls`\" (General Logistics Systems France) - \"`dpd`\" (DPD Group by GeoPost) - \"`bpost`\" (Belgian Post Group) - \"`colis prive`\" (Colis Privé) - \"`boxtal`\" (Boxtal) - \"`geodis`\" (GEODIS) - \"`tnt`\" (TNT) - \"`db schenker`\" (DB Schenker) - \"`aramex`\" (Aramex) ", + "description": "The carrier handling the shipment. For supported carriers, Google includes the carrier name and tracking URL in emails to customers. For select supported carriers, Google also automatically updates the shipment status based on the provided shipment ID. *Note:* You can also use unsupported carriers, but emails to customers won't include the carrier name or tracking URL, and there will be no automatic order status updates. Supported carriers for \"US\" are: - \"`ups`\" (United Parcel Service) *automatic status updates* - \"`usps`\" (United States Postal Service) *automatic status updates* - \"`fedex`\" (FedEx) *automatic status updates * - \"`dhl`\" (DHL eCommerce) *automatic status updates* (US only) - \"`ontrac`\" (OnTrac) *automatic status updates * - \"`dhl express`\" (DHL Express) - \"`deliv`\" (Deliv) - \"`dynamex`\" (TForce) - \"`lasership`\" (LaserShip) - \"`mpx`\" (Military Parcel Xpress) - \"`uds`\" (United Delivery Service) - \"`efw`\" (Estes Forwarding Worldwide) - \"`jd logistics`\" (JD Logistics) - \"`yunexpress`\" (YunExpress) - \"`china post`\" (China Post) - \"`china ems`\" (China Post Express Mail Service) - \"`singapore post`\" (Singapore Post) - \"`pos malaysia`\" (Pos Malaysia) - \"`postnl`\" (PostNL) - \"`ptt`\" (PTT Turkish Post) - \"`eub`\" (ePacket) - \"`chukou1`\" (Chukou1 Logistics) - \"`bestex`\" (Best Express) - \"`canada post`\" (Canada Post) - \"`purolator`\" (Purolator) - \"`canpar`\" (Canpar) - \"`india post`\" (India Post) - \"`blue dart`\" (Blue Dart) - \"`delhivery`\" (Delhivery) - \"`dtdc`\" (DTDC) - \"`tpc india`\" (TPC India) - \"`lso`\" (Lone Star Overnight) - \"`tww`\" (Team Worldwide) - \"`deliver-it`\" (Deliver-IT) Supported carriers for FR are: - \"`la poste`\" (La Poste) *automatic status updates * - \"`colissimo`\" (Colissimo by La Poste) *automatic status updates* - \"`ups`\" (United Parcel Service) *automatic status updates * - \"`chronopost`\" (Chronopost by La Poste) - \"`gls`\" (General Logistics Systems France) - \"`dpd`\" (DPD Group by GeoPost) - \"`bpost`\" (Belgian Post Group) - \"`colis prive`\" (Colis Privé) - \"`boxtal`\" (Boxtal) - \"`geodis`\" (GEODIS) - \"`tnt`\" (TNT) - \"`db schenker`\" (DB Schenker) - \"`aramex`\" (Aramex) ", "type": "string" }, "creationDate": { @@ -13575,7 +13575,7 @@ "type": "object" }, "Promotion": { - "description": " The Promotions feature is publicly available for the US, CA, IN, UK, AU target countries (en language only) in Content API for Shopping. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)", + "description": " The Promotions feature is publicly available for the US, CA, IN, GB, AU target countries (en language only) in Content API for Shopping. Represents a promotion. See the following articles for more details. * [Promotions feed specification](https://support.google.com/merchants/answer/2906014) * [Local promotions feed specification](https://support.google.com/merchants/answer/10146130) * [Promotions on Buy on Google product data specification](https://support.google.com/merchants/answer/9173673)", "id": "Promotion", "properties": { "brand": { diff --git a/content/v2.1/content-gen.go b/content/v2.1/content-gen.go index 8f962d1cab2..7fa3dcd8bf1 100644 --- a/content/v2.1/content-gen.go +++ b/content/v2.1/content-gen.go @@ -8280,15 +8280,15 @@ type OrderShipment struct { // (Purolator) - "canpar" (Canpar) - "india post" (India Post) - // "blue dart" (Blue Dart) - "delhivery" (Delhivery) - "dtdc" // (DTDC) - "tpc india" (TPC India) - "lso" (Lone Star Overnight) - - // "tww" (Team Worldwide) Supported carriers for FR are: - "la - // poste" (La Poste) *automatic status updates * - "colissimo" - // (Colissimo by La Poste) *automatic status updates* - "ups" (United - // Parcel Service) *automatic status updates * - "chronopost" - // (Chronopost by La Poste) - "gls" (General Logistics Systems France) - // - "dpd" (DPD Group by GeoPost) - "bpost" (Belgian Post Group) - - // "colis prive" (Colis Privé) - "boxtal" (Boxtal) - "geodis" - // (GEODIS) - "tnt" (TNT) - "db schenker" (DB Schenker) - "aramex" - // (Aramex) + // "tww" (Team Worldwide) - "deliver-it" (Deliver-IT) Supported + // carriers for FR are: - "la poste" (La Poste) *automatic status + // updates * - "colissimo" (Colissimo by La Poste) *automatic status + // updates* - "ups" (United Parcel Service) *automatic status updates + // * - "chronopost" (Chronopost by La Poste) - "gls" (General + // Logistics Systems France) - "dpd" (DPD Group by GeoPost) - + // "bpost" (Belgian Post Group) - "colis prive" (Colis Privé) - + // "boxtal" (Boxtal) - "geodis" (GEODIS) - "tnt" (TNT) - "db + // schenker" (DB Schenker) - "aramex" (Aramex) Carrier string `json:"carrier,omitempty"` // CreationDate: Date on which the shipment has been created, in ISO @@ -13545,7 +13545,7 @@ func (s *ProductstatusesListResponse) MarshalJSON() ([]byte, error) { } // Promotion: The Promotions feature is publicly available for the US, -// CA, IN, UK, AU target countries (en language only) in Content API for +// CA, IN, GB, AU target countries (en language only) in Content API for // Shopping. Represents a promotion. See the following articles for more // details. * Promotions feed specification // (https://support.google.com/merchants/answer/2906014) * Local diff --git a/ondemandscanning/v1/ondemandscanning-api.json b/ondemandscanning/v1/ondemandscanning-api.json index d8fa0bd1d99..436bd3e7030 100644 --- a/ondemandscanning/v1/ondemandscanning-api.json +++ b/ondemandscanning/v1/ondemandscanning-api.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220513", + "revision": "20220522", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -1118,9 +1118,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaBuilder": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder": { "description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaBuilder", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder", "properties": { "id": { "type": "string" @@ -1128,9 +1128,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaCompleteness": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness": { "description": "Indicates that the builder claims certain fields in this message to be complete.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaCompleteness", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness", "properties": { "environment": { "type": "boolean" @@ -1144,9 +1144,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaConfigSource": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource": { "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaConfigSource", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource", "properties": { "digest": { "additionalProperties": { @@ -1163,12 +1163,12 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaInvocation": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation": { "description": "Identifies the event that kicked off the build.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaInvocation", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation", "properties": { "configSource": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaConfigSource" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource" }, "environment": { "additionalProperties": { @@ -1187,9 +1187,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaMaterial": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial": { "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaMaterial", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial", "properties": { "digest": { "additionalProperties": { @@ -1203,9 +1203,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaMetadata": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata": { "description": "Other properties of the build.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaMetadata", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata", "properties": { "buildFinishedOn": { "format": "google-datetime", @@ -1219,7 +1219,7 @@ "type": "string" }, "completeness": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaCompleteness" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness" }, "reproducible": { "type": "boolean" @@ -1328,8 +1328,8 @@ "slsaProvenance": { "$ref": "SlsaProvenance" }, - "slsaProvenance02": { - "$ref": "SlsaProvenance_0_2" + "slsaProvenanceZeroTwo": { + "$ref": "SlsaProvenanceZeroTwo" }, "subject": { "items": { @@ -2002,9 +2002,9 @@ }, "type": "object" }, - "SlsaProvenance_0_2": { + "SlsaProvenanceZeroTwo": { "description": "See full explanation of fields at slsa.dev/provenance/v0.2.", - "id": "SlsaProvenance_0_2", + "id": "SlsaProvenanceZeroTwo", "properties": { "buildConfig": { "additionalProperties": { @@ -2017,19 +2017,19 @@ "type": "string" }, "builder": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaBuilder" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder" }, "invocation": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaInvocation" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation" }, "materials": { "items": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaMaterial" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial" }, "type": "array" }, "metadata": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaMetadata" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata" } }, "type": "object" diff --git a/ondemandscanning/v1/ondemandscanning-gen.go b/ondemandscanning/v1/ondemandscanning-gen.go index 420e7e31a94..1b83a5cbac3 100644 --- a/ondemandscanning/v1/ondemandscanning-gen.go +++ b/ondemandscanning/v1/ondemandscanning-gen.go @@ -1365,10 +1365,10 @@ func (s *GrafeasV1FileLocation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaBuilder: Identifies the entity that +// GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder: Identifies the entity that // executed the recipe, which is trusted to have correctly performed the // operation and populated this provenance. -type GrafeasV1SlsaProvenance02SlsaBuilder struct { +type GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder struct { Id string `json:"id,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to @@ -1388,15 +1388,15 @@ type GrafeasV1SlsaProvenance02SlsaBuilder struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaBuilder) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaBuilder +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaCompleteness: Indicates that the builder -// claims certain fields in this message to be complete. -type GrafeasV1SlsaProvenance02SlsaCompleteness struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness: Indicates that the +// builder claims certain fields in this message to be complete. +type GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness struct { Environment bool `json:"environment,omitempty"` Materials bool `json:"materials,omitempty"` @@ -1420,16 +1420,16 @@ type GrafeasV1SlsaProvenance02SlsaCompleteness struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaCompleteness) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaCompleteness +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaConfigSource: Describes where the config -// file that kicked off the build came from. This is effectively a -// pointer to the source where buildConfig came from. -type GrafeasV1SlsaProvenance02SlsaConfigSource struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource: Describes where the +// config file that kicked off the build came from. This is effectively +// a pointer to the source where buildConfig came from. +type GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource struct { Digest map[string]string `json:"digest,omitempty"` EntryPoint string `json:"entryPoint,omitempty"` @@ -1453,16 +1453,16 @@ type GrafeasV1SlsaProvenance02SlsaConfigSource struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaConfigSource) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaConfigSource +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaInvocation: Identifies the event that -// kicked off the build. -type GrafeasV1SlsaProvenance02SlsaInvocation struct { - ConfigSource *GrafeasV1SlsaProvenance02SlsaConfigSource `json:"configSource,omitempty"` +// GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation: Identifies the event +// that kicked off the build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation struct { + ConfigSource *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource `json:"configSource,omitempty"` Environment googleapi.RawMessage `json:"environment,omitempty"` @@ -1485,16 +1485,16 @@ type GrafeasV1SlsaProvenance02SlsaInvocation struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaInvocation) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaInvocation +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaMaterial: The collection of artifacts -// that influenced the build including sources, dependencies, build -// tools, base images, and so on. -type GrafeasV1SlsaProvenance02SlsaMaterial struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial: The collection of +// artifacts that influenced the build including sources, dependencies, +// build tools, base images, and so on. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial struct { Digest map[string]string `json:"digest,omitempty"` Uri string `json:"uri,omitempty"` @@ -1516,21 +1516,22 @@ type GrafeasV1SlsaProvenance02SlsaMaterial struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaMaterial) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaMaterial +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaMetadata: Other properties of the build. -type GrafeasV1SlsaProvenance02SlsaMetadata struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata: Other properties of the +// build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata struct { BuildFinishedOn string `json:"buildFinishedOn,omitempty"` BuildInvocationId string `json:"buildInvocationId,omitempty"` BuildStartedOn string `json:"buildStartedOn,omitempty"` - Completeness *GrafeasV1SlsaProvenance02SlsaCompleteness `json:"completeness,omitempty"` + Completeness *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness `json:"completeness,omitempty"` Reproducible bool `json:"reproducible,omitempty"` @@ -1552,8 +1553,8 @@ type GrafeasV1SlsaProvenance02SlsaMetadata struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaMetadata +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -1721,7 +1722,7 @@ type InTotoStatement struct { SlsaProvenance *SlsaProvenance `json:"slsaProvenance,omitempty"` - SlsaProvenance02 *SlsaProvenance02 `json:"slsaProvenance02,omitempty"` + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `json:"slsaProvenanceZeroTwo,omitempty"` Subject []*Subject `json:"subject,omitempty"` @@ -2817,20 +2818,20 @@ func (s *SlsaProvenance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SlsaProvenance02: See full explanation of fields at +// SlsaProvenanceZeroTwo: See full explanation of fields at // slsa.dev/provenance/v0.2. -type SlsaProvenance02 struct { +type SlsaProvenanceZeroTwo struct { BuildConfig googleapi.RawMessage `json:"buildConfig,omitempty"` BuildType string `json:"buildType,omitempty"` - Builder *GrafeasV1SlsaProvenance02SlsaBuilder `json:"builder,omitempty"` + Builder *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder `json:"builder,omitempty"` - Invocation *GrafeasV1SlsaProvenance02SlsaInvocation `json:"invocation,omitempty"` + Invocation *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation `json:"invocation,omitempty"` - Materials []*GrafeasV1SlsaProvenance02SlsaMaterial `json:"materials,omitempty"` + Materials []*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial `json:"materials,omitempty"` - Metadata *GrafeasV1SlsaProvenance02SlsaMetadata `json:"metadata,omitempty"` + Metadata *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata `json:"metadata,omitempty"` // ForceSendFields is a list of field names (e.g. "BuildConfig") to // unconditionally include in API requests. By default, fields with @@ -2849,8 +2850,8 @@ type SlsaProvenance02 struct { NullFields []string `json:"-"` } -func (s *SlsaProvenance02) MarshalJSON() ([]byte, error) { - type NoMethod SlsaProvenance02 +func (s *SlsaProvenanceZeroTwo) MarshalJSON() ([]byte, error) { + type NoMethod SlsaProvenanceZeroTwo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } diff --git a/ondemandscanning/v1beta1/ondemandscanning-api.json b/ondemandscanning/v1beta1/ondemandscanning-api.json index 2a60befa82b..9682a36e338 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-api.json +++ b/ondemandscanning/v1beta1/ondemandscanning-api.json @@ -339,7 +339,7 @@ } } }, - "revision": "20220513", + "revision": "20220522", "rootUrl": "https://ondemandscanning.googleapis.com/", "schemas": { "AliasContext": { @@ -1114,9 +1114,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaBuilder": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder": { "description": "Identifies the entity that executed the recipe, which is trusted to have correctly performed the operation and populated this provenance.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaBuilder", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder", "properties": { "id": { "type": "string" @@ -1124,9 +1124,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaCompleteness": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness": { "description": "Indicates that the builder claims certain fields in this message to be complete.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaCompleteness", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness", "properties": { "environment": { "type": "boolean" @@ -1140,9 +1140,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaConfigSource": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource": { "description": "Describes where the config file that kicked off the build came from. This is effectively a pointer to the source where buildConfig came from.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaConfigSource", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource", "properties": { "digest": { "additionalProperties": { @@ -1159,12 +1159,12 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaInvocation": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation": { "description": "Identifies the event that kicked off the build.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaInvocation", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation", "properties": { "configSource": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaConfigSource" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource" }, "environment": { "additionalProperties": { @@ -1183,9 +1183,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaMaterial": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial": { "description": "The collection of artifacts that influenced the build including sources, dependencies, build tools, base images, and so on.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaMaterial", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial", "properties": { "digest": { "additionalProperties": { @@ -1199,9 +1199,9 @@ }, "type": "object" }, - "GrafeasV1SlsaProvenance_0_2SlsaMetadata": { + "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata": { "description": "Other properties of the build.", - "id": "GrafeasV1SlsaProvenance_0_2SlsaMetadata", + "id": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata", "properties": { "buildFinishedOn": { "format": "google-datetime", @@ -1215,7 +1215,7 @@ "type": "string" }, "completeness": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaCompleteness" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness" }, "reproducible": { "type": "boolean" @@ -1324,8 +1324,8 @@ "slsaProvenance": { "$ref": "SlsaProvenance" }, - "slsaProvenance02": { - "$ref": "SlsaProvenance_0_2" + "slsaProvenanceZeroTwo": { + "$ref": "SlsaProvenanceZeroTwo" }, "subject": { "items": { @@ -1998,9 +1998,9 @@ }, "type": "object" }, - "SlsaProvenance_0_2": { + "SlsaProvenanceZeroTwo": { "description": "See full explanation of fields at slsa.dev/provenance/v0.2.", - "id": "SlsaProvenance_0_2", + "id": "SlsaProvenanceZeroTwo", "properties": { "buildConfig": { "additionalProperties": { @@ -2013,19 +2013,19 @@ "type": "string" }, "builder": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaBuilder" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder" }, "invocation": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaInvocation" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation" }, "materials": { "items": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaMaterial" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial" }, "type": "array" }, "metadata": { - "$ref": "GrafeasV1SlsaProvenance_0_2SlsaMetadata" + "$ref": "GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata" } }, "type": "object" diff --git a/ondemandscanning/v1beta1/ondemandscanning-gen.go b/ondemandscanning/v1beta1/ondemandscanning-gen.go index 08d64dfef54..b2089c4ac50 100644 --- a/ondemandscanning/v1beta1/ondemandscanning-gen.go +++ b/ondemandscanning/v1beta1/ondemandscanning-gen.go @@ -1359,10 +1359,10 @@ func (s *GrafeasV1FileLocation) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaBuilder: Identifies the entity that +// GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder: Identifies the entity that // executed the recipe, which is trusted to have correctly performed the // operation and populated this provenance. -type GrafeasV1SlsaProvenance02SlsaBuilder struct { +type GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder struct { Id string `json:"id,omitempty"` // ForceSendFields is a list of field names (e.g. "Id") to @@ -1382,15 +1382,15 @@ type GrafeasV1SlsaProvenance02SlsaBuilder struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaBuilder) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaBuilder +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaCompleteness: Indicates that the builder -// claims certain fields in this message to be complete. -type GrafeasV1SlsaProvenance02SlsaCompleteness struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness: Indicates that the +// builder claims certain fields in this message to be complete. +type GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness struct { Environment bool `json:"environment,omitempty"` Materials bool `json:"materials,omitempty"` @@ -1414,16 +1414,16 @@ type GrafeasV1SlsaProvenance02SlsaCompleteness struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaCompleteness) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaCompleteness +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaConfigSource: Describes where the config -// file that kicked off the build came from. This is effectively a -// pointer to the source where buildConfig came from. -type GrafeasV1SlsaProvenance02SlsaConfigSource struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource: Describes where the +// config file that kicked off the build came from. This is effectively +// a pointer to the source where buildConfig came from. +type GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource struct { Digest map[string]string `json:"digest,omitempty"` EntryPoint string `json:"entryPoint,omitempty"` @@ -1447,16 +1447,16 @@ type GrafeasV1SlsaProvenance02SlsaConfigSource struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaConfigSource) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaConfigSource +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaInvocation: Identifies the event that -// kicked off the build. -type GrafeasV1SlsaProvenance02SlsaInvocation struct { - ConfigSource *GrafeasV1SlsaProvenance02SlsaConfigSource `json:"configSource,omitempty"` +// GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation: Identifies the event +// that kicked off the build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation struct { + ConfigSource *GrafeasV1SlsaProvenanceZeroTwoSlsaConfigSource `json:"configSource,omitempty"` Environment googleapi.RawMessage `json:"environment,omitempty"` @@ -1479,16 +1479,16 @@ type GrafeasV1SlsaProvenance02SlsaInvocation struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaInvocation) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaInvocation +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaMaterial: The collection of artifacts -// that influenced the build including sources, dependencies, build -// tools, base images, and so on. -type GrafeasV1SlsaProvenance02SlsaMaterial struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial: The collection of +// artifacts that influenced the build including sources, dependencies, +// build tools, base images, and so on. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial struct { Digest map[string]string `json:"digest,omitempty"` Uri string `json:"uri,omitempty"` @@ -1510,21 +1510,22 @@ type GrafeasV1SlsaProvenance02SlsaMaterial struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaMaterial) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaMaterial +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// GrafeasV1SlsaProvenance02SlsaMetadata: Other properties of the build. -type GrafeasV1SlsaProvenance02SlsaMetadata struct { +// GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata: Other properties of the +// build. +type GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata struct { BuildFinishedOn string `json:"buildFinishedOn,omitempty"` BuildInvocationId string `json:"buildInvocationId,omitempty"` BuildStartedOn string `json:"buildStartedOn,omitempty"` - Completeness *GrafeasV1SlsaProvenance02SlsaCompleteness `json:"completeness,omitempty"` + Completeness *GrafeasV1SlsaProvenanceZeroTwoSlsaCompleteness `json:"completeness,omitempty"` Reproducible bool `json:"reproducible,omitempty"` @@ -1546,8 +1547,8 @@ type GrafeasV1SlsaProvenance02SlsaMetadata struct { NullFields []string `json:"-"` } -func (s *GrafeasV1SlsaProvenance02SlsaMetadata) MarshalJSON() ([]byte, error) { - type NoMethod GrafeasV1SlsaProvenance02SlsaMetadata +func (s *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata) MarshalJSON() ([]byte, error) { + type NoMethod GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } @@ -1715,7 +1716,7 @@ type InTotoStatement struct { SlsaProvenance *SlsaProvenance `json:"slsaProvenance,omitempty"` - SlsaProvenance02 *SlsaProvenance02 `json:"slsaProvenance02,omitempty"` + SlsaProvenanceZeroTwo *SlsaProvenanceZeroTwo `json:"slsaProvenanceZeroTwo,omitempty"` Subject []*Subject `json:"subject,omitempty"` @@ -2811,20 +2812,20 @@ func (s *SlsaProvenance) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } -// SlsaProvenance02: See full explanation of fields at +// SlsaProvenanceZeroTwo: See full explanation of fields at // slsa.dev/provenance/v0.2. -type SlsaProvenance02 struct { +type SlsaProvenanceZeroTwo struct { BuildConfig googleapi.RawMessage `json:"buildConfig,omitempty"` BuildType string `json:"buildType,omitempty"` - Builder *GrafeasV1SlsaProvenance02SlsaBuilder `json:"builder,omitempty"` + Builder *GrafeasV1SlsaProvenanceZeroTwoSlsaBuilder `json:"builder,omitempty"` - Invocation *GrafeasV1SlsaProvenance02SlsaInvocation `json:"invocation,omitempty"` + Invocation *GrafeasV1SlsaProvenanceZeroTwoSlsaInvocation `json:"invocation,omitempty"` - Materials []*GrafeasV1SlsaProvenance02SlsaMaterial `json:"materials,omitempty"` + Materials []*GrafeasV1SlsaProvenanceZeroTwoSlsaMaterial `json:"materials,omitempty"` - Metadata *GrafeasV1SlsaProvenance02SlsaMetadata `json:"metadata,omitempty"` + Metadata *GrafeasV1SlsaProvenanceZeroTwoSlsaMetadata `json:"metadata,omitempty"` // ForceSendFields is a list of field names (e.g. "BuildConfig") to // unconditionally include in API requests. By default, fields with @@ -2843,8 +2844,8 @@ type SlsaProvenance02 struct { NullFields []string `json:"-"` } -func (s *SlsaProvenance02) MarshalJSON() ([]byte, error) { - type NoMethod SlsaProvenance02 +func (s *SlsaProvenanceZeroTwo) MarshalJSON() ([]byte, error) { + type NoMethod SlsaProvenanceZeroTwo raw := NoMethod(*s) return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } diff --git a/recaptchaenterprise/v1/recaptchaenterprise-api.json b/recaptchaenterprise/v1/recaptchaenterprise-api.json index 2ecb21f0242..52e05c0eb96 100644 --- a/recaptchaenterprise/v1/recaptchaenterprise-api.json +++ b/recaptchaenterprise/v1/recaptchaenterprise-api.json @@ -489,7 +489,7 @@ } } }, - "revision": "20220513", + "revision": "20220522", "rootUrl": "https://recaptchaenterprise.googleapis.com/", "schemas": { "GoogleCloudRecaptchaenterpriseV1AccountDefenderAssessment": { @@ -622,6 +622,10 @@ "readOnly": true, "type": "string" }, + "privatePasswordLeakVerification": { + "$ref": "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification", + "description": "The private password leak verification field contains the parameters used to check for leaks privately without sharing user credentials." + }, "riskAnalysis": { "$ref": "GoogleCloudRecaptchaenterpriseV1RiskAnalysis", "description": "Output only. The risk analysis result for the event being assessed.", @@ -849,6 +853,38 @@ "properties": {}, "type": "object" }, + "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification": { + "description": "Private password leak verification info.", + "id": "GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification", + "properties": { + "encryptedLeakMatchPrefixes": { + "description": "Output only. List of prefixes of the encrypted potential password leaks that matched the given parameters. They should be compared with the client-side decryption prefix of `reencrypted_user_credentials_hash`", + "items": { + "format": "byte", + "type": "string" + }, + "readOnly": true, + "type": "array" + }, + "encryptedUserCredentialsHash": { + "description": "Optional. Encrypted Scrypt hash of the canonicalized username+password. It is re-encrypted by the server and returned through `reencrypted_user_credentials_hash`.", + "format": "byte", + "type": "string" + }, + "lookupHashPrefix": { + "description": "Optional. Exactly 26-bit prefix of the SHA-256 hash of the canonicalized username. It is used to look up password leaks associated with that hash prefix.", + "format": "byte", + "type": "string" + }, + "reencryptedUserCredentialsHash": { + "description": "Output only. Corresponds to the re-encryption of the `encrypted_user_credentials_hash` field. Used to match potential password leaks within `encrypted_leak_match_prefixes`.", + "format": "byte", + "readOnly": true, + "type": "string" + } + }, + "type": "object" + }, "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup": { "description": "A group of related accounts.", "id": "GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup", diff --git a/recaptchaenterprise/v1/recaptchaenterprise-gen.go b/recaptchaenterprise/v1/recaptchaenterprise-gen.go index 41df774aadf..e08209a7445 100644 --- a/recaptchaenterprise/v1/recaptchaenterprise-gen.go +++ b/recaptchaenterprise/v1/recaptchaenterprise-gen.go @@ -396,6 +396,11 @@ type GoogleCloudRecaptchaenterpriseV1Assessment struct { // "projects/{project}/assessments/{assessment}". Name string `json:"name,omitempty"` + // PrivatePasswordLeakVerification: The private password leak + // verification field contains the parameters used to check for leaks + // privately without sharing user credentials. + PrivatePasswordLeakVerification *GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification `json:"privatePasswordLeakVerification,omitempty"` + // RiskAnalysis: Output only. The risk analysis result for the event // being assessed. RiskAnalysis *GoogleCloudRecaptchaenterpriseV1RiskAnalysis `json:"riskAnalysis,omitempty"` @@ -790,6 +795,56 @@ func (s *GoogleCloudRecaptchaenterpriseV1Metrics) MarshalJSON() ([]byte, error) type GoogleCloudRecaptchaenterpriseV1MigrateKeyRequest struct { } +// GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification: +// Private password leak verification info. +type GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification struct { + // EncryptedLeakMatchPrefixes: Output only. List of prefixes of the + // encrypted potential password leaks that matched the given parameters. + // They should be compared with the client-side decryption prefix of + // `reencrypted_user_credentials_hash` + EncryptedLeakMatchPrefixes []string `json:"encryptedLeakMatchPrefixes,omitempty"` + + // EncryptedUserCredentialsHash: Optional. Encrypted Scrypt hash of the + // canonicalized username+password. It is re-encrypted by the server and + // returned through `reencrypted_user_credentials_hash`. + EncryptedUserCredentialsHash string `json:"encryptedUserCredentialsHash,omitempty"` + + // LookupHashPrefix: Optional. Exactly 26-bit prefix of the SHA-256 hash + // of the canonicalized username. It is used to look up password leaks + // associated with that hash prefix. + LookupHashPrefix string `json:"lookupHashPrefix,omitempty"` + + // ReencryptedUserCredentialsHash: Output only. Corresponds to the + // re-encryption of the `encrypted_user_credentials_hash` field. Used to + // match potential password leaks within + // `encrypted_leak_match_prefixes`. + ReencryptedUserCredentialsHash string `json:"reencryptedUserCredentialsHash,omitempty"` + + // ForceSendFields is a list of field names (e.g. + // "EncryptedLeakMatchPrefixes") to unconditionally include in API + // requests. By default, fields with empty or default values are omitted + // from API requests. However, any non-pointer, non-interface field + // appearing in ForceSendFields will be sent to the server regardless of + // whether the field is empty or not. This may be used to include empty + // fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. + // "EncryptedLeakMatchPrefixes") to include in API requests with the + // JSON null value. By default, fields with empty values are omitted + // from API requests. However, any field with an empty value appearing + // in NullFields will be sent to the server as null. It is an error if a + // field in this list has a non-empty value. This may be used to include + // null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification) MarshalJSON() ([]byte, error) { + type NoMethod GoogleCloudRecaptchaenterpriseV1PrivatePasswordLeakVerification + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup: A group of // related accounts. type GoogleCloudRecaptchaenterpriseV1RelatedAccountGroup struct { diff --git a/retail/v2/retail-api.json b/retail/v2/retail-api.json index 8cc24b2da32..3c13b4eec86 100644 --- a/retail/v2/retail-api.json +++ b/retail/v2/retail-api.json @@ -1133,7 +1133,7 @@ } } }, - "revision": "20220512", + "revision": "20220519", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2776,7 +2776,7 @@ "type": "string" }, "restrictedValues": { - "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on textual fields and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", + "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", "items": { "type": "string" }, diff --git a/retail/v2/retail-gen.go b/retail/v2/retail-gen.go index cf615d6fa68..d7b93edbb68 100644 --- a/retail/v2/retail-gen.go +++ b/retail/v2/retail-gen.go @@ -3645,11 +3645,12 @@ type GoogleCloudRetailV2SearchRequestFacetSpecFacetKey struct { // RestrictedValues: Only get facet for the given restricted values. For // example, when using "pickupInStore" as key and set restricted values // to ["store123", "store456"], only facets for "store123" and - // "store456" are returned. Only supported on textual fields and - // fulfillments. Maximum is 20. Must be set for the fulfillment facet - // keys: * pickupInStore * shipToStore * sameDayDelivery * - // nextDayDelivery * customFulfillment1 * customFulfillment2 * - // customFulfillment3 * customFulfillment4 * customFulfillment5 + // "store456" are returned. Only supported on predefined textual fields, + // custom textual attributes and fulfillments. Maximum is 20. Must be + // set for the fulfillment facet keys: * pickupInStore * shipToStore * + // sameDayDelivery * nextDayDelivery * customFulfillment1 * + // customFulfillment2 * customFulfillment3 * customFulfillment4 * + // customFulfillment5 RestrictedValues []string `json:"restrictedValues,omitempty"` // ForceSendFields is a list of field names (e.g. "Contains") to diff --git a/retail/v2alpha/retail-api.json b/retail/v2alpha/retail-api.json index 5739a9eeb62..858fd2f9440 100644 --- a/retail/v2alpha/retail-api.json +++ b/retail/v2alpha/retail-api.json @@ -351,7 +351,7 @@ ], "parameters": { "name": { - "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", "required": true, @@ -385,7 +385,7 @@ ], "parameters": { "name": { - "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", "required": true, @@ -1747,7 +1747,7 @@ } } }, - "revision": "20220512", + "revision": "20220519", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2241,7 +2241,7 @@ "type": "object" }, "name": { - "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", "type": "string" } }, @@ -2518,7 +2518,7 @@ "type": "integer" }, "name": { - "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", "type": "string" }, "suggestionsInputConfig": { @@ -4353,7 +4353,7 @@ "type": "string" }, "restrictedValues": { - "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on textual fields and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", + "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", "items": { "type": "string" }, diff --git a/retail/v2alpha/retail-gen.go b/retail/v2alpha/retail-gen.go index c43f7af3d89..ddb94a2c23f 100644 --- a/retail/v2alpha/retail-gen.go +++ b/retail/v2alpha/retail-gen.go @@ -1203,7 +1203,7 @@ type GoogleCloudRetailV2alphaAttributesConfig struct { // Name: Required. Immutable. The fully qualified resource name of the // attribute config. Format: - // "projects/*/locations/*/catalogs/*/attributesConfig" + // `projects/*/locations/*/catalogs/*/attributesConfig` Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -1724,7 +1724,7 @@ type GoogleCloudRetailV2alphaCompletionConfig struct { MinPrefixLength int64 `json:"minPrefixLength,omitempty"` // Name: Required. Immutable. Fully qualified name - // projects/*/locations/*/catalogs/*/completionConfig + // `projects/*/locations/*/catalogs/*/completionConfig` Name string `json:"name,omitempty"` // SuggestionsInputConfig: Output only. The input config for the import @@ -5486,11 +5486,12 @@ type GoogleCloudRetailV2alphaSearchRequestFacetSpecFacetKey struct { // RestrictedValues: Only get facet for the given restricted values. For // example, when using "pickupInStore" as key and set restricted values // to ["store123", "store456"], only facets for "store123" and - // "store456" are returned. Only supported on textual fields and - // fulfillments. Maximum is 20. Must be set for the fulfillment facet - // keys: * pickupInStore * shipToStore * sameDayDelivery * - // nextDayDelivery * customFulfillment1 * customFulfillment2 * - // customFulfillment3 * customFulfillment4 * customFulfillment5 + // "store456" are returned. Only supported on predefined textual fields, + // custom textual attributes and fulfillments. Maximum is 20. Must be + // set for the fulfillment facet keys: * pickupInStore * shipToStore * + // sameDayDelivery * nextDayDelivery * customFulfillment1 * + // customFulfillment2 * customFulfillment3 * customFulfillment4 * + // customFulfillment5 RestrictedValues []string `json:"restrictedValues,omitempty"` // ForceSendFields is a list of field names (e.g. "Contains") to @@ -8509,7 +8510,7 @@ type ProjectsLocationsCatalogsUpdateAttributesConfigCall struct { // // - name: Immutable. The fully qualified resource name of the attribute // config. Format: -// "projects/*/locations/*/catalogs/*/attributesConfig". +// `projects/*/locations/*/catalogs/*/attributesConfig`. func (r *ProjectsLocationsCatalogsService) UpdateAttributesConfig(name string, googlecloudretailv2alphaattributesconfig *GoogleCloudRetailV2alphaAttributesConfig) *ProjectsLocationsCatalogsUpdateAttributesConfigCall { c := &ProjectsLocationsCatalogsUpdateAttributesConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -8628,7 +8629,7 @@ func (c *ProjectsLocationsCatalogsUpdateAttributesConfigCall) Do(opts ...googlea // ], // "parameters": { // "name": { - // "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + // "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", // "required": true, @@ -8669,7 +8670,7 @@ type ProjectsLocationsCatalogsUpdateCompletionConfigCall struct { // UpdateCompletionConfig: Updates the CompletionConfigs. // // - name: Immutable. Fully qualified name -// projects/*/locations/*/catalogs/*/completionConfig. +// `projects/*/locations/*/catalogs/*/completionConfig`. func (r *ProjectsLocationsCatalogsService) UpdateCompletionConfig(name string, googlecloudretailv2alphacompletionconfig *GoogleCloudRetailV2alphaCompletionConfig) *ProjectsLocationsCatalogsUpdateCompletionConfigCall { c := &ProjectsLocationsCatalogsUpdateCompletionConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -8790,7 +8791,7 @@ func (c *ProjectsLocationsCatalogsUpdateCompletionConfigCall) Do(opts ...googlea // ], // "parameters": { // "name": { - // "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + // "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", // "required": true, diff --git a/retail/v2beta/retail-api.json b/retail/v2beta/retail-api.json index 73d60b0c349..6ba82bb04df 100644 --- a/retail/v2beta/retail-api.json +++ b/retail/v2beta/retail-api.json @@ -351,7 +351,7 @@ ], "parameters": { "name": { - "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", "required": true, @@ -385,7 +385,7 @@ ], "parameters": { "name": { - "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", "required": true, @@ -1714,7 +1714,7 @@ } } }, - "revision": "20220512", + "revision": "20220519", "rootUrl": "https://retail.googleapis.com/", "schemas": { "GoogleApiHttpBody": { @@ -2531,7 +2531,7 @@ "type": "object" }, "name": { - "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", "type": "string" } }, @@ -2808,7 +2808,7 @@ "type": "integer" }, "name": { - "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", "type": "string" }, "suggestionsInputConfig": { @@ -4555,7 +4555,7 @@ "type": "string" }, "restrictedValues": { - "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on textual fields and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", + "description": "Only get facet for the given restricted values. For example, when using \"pickupInStore\" as key and set restricted values to [\"store123\", \"store456\"], only facets for \"store123\" and \"store456\" are returned. Only supported on predefined textual fields, custom textual attributes and fulfillments. Maximum is 20. Must be set for the fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery * nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3 * customFulfillment4 * customFulfillment5", "items": { "type": "string" }, diff --git a/retail/v2beta/retail-gen.go b/retail/v2beta/retail-gen.go index e7b231e9dcb..244f561a0f0 100644 --- a/retail/v2beta/retail-gen.go +++ b/retail/v2beta/retail-gen.go @@ -1791,7 +1791,7 @@ type GoogleCloudRetailV2betaAttributesConfig struct { // Name: Required. Immutable. The fully qualified resource name of the // attribute config. Format: - // "projects/*/locations/*/catalogs/*/attributesConfig" + // `projects/*/locations/*/catalogs/*/attributesConfig` Name string `json:"name,omitempty"` // ServerResponse contains the HTTP response code and headers from the @@ -2311,7 +2311,7 @@ type GoogleCloudRetailV2betaCompletionConfig struct { MinPrefixLength int64 `json:"minPrefixLength,omitempty"` // Name: Required. Immutable. Fully qualified name - // projects/*/locations/*/catalogs/*/completionConfig + // `projects/*/locations/*/catalogs/*/completionConfig` Name string `json:"name,omitempty"` // SuggestionsInputConfig: Output only. The input config for the import @@ -5915,11 +5915,12 @@ type GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey struct { // RestrictedValues: Only get facet for the given restricted values. For // example, when using "pickupInStore" as key and set restricted values // to ["store123", "store456"], only facets for "store123" and - // "store456" are returned. Only supported on textual fields and - // fulfillments. Maximum is 20. Must be set for the fulfillment facet - // keys: * pickupInStore * shipToStore * sameDayDelivery * - // nextDayDelivery * customFulfillment1 * customFulfillment2 * - // customFulfillment3 * customFulfillment4 * customFulfillment5 + // "store456" are returned. Only supported on predefined textual fields, + // custom textual attributes and fulfillments. Maximum is 20. Must be + // set for the fulfillment facet keys: * pickupInStore * shipToStore * + // sameDayDelivery * nextDayDelivery * customFulfillment1 * + // customFulfillment2 * customFulfillment3 * customFulfillment4 * + // customFulfillment5 RestrictedValues []string `json:"restrictedValues,omitempty"` // ForceSendFields is a list of field names (e.g. "Contains") to @@ -8425,7 +8426,7 @@ type ProjectsLocationsCatalogsUpdateAttributesConfigCall struct { // // - name: Immutable. The fully qualified resource name of the attribute // config. Format: -// "projects/*/locations/*/catalogs/*/attributesConfig". +// `projects/*/locations/*/catalogs/*/attributesConfig`. func (r *ProjectsLocationsCatalogsService) UpdateAttributesConfig(name string, googlecloudretailv2betaattributesconfig *GoogleCloudRetailV2betaAttributesConfig) *ProjectsLocationsCatalogsUpdateAttributesConfigCall { c := &ProjectsLocationsCatalogsUpdateAttributesConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -8543,7 +8544,7 @@ func (c *ProjectsLocationsCatalogsUpdateAttributesConfigCall) Do(opts ...googlea // ], // "parameters": { // "name": { - // "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: \"projects/*/locations/*/catalogs/*/attributesConfig\"", + // "description": "Required. Immutable. The fully qualified resource name of the attribute config. Format: `projects/*/locations/*/catalogs/*/attributesConfig`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/attributesConfig$", // "required": true, @@ -8584,7 +8585,7 @@ type ProjectsLocationsCatalogsUpdateCompletionConfigCall struct { // UpdateCompletionConfig: Updates the CompletionConfigs. // // - name: Immutable. Fully qualified name -// projects/*/locations/*/catalogs/*/completionConfig. +// `projects/*/locations/*/catalogs/*/completionConfig`. func (r *ProjectsLocationsCatalogsService) UpdateCompletionConfig(name string, googlecloudretailv2betacompletionconfig *GoogleCloudRetailV2betaCompletionConfig) *ProjectsLocationsCatalogsUpdateCompletionConfigCall { c := &ProjectsLocationsCatalogsUpdateCompletionConfigCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.name = name @@ -8704,7 +8705,7 @@ func (c *ProjectsLocationsCatalogsUpdateCompletionConfigCall) Do(opts ...googlea // ], // "parameters": { // "name": { - // "description": "Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/completionConfig", + // "description": "Required. Immutable. Fully qualified name `projects/*/locations/*/catalogs/*/completionConfig`", // "location": "path", // "pattern": "^projects/[^/]+/locations/[^/]+/catalogs/[^/]+/completionConfig$", // "required": true, diff --git a/securitycenter/v1/securitycenter-api.json b/securitycenter/v1/securitycenter-api.json index 92732bf412f..8d4d1f201c7 100644 --- a/securitycenter/v1/securitycenter-api.json +++ b/securitycenter/v1/securitycenter-api.json @@ -1489,7 +1489,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the new notification config's parent. Its format is \"organizations/[organization_id]\".", + "description": "Required. Resource name of the new notification config's parent. Its format is \"organizations/[organization_id]\" or \"projects/[project_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -1578,7 +1578,7 @@ "type": "string" }, "parent": { - "description": "Required. Name of the organization to list notification configs. Its format is \"organizations/[organization_id]\".", + "description": "Required. Name of the organization to list notification configs. Its format is \"organizations/[organization_id]\" or \"projects/[project_id]\".", "location": "path", "pattern": "^organizations/[^/]+$", "required": true, @@ -3058,7 +3058,7 @@ } } }, - "revision": "20220506", + "revision": "20220520", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -3256,6 +3256,28 @@ }, "type": "object" }, + "Compliance": { + "description": "Contains compliance information about a security standard indicating unmet recommendations.", + "id": "Compliance", + "properties": { + "ids": { + "description": "e.g. A.12.4.1", + "items": { + "type": "string" + }, + "type": "array" + }, + "standard": { + "description": "e.g. \"cis\", \"pci\", \"owasp\", etc.", + "type": "string" + }, + "version": { + "description": "e.g. 1.1", + "type": "string" + } + }, + "type": "object" + }, "Connection": { "description": "Contains information about the IP connection associated with the finding.", "id": "Connection", @@ -3301,6 +3323,31 @@ }, "type": "object" }, + "Contact": { + "description": "Representa a single contact's email address", + "id": "Contact", + "properties": { + "email": { + "description": "An email address e.g. \"person123@company.com\"", + "type": "string" + } + }, + "type": "object" + }, + "ContactDetails": { + "description": "The details pertaining to specific contacts", + "id": "ContactDetails", + "properties": { + "contacts": { + "description": "A list of contacts", + "items": { + "$ref": "Contact" + }, + "type": "array" + } + }, + "type": "object" + }, "Cve": { "description": "CVE stands for Common Vulnerabilities and Exposures. More information: https://cve.mitre.org", "id": "Cve", @@ -3469,6 +3516,60 @@ "properties": {}, "type": "object" }, + "EnvironmentVariable": { + "description": "EnvironmentVariable is a name-value pair to store env variables for Process.", + "id": "EnvironmentVariable", + "properties": { + "name": { + "description": "Environment variable name as a JSON encoded string.", + "type": "string" + }, + "val": { + "description": "Environment variable value as a JSON encoded string.", + "type": "string" + } + }, + "type": "object" + }, + "ExfilResource": { + "description": "Resource that has been exfiltrated or exfiltrated_to.", + "id": "ExfilResource", + "properties": { + "components": { + "description": "Subcomponents of the asset that is exfiltrated - these could be URIs used during exfiltration, table names, databases, filenames, etc. For example, multiple tables may be exfiltrated from the same CloudSQL instance, or multiple files from the same Cloud Storage bucket.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Resource’s URI (https://google.aip.dev/122#full-resource-names)", + "type": "string" + } + }, + "type": "object" + }, + "Exfiltration": { + "description": "Exfiltration represents a data exfiltration attempt of one or more source(s) to one or more target(s). Source(s) represent the source of data that is exfiltrated, and Target(s) represents the destination the data was copied to.", + "id": "Exfiltration", + "properties": { + "sources": { + "description": "If there are multiple sources, then the data is considered “joined” between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + }, + "targets": { + "description": "If there are multiple targets, each target would get a complete copy of the “joined” source data.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -3492,6 +3593,39 @@ }, "type": "object" }, + "File": { + "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", + "id": "File", + "properties": { + "contents": { + "description": "Prefix of the file contents as a JSON encoded string. (Currently only populated for Malicious Script Executed findings.)", + "type": "string" + }, + "hashedSize": { + "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", + "format": "int64", + "type": "string" + }, + "partiallyHashed": { + "description": "True when the hash covers only a prefix of the file.", + "type": "boolean" + }, + "path": { + "description": "Absolute path of the file as a JSON encoded string.", + "type": "string" + }, + "sha256": { + "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, hash_sha256 represents the SHA256 hash of the entire file.", + "type": "string" + }, + "size": { + "description": "Size of the file in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Finding": { "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", @@ -3508,6 +3642,13 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "compliances": { + "description": "Contains compliance information for security standards associated to the finding.", + "items": { + "$ref": "Compliance" + }, + "type": "array" + }, "connections": { "description": "Contains information about the IP connection associated with the finding.", "items": { @@ -3515,6 +3656,14 @@ }, "type": "array" }, + "contacts": { + "additionalProperties": { + "$ref": "ContactDetails" + }, + "description": "Output only. Map containing the point of contacts for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { “security”: {contact: {email: “person1@company.com”} contact: {email: “person2@company.com”} }", + "readOnly": true, + "type": "object" + }, "createTime": { "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", @@ -3529,6 +3678,10 @@ "format": "google-datetime", "type": "string" }, + "exfiltration": { + "$ref": "Exfiltration", + "description": "Represents exfiltrations associated with the Finding." + }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" @@ -3614,6 +3767,13 @@ "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, + "processes": { + "description": "Represents operating system processes associated with the Finding.", + "items": { + "$ref": "Process" + }, + "type": "array" + }, "resourceName": { "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" @@ -4926,6 +5086,60 @@ }, "type": "object" }, + "Process": { + "description": "Represents an operating system process.", + "id": "Process", + "properties": { + "args": { + "description": "Process arguments as JSON encoded strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "argumentsTruncated": { + "description": "True if arguments is incomplete.", + "type": "boolean" + }, + "binary": { + "$ref": "File", + "description": "File information for the process executable." + }, + "envVariables": { + "description": "Process environment variables.", + "items": { + "$ref": "EnvironmentVariable" + }, + "type": "array" + }, + "envVariablesTruncated": { + "description": "True if env_variables is incomplete.", + "type": "boolean" + }, + "libraries": { + "description": "File information for libraries loaded by the process.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "parentPid": { + "description": "The parent process id.", + "format": "int64", + "type": "string" + }, + "pid": { + "description": "The process id.", + "format": "int64", + "type": "string" + }, + "script": { + "$ref": "File", + "description": "When the process represents the invocation of a script, binary provides information about the interpreter while script provides information about the script file provided to the interpreter." + } + }, + "type": "object" + }, "Reference": { "description": "Additional Links", "id": "Reference", diff --git a/securitycenter/v1/securitycenter-gen.go b/securitycenter/v1/securitycenter-gen.go index 1a44df7a28a..60ab3c5a89d 100644 --- a/securitycenter/v1/securitycenter-gen.go +++ b/securitycenter/v1/securitycenter-gen.go @@ -823,6 +823,41 @@ func (s *BulkMuteFindingsRequest) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Compliance: Contains compliance information about a security standard +// indicating unmet recommendations. +type Compliance struct { + // Ids: e.g. A.12.4.1 + Ids []string `json:"ids,omitempty"` + + // Standard: e.g. "cis", "pci", "owasp", etc. + Standard string `json:"standard,omitempty"` + + // Version: e.g. 1.1 + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Ids") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Ids") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Compliance) MarshalJSON() ([]byte, error) { + type NoMethod Compliance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Connection: Contains information about the IP connection associated // with the finding. type Connection struct { @@ -874,6 +909,62 @@ func (s *Connection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Contact: Representa a single contact's email address +type Contact struct { + // Email: An email address e.g. "person123@company.com" + Email string `json:"email,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Contact) MarshalJSON() ([]byte, error) { + type NoMethod Contact + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContactDetails: The details pertaining to specific contacts +type ContactDetails struct { + // Contacts: A list of contacts + Contacts []*Contact `json:"contacts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Contacts") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contacts") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ContactDetails) MarshalJSON() ([]byte, error) { + type NoMethod ContactDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Cve: CVE stands for Common Vulnerabilities and Exposures. More // information: https://cve.mitre.org type Cve struct { @@ -1083,6 +1174,111 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// EnvironmentVariable: EnvironmentVariable is a name-value pair to +// store env variables for Process. +type EnvironmentVariable struct { + // Name: Environment variable name as a JSON encoded string. + Name string `json:"name,omitempty"` + + // Val: Environment variable value as a JSON encoded string. + Val string `json:"val,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { + type NoMethod EnvironmentVariable + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExfilResource: Resource that has been exfiltrated or exfiltrated_to. +type ExfilResource struct { + // Components: Subcomponents of the asset that is exfiltrated - these + // could be URIs used during exfiltration, table names, databases, + // filenames, etc. For example, multiple tables may be exfiltrated from + // the same CloudSQL instance, or multiple files from the same Cloud + // Storage bucket. + Components []string `json:"components,omitempty"` + + // Name: Resource’s URI + // (https://google.aip.dev/122#full-resource-names) + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Components") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Components") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExfilResource) MarshalJSON() ([]byte, error) { + type NoMethod ExfilResource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Exfiltration: Exfiltration represents a data exfiltration attempt of +// one or more source(s) to one or more target(s). Source(s) represent +// the source of data that is exfiltrated, and Target(s) represents the +// destination the data was copied to. +type Exfiltration struct { + // Sources: If there are multiple sources, then the data is considered + // “joined” between them. For instance, BigQuery can join multiple + // tables, and each table would be considered a source. + Sources []*ExfilResource `json:"sources,omitempty"` + + // Targets: If there are multiple targets, each target would get a + // complete copy of the “joined” source data. + Targets []*ExfilResource `json:"targets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Sources") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Sources") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Exfiltration) MarshalJSON() ([]byte, error) { + type NoMethod Exfiltration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Expr: Represents a textual expression in the Common Expression // Language (CEL) syntax. CEL is a C-like expression language. The // syntax and semantics of CEL are documented at @@ -1143,6 +1339,55 @@ func (s *Expr) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// File: File information about the related binary/library used by an +// executable, or the script used by a script interpreter +type File struct { + // Contents: Prefix of the file contents as a JSON encoded string. + // (Currently only populated for Malicious Script Executed findings.) + Contents string `json:"contents,omitempty"` + + // HashedSize: The length in bytes of the file prefix that was hashed. + // If hashed_size == size, any hashes reported represent the entire + // file. + HashedSize int64 `json:"hashedSize,omitempty,string"` + + // PartiallyHashed: True when the hash covers only a prefix of the file. + PartiallyHashed bool `json:"partiallyHashed,omitempty"` + + // Path: Absolute path of the file as a JSON encoded string. + Path string `json:"path,omitempty"` + + // Sha256: SHA256 hash of the first hashed_size bytes of the file + // encoded as a hex string. If hashed_size == size, hash_sha256 + // represents the SHA256 hash of the entire file. + Sha256 string `json:"sha256,omitempty"` + + // Size: Size of the file in bytes. + Size int64 `json:"size,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Contents") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contents") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *File) MarshalJSON() ([]byte, error) { + type NoMethod File + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Finding: Security Command Center finding. A finding is a record of // assessment data like security, risk, health, or privacy, that is // ingested into Security Command Center for presentation, notification, @@ -1169,10 +1414,23 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // Compliances: Contains compliance information for security standards + // associated to the finding. + Compliances []*Compliance `json:"compliances,omitempty"` + // Connections: Contains information about the IP connection associated // with the finding. Connections []*Connection `json:"connections,omitempty"` + // Contacts: Output only. Map containing the point of contacts for the + // given finding. The key represents the type of contact, while the + // value contains a list of all the contacts that pertain. Please refer + // to: + // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories + // { “security”: {contact: {email: “person1@company.com”} + // contact: {email: “person2@company.com”} } + Contacts map[string]ContactDetails `json:"contacts,omitempty"` + // CreateTime: The time at which the finding was created in Security // Command Center. CreateTime string `json:"createTime,omitempty"` @@ -1189,6 +1447,9 @@ type Finding struct { // must not be set to a value greater than the current timestamp. EventTime string `json:"eventTime,omitempty"` + // Exfiltration: Represents exfiltrations associated with the Finding. + Exfiltration *Exfiltration `json:"exfiltration,omitempty"` + // ExternalSystems: Output only. Third party SIEM/SOAR fields within // SCC, contains external system information and external system finding // fields. @@ -1267,6 +1528,10 @@ type Finding struct { // "organizations/{organization_id}/sources/{source_id}" Parent string `json:"parent,omitempty"` + // Processes: Represents operating system processes associated with the + // Finding. + Processes []*Process `json:"processes,omitempty"` + // ResourceName: For findings on Google Cloud resources, the full // resource name of the Google Cloud resource this finding is for. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name @@ -3461,6 +3726,61 @@ func (s *Policy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Process: Represents an operating system process. +type Process struct { + // Args: Process arguments as JSON encoded strings. + Args []string `json:"args,omitempty"` + + // ArgumentsTruncated: True if arguments is incomplete. + ArgumentsTruncated bool `json:"argumentsTruncated,omitempty"` + + // Binary: File information for the process executable. + Binary *File `json:"binary,omitempty"` + + // EnvVariables: Process environment variables. + EnvVariables []*EnvironmentVariable `json:"envVariables,omitempty"` + + // EnvVariablesTruncated: True if env_variables is incomplete. + EnvVariablesTruncated bool `json:"envVariablesTruncated,omitempty"` + + // Libraries: File information for libraries loaded by the process. + Libraries []*File `json:"libraries,omitempty"` + + // ParentPid: The parent process id. + ParentPid int64 `json:"parentPid,omitempty,string"` + + // Pid: The process id. + Pid int64 `json:"pid,omitempty,string"` + + // Script: When the process represents the invocation of a script, + // binary provides information about the interpreter while script + // provides information about the script file provided to the + // interpreter. + Script *File `json:"script,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Args") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Args") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Process) MarshalJSON() ([]byte, error) { + type NoMethod Process + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Reference: Additional Links type Reference struct { // Source: Source of the reference e.g. NVD @@ -10870,7 +11190,8 @@ type OrganizationsNotificationConfigsCreateCall struct { // Create: Creates a notification config. // // - parent: Resource name of the new notification config's parent. Its -// format is "organizations/[organization_id]". +// format is "organizations/[organization_id]" or +// "projects/[project_id]". func (r *OrganizationsNotificationConfigsService) Create(parent string, notificationconfig *NotificationConfig) *OrganizationsNotificationConfigsCreateCall { c := &OrganizationsNotificationConfigsCreateCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -10992,7 +11313,7 @@ func (c *OrganizationsNotificationConfigsCreateCall) Do(opts ...googleapi.CallOp // "type": "string" // }, // "parent": { - // "description": "Required. Resource name of the new notification config's parent. Its format is \"organizations/[organization_id]\".", + // "description": "Required. Resource name of the new notification config's parent. Its format is \"organizations/[organization_id]\" or \"projects/[project_id]\".", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, @@ -11307,7 +11628,8 @@ type OrganizationsNotificationConfigsListCall struct { // List: Lists notification configs. // // - parent: Name of the organization to list notification configs. Its -// format is "organizations/[organization_id]". +// format is "organizations/[organization_id]" or +// "projects/[project_id]". func (r *OrganizationsNotificationConfigsService) List(parent string) *OrganizationsNotificationConfigsListCall { c := &OrganizationsNotificationConfigsListCall{s: r.s, urlParams_: make(gensupport.URLParams)} c.parent = parent @@ -11450,7 +11772,7 @@ func (c *OrganizationsNotificationConfigsListCall) Do(opts ...googleapi.CallOpti // "type": "string" // }, // "parent": { - // "description": "Required. Name of the organization to list notification configs. Its format is \"organizations/[organization_id]\".", + // "description": "Required. Name of the organization to list notification configs. Its format is \"organizations/[organization_id]\" or \"projects/[project_id]\".", // "location": "path", // "pattern": "^organizations/[^/]+$", // "required": true, diff --git a/securitycenter/v1beta1/securitycenter-api.json b/securitycenter/v1beta1/securitycenter-api.json index f922fbeb74b..ac59892ec69 100644 --- a/securitycenter/v1beta1/securitycenter-api.json +++ b/securitycenter/v1beta1/securitycenter-api.json @@ -896,7 +896,7 @@ } } }, - "revision": "20220506", + "revision": "20220520", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1070,6 +1070,28 @@ "properties": {}, "type": "object" }, + "Compliance": { + "description": "Contains compliance information about a security standard indicating unmet recommendations.", + "id": "Compliance", + "properties": { + "ids": { + "description": "e.g. A.12.4.1", + "items": { + "type": "string" + }, + "type": "array" + }, + "standard": { + "description": "e.g. \"cis\", \"pci\", \"owasp\", etc.", + "type": "string" + }, + "version": { + "description": "e.g. 1.1", + "type": "string" + } + }, + "type": "object" + }, "Connection": { "description": "Contains information about the IP connection associated with the finding.", "id": "Connection", @@ -1115,6 +1137,31 @@ }, "type": "object" }, + "Contact": { + "description": "Representa a single contact's email address", + "id": "Contact", + "properties": { + "email": { + "description": "An email address e.g. \"person123@company.com\"", + "type": "string" + } + }, + "type": "object" + }, + "ContactDetails": { + "description": "The details pertaining to specific contacts", + "id": "ContactDetails", + "properties": { + "contacts": { + "description": "A list of contacts", + "items": { + "$ref": "Contact" + }, + "type": "array" + } + }, + "type": "object" + }, "Cve": { "description": "CVE stands for Common Vulnerabilities and Exposures. More information: https://cve.mitre.org", "id": "Cve", @@ -1283,6 +1330,60 @@ "properties": {}, "type": "object" }, + "EnvironmentVariable": { + "description": "EnvironmentVariable is a name-value pair to store env variables for Process.", + "id": "EnvironmentVariable", + "properties": { + "name": { + "description": "Environment variable name as a JSON encoded string.", + "type": "string" + }, + "val": { + "description": "Environment variable value as a JSON encoded string.", + "type": "string" + } + }, + "type": "object" + }, + "ExfilResource": { + "description": "Resource that has been exfiltrated or exfiltrated_to.", + "id": "ExfilResource", + "properties": { + "components": { + "description": "Subcomponents of the asset that is exfiltrated - these could be URIs used during exfiltration, table names, databases, filenames, etc. For example, multiple tables may be exfiltrated from the same CloudSQL instance, or multiple files from the same Cloud Storage bucket.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Resource’s URI (https://google.aip.dev/122#full-resource-names)", + "type": "string" + } + }, + "type": "object" + }, + "Exfiltration": { + "description": "Exfiltration represents a data exfiltration attempt of one or more source(s) to one or more target(s). Source(s) represent the source of data that is exfiltrated, and Target(s) represents the destination the data was copied to.", + "id": "Exfiltration", + "properties": { + "sources": { + "description": "If there are multiple sources, then the data is considered “joined” between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + }, + "targets": { + "description": "If there are multiple targets, each target would get a complete copy of the “joined” source data.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + } + }, + "type": "object" + }, "Expr": { "description": "Represents a textual expression in the Common Expression Language (CEL) syntax. CEL is a C-like expression language. The syntax and semantics of CEL are documented at https://github.com/google/cel-spec. Example (Comparison): title: \"Summary size limit\" description: \"Determines if a summary is less than 100 chars\" expression: \"document.summary.size() \u003c 100\" Example (Equality): title: \"Requestor is owner\" description: \"Determines if requestor is the document owner\" expression: \"document.owner == request.auth.claims.email\" Example (Logic): title: \"Public documents\" description: \"Determine whether the document should be publicly visible\" expression: \"document.type != 'private' \u0026\u0026 document.type != 'internal'\" Example (Data Manipulation): title: \"Notification string\" description: \"Create a notification string with a timestamp.\" expression: \"'New message received at ' + string(document.create_time)\" The exact variables and functions that may be referenced within an expression are determined by the service that evaluates it. See the service documentation for additional information.", "id": "Expr", @@ -1306,6 +1407,39 @@ }, "type": "object" }, + "File": { + "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", + "id": "File", + "properties": { + "contents": { + "description": "Prefix of the file contents as a JSON encoded string. (Currently only populated for Malicious Script Executed findings.)", + "type": "string" + }, + "hashedSize": { + "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", + "format": "int64", + "type": "string" + }, + "partiallyHashed": { + "description": "True when the hash covers only a prefix of the file.", + "type": "boolean" + }, + "path": { + "description": "Absolute path of the file as a JSON encoded string.", + "type": "string" + }, + "sha256": { + "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, hash_sha256 represents the SHA256 hash of the entire file.", + "type": "string" + }, + "size": { + "description": "Size of the file in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Finding": { "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", @@ -1322,6 +1456,13 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "compliances": { + "description": "Contains compliance information for security standards associated to the finding.", + "items": { + "$ref": "Compliance" + }, + "type": "array" + }, "connections": { "description": "Contains information about the IP connection associated with the finding.", "items": { @@ -1329,6 +1470,14 @@ }, "type": "array" }, + "contacts": { + "additionalProperties": { + "$ref": "ContactDetails" + }, + "description": "Output only. Map containing the point of contacts for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { “security”: {contact: {email: “person1@company.com”} contact: {email: “person2@company.com”} }", + "readOnly": true, + "type": "object" + }, "createTime": { "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", @@ -1343,6 +1492,10 @@ "format": "google-datetime", "type": "string" }, + "exfiltration": { + "$ref": "Exfiltration", + "description": "Represents exfiltrations associated with the Finding." + }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" @@ -1428,6 +1581,13 @@ "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, + "processes": { + "description": "Represents operating system processes associated with the Finding.", + "items": { + "$ref": "Process" + }, + "type": "array" + }, "resourceName": { "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" @@ -2681,6 +2841,60 @@ }, "type": "object" }, + "Process": { + "description": "Represents an operating system process.", + "id": "Process", + "properties": { + "args": { + "description": "Process arguments as JSON encoded strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "argumentsTruncated": { + "description": "True if arguments is incomplete.", + "type": "boolean" + }, + "binary": { + "$ref": "File", + "description": "File information for the process executable." + }, + "envVariables": { + "description": "Process environment variables.", + "items": { + "$ref": "EnvironmentVariable" + }, + "type": "array" + }, + "envVariablesTruncated": { + "description": "True if env_variables is incomplete.", + "type": "boolean" + }, + "libraries": { + "description": "File information for libraries loaded by the process.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "parentPid": { + "description": "The parent process id.", + "format": "int64", + "type": "string" + }, + "pid": { + "description": "The process id.", + "format": "int64", + "type": "string" + }, + "script": { + "$ref": "File", + "description": "When the process represents the invocation of a script, binary provides information about the interpreter while script provides information about the script file provided to the interpreter." + } + }, + "type": "object" + }, "Reference": { "description": "Additional Links", "id": "Reference", diff --git a/securitycenter/v1beta1/securitycenter-gen.go b/securitycenter/v1beta1/securitycenter-gen.go index a7435a9b528..4abcf9b9594 100644 --- a/securitycenter/v1beta1/securitycenter-gen.go +++ b/securitycenter/v1beta1/securitycenter-gen.go @@ -514,6 +514,41 @@ func (s *Binding) MarshalJSON() ([]byte, error) { type CancelOperationRequest struct { } +// Compliance: Contains compliance information about a security standard +// indicating unmet recommendations. +type Compliance struct { + // Ids: e.g. A.12.4.1 + Ids []string `json:"ids,omitempty"` + + // Standard: e.g. "cis", "pci", "owasp", etc. + Standard string `json:"standard,omitempty"` + + // Version: e.g. 1.1 + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Ids") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Ids") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Compliance) MarshalJSON() ([]byte, error) { + type NoMethod Compliance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Connection: Contains information about the IP connection associated // with the finding. type Connection struct { @@ -565,6 +600,62 @@ func (s *Connection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Contact: Representa a single contact's email address +type Contact struct { + // Email: An email address e.g. "person123@company.com" + Email string `json:"email,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Contact) MarshalJSON() ([]byte, error) { + type NoMethod Contact + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContactDetails: The details pertaining to specific contacts +type ContactDetails struct { + // Contacts: A list of contacts + Contacts []*Contact `json:"contacts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Contacts") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contacts") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ContactDetails) MarshalJSON() ([]byte, error) { + type NoMethod ContactDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Cve: CVE stands for Common Vulnerabilities and Exposures. More // information: https://cve.mitre.org type Cve struct { @@ -774,6 +865,111 @@ type Empty struct { googleapi.ServerResponse `json:"-"` } +// EnvironmentVariable: EnvironmentVariable is a name-value pair to +// store env variables for Process. +type EnvironmentVariable struct { + // Name: Environment variable name as a JSON encoded string. + Name string `json:"name,omitempty"` + + // Val: Environment variable value as a JSON encoded string. + Val string `json:"val,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { + type NoMethod EnvironmentVariable + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ExfilResource: Resource that has been exfiltrated or exfiltrated_to. +type ExfilResource struct { + // Components: Subcomponents of the asset that is exfiltrated - these + // could be URIs used during exfiltration, table names, databases, + // filenames, etc. For example, multiple tables may be exfiltrated from + // the same CloudSQL instance, or multiple files from the same Cloud + // Storage bucket. + Components []string `json:"components,omitempty"` + + // Name: Resource’s URI + // (https://google.aip.dev/122#full-resource-names) + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Components") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Components") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExfilResource) MarshalJSON() ([]byte, error) { + type NoMethod ExfilResource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Exfiltration: Exfiltration represents a data exfiltration attempt of +// one or more source(s) to one or more target(s). Source(s) represent +// the source of data that is exfiltrated, and Target(s) represents the +// destination the data was copied to. +type Exfiltration struct { + // Sources: If there are multiple sources, then the data is considered + // “joined” between them. For instance, BigQuery can join multiple + // tables, and each table would be considered a source. + Sources []*ExfilResource `json:"sources,omitempty"` + + // Targets: If there are multiple targets, each target would get a + // complete copy of the “joined” source data. + Targets []*ExfilResource `json:"targets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Sources") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Sources") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Exfiltration) MarshalJSON() ([]byte, error) { + type NoMethod Exfiltration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Expr: Represents a textual expression in the Common Expression // Language (CEL) syntax. CEL is a C-like expression language. The // syntax and semantics of CEL are documented at @@ -834,6 +1030,55 @@ func (s *Expr) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// File: File information about the related binary/library used by an +// executable, or the script used by a script interpreter +type File struct { + // Contents: Prefix of the file contents as a JSON encoded string. + // (Currently only populated for Malicious Script Executed findings.) + Contents string `json:"contents,omitempty"` + + // HashedSize: The length in bytes of the file prefix that was hashed. + // If hashed_size == size, any hashes reported represent the entire + // file. + HashedSize int64 `json:"hashedSize,omitempty,string"` + + // PartiallyHashed: True when the hash covers only a prefix of the file. + PartiallyHashed bool `json:"partiallyHashed,omitempty"` + + // Path: Absolute path of the file as a JSON encoded string. + Path string `json:"path,omitempty"` + + // Sha256: SHA256 hash of the first hashed_size bytes of the file + // encoded as a hex string. If hashed_size == size, hash_sha256 + // represents the SHA256 hash of the entire file. + Sha256 string `json:"sha256,omitempty"` + + // Size: Size of the file in bytes. + Size int64 `json:"size,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Contents") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contents") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *File) MarshalJSON() ([]byte, error) { + type NoMethod File + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Finding: Security Command Center finding. A finding is a record of // assessment data like security, risk, health, or privacy, that is // ingested into Security Command Center for presentation, notification, @@ -860,10 +1105,23 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // Compliances: Contains compliance information for security standards + // associated to the finding. + Compliances []*Compliance `json:"compliances,omitempty"` + // Connections: Contains information about the IP connection associated // with the finding. Connections []*Connection `json:"connections,omitempty"` + // Contacts: Output only. Map containing the point of contacts for the + // given finding. The key represents the type of contact, while the + // value contains a list of all the contacts that pertain. Please refer + // to: + // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories + // { “security”: {contact: {email: “person1@company.com”} + // contact: {email: “person2@company.com”} } + Contacts map[string]ContactDetails `json:"contacts,omitempty"` + // CreateTime: The time at which the finding was created in Security // Command Center. CreateTime string `json:"createTime,omitempty"` @@ -880,6 +1138,9 @@ type Finding struct { // must not be set to a value greater than the current timestamp. EventTime string `json:"eventTime,omitempty"` + // Exfiltration: Represents exfiltrations associated with the Finding. + Exfiltration *Exfiltration `json:"exfiltration,omitempty"` + // ExternalSystems: Output only. Third party SIEM/SOAR fields within // SCC, contains external system information and external system finding // fields. @@ -958,6 +1219,10 @@ type Finding struct { // "organizations/{organization_id}/sources/{source_id}" Parent string `json:"parent,omitempty"` + // Processes: Represents operating system processes associated with the + // Finding. + Processes []*Process `json:"processes,omitempty"` + // ResourceName: For findings on Google Cloud resources, the full // resource name of the Google Cloud resource this finding is for. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name @@ -2960,6 +3225,61 @@ func (s *Policy) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Process: Represents an operating system process. +type Process struct { + // Args: Process arguments as JSON encoded strings. + Args []string `json:"args,omitempty"` + + // ArgumentsTruncated: True if arguments is incomplete. + ArgumentsTruncated bool `json:"argumentsTruncated,omitempty"` + + // Binary: File information for the process executable. + Binary *File `json:"binary,omitempty"` + + // EnvVariables: Process environment variables. + EnvVariables []*EnvironmentVariable `json:"envVariables,omitempty"` + + // EnvVariablesTruncated: True if env_variables is incomplete. + EnvVariablesTruncated bool `json:"envVariablesTruncated,omitempty"` + + // Libraries: File information for libraries loaded by the process. + Libraries []*File `json:"libraries,omitempty"` + + // ParentPid: The parent process id. + ParentPid int64 `json:"parentPid,omitempty,string"` + + // Pid: The process id. + Pid int64 `json:"pid,omitempty,string"` + + // Script: When the process represents the invocation of a script, + // binary provides information about the interpreter while script + // provides information about the script file provided to the + // interpreter. + Script *File `json:"script,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Args") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Args") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Process) MarshalJSON() ([]byte, error) { + type NoMethod Process + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Reference: Additional Links type Reference struct { // Source: Source of the reference e.g. NVD diff --git a/securitycenter/v1beta2/securitycenter-api.json b/securitycenter/v1beta2/securitycenter-api.json index 648307a9a27..f6d05516676 100644 --- a/securitycenter/v1beta2/securitycenter-api.json +++ b/securitycenter/v1beta2/securitycenter-api.json @@ -1717,7 +1717,7 @@ } } }, - "revision": "20220516", + "revision": "20220520", "rootUrl": "https://securitycenter.googleapis.com/", "schemas": { "Access": { @@ -1751,6 +1751,28 @@ }, "type": "object" }, + "Compliance": { + "description": "Contains compliance information about a security standard indicating unmet recommendations.", + "id": "Compliance", + "properties": { + "ids": { + "description": "e.g. A.12.4.1", + "items": { + "type": "string" + }, + "type": "array" + }, + "standard": { + "description": "e.g. \"cis\", \"pci\", \"owasp\", etc.", + "type": "string" + }, + "version": { + "description": "e.g. 1.1", + "type": "string" + } + }, + "type": "object" + }, "Config": { "description": "Configuration of a module.", "id": "Config", @@ -1827,6 +1849,31 @@ }, "type": "object" }, + "Contact": { + "description": "Representa a single contact's email address", + "id": "Contact", + "properties": { + "email": { + "description": "An email address e.g. \"person123@company.com\"", + "type": "string" + } + }, + "type": "object" + }, + "ContactDetails": { + "description": "The details pertaining to specific contacts", + "id": "ContactDetails", + "properties": { + "contacts": { + "description": "A list of contacts", + "items": { + "$ref": "Contact" + }, + "type": "array" + } + }, + "type": "object" + }, "ContainerThreatDetectionSettings": { "description": "Resource capturing the settings for the Container Threat Detection service.", "id": "ContainerThreatDetectionSettings", @@ -2069,6 +2116,21 @@ }, "type": "object" }, + "EnvironmentVariable": { + "description": "EnvironmentVariable is a name-value pair to store env variables for Process.", + "id": "EnvironmentVariable", + "properties": { + "name": { + "description": "Environment variable name as a JSON encoded string.", + "type": "string" + }, + "val": { + "description": "Environment variable value as a JSON encoded string.", + "type": "string" + } + }, + "type": "object" + }, "EventThreatDetectionSettings": { "description": "Resource capturing the settings for the Event Threat Detection service.", "id": "EventThreatDetectionSettings", @@ -2109,6 +2171,78 @@ }, "type": "object" }, + "ExfilResource": { + "description": "Resource that has been exfiltrated or exfiltrated_to.", + "id": "ExfilResource", + "properties": { + "components": { + "description": "Subcomponents of the asset that is exfiltrated - these could be URIs used during exfiltration, table names, databases, filenames, etc. For example, multiple tables may be exfiltrated from the same CloudSQL instance, or multiple files from the same Cloud Storage bucket.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Resource’s URI (https://google.aip.dev/122#full-resource-names)", + "type": "string" + } + }, + "type": "object" + }, + "Exfiltration": { + "description": "Exfiltration represents a data exfiltration attempt of one or more source(s) to one or more target(s). Source(s) represent the source of data that is exfiltrated, and Target(s) represents the destination the data was copied to.", + "id": "Exfiltration", + "properties": { + "sources": { + "description": "If there are multiple sources, then the data is considered “joined” between them. For instance, BigQuery can join multiple tables, and each table would be considered a source.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + }, + "targets": { + "description": "If there are multiple targets, each target would get a complete copy of the “joined” source data.", + "items": { + "$ref": "ExfilResource" + }, + "type": "array" + } + }, + "type": "object" + }, + "File": { + "description": "File information about the related binary/library used by an executable, or the script used by a script interpreter", + "id": "File", + "properties": { + "contents": { + "description": "Prefix of the file contents as a JSON encoded string. (Currently only populated for Malicious Script Executed findings.)", + "type": "string" + }, + "hashedSize": { + "description": "The length in bytes of the file prefix that was hashed. If hashed_size == size, any hashes reported represent the entire file.", + "format": "int64", + "type": "string" + }, + "partiallyHashed": { + "description": "True when the hash covers only a prefix of the file.", + "type": "boolean" + }, + "path": { + "description": "Absolute path of the file as a JSON encoded string.", + "type": "string" + }, + "sha256": { + "description": "SHA256 hash of the first hashed_size bytes of the file encoded as a hex string. If hashed_size == size, hash_sha256 represents the SHA256 hash of the entire file.", + "type": "string" + }, + "size": { + "description": "Size of the file in bytes.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, "Finding": { "description": "Security Command Center finding. A finding is a record of assessment data like security, risk, health, or privacy, that is ingested into Security Command Center for presentation, notification, analysis, policy testing, and enforcement. For example, a cross-site scripting (XSS) vulnerability in an App Engine application is a finding.", "id": "Finding", @@ -2125,6 +2259,13 @@ "description": "The additional taxonomy group within findings from a given source. This field is immutable after creation time. Example: \"XSS_FLASH_INJECTION\"", "type": "string" }, + "compliances": { + "description": "Contains compliance information for security standards associated to the finding.", + "items": { + "$ref": "Compliance" + }, + "type": "array" + }, "connections": { "description": "Contains information about the IP connection associated with the finding.", "items": { @@ -2132,6 +2273,14 @@ }, "type": "array" }, + "contacts": { + "additionalProperties": { + "$ref": "ContactDetails" + }, + "description": "Output only. Map containing the point of contacts for the given finding. The key represents the type of contact, while the value contains a list of all the contacts that pertain. Please refer to: https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories { “security”: {contact: {email: “person1@company.com”} contact: {email: “person2@company.com”} }", + "readOnly": true, + "type": "object" + }, "createTime": { "description": "The time at which the finding was created in Security Command Center.", "format": "google-datetime", @@ -2146,6 +2295,10 @@ "format": "google-datetime", "type": "string" }, + "exfiltration": { + "$ref": "Exfiltration", + "description": "Represents exfiltrations associated with the Finding." + }, "externalSystems": { "additionalProperties": { "$ref": "GoogleCloudSecuritycenterV1ExternalSystem" @@ -2231,6 +2384,13 @@ "description": "The relative resource name of the source the finding belongs to. See: https://cloud.google.com/apis/design/resource_names#relative_resource_name This field is immutable after creation time. For example: \"organizations/{organization_id}/sources/{source_id}\"", "type": "string" }, + "processes": { + "description": "Represents operating system processes associated with the Finding.", + "items": { + "$ref": "Process" + }, + "type": "array" + }, "resourceName": { "description": "For findings on Google Cloud resources, the full resource name of the Google Cloud resource this finding is for. See: https://cloud.google.com/apis/design/resource_names#full_resource_name When the finding is for a non-Google Cloud resource, the resourceName can be a customer or partner defined string. This field is immutable after creation time.", "type": "string" @@ -3071,6 +3231,60 @@ }, "type": "object" }, + "Process": { + "description": "Represents an operating system process.", + "id": "Process", + "properties": { + "args": { + "description": "Process arguments as JSON encoded strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "argumentsTruncated": { + "description": "True if arguments is incomplete.", + "type": "boolean" + }, + "binary": { + "$ref": "File", + "description": "File information for the process executable." + }, + "envVariables": { + "description": "Process environment variables.", + "items": { + "$ref": "EnvironmentVariable" + }, + "type": "array" + }, + "envVariablesTruncated": { + "description": "True if env_variables is incomplete.", + "type": "boolean" + }, + "libraries": { + "description": "File information for libraries loaded by the process.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "parentPid": { + "description": "The parent process id.", + "format": "int64", + "type": "string" + }, + "pid": { + "description": "The process id.", + "format": "int64", + "type": "string" + }, + "script": { + "$ref": "File", + "description": "When the process represents the invocation of a script, binary provides information about the interpreter while script provides information about the script file provided to the interpreter." + } + }, + "type": "object" + }, "Reference": { "description": "Additional Links", "id": "Reference", diff --git a/securitycenter/v1beta2/securitycenter-gen.go b/securitycenter/v1beta2/securitycenter-gen.go index c12e7822b29..e8ac212caaa 100644 --- a/securitycenter/v1beta2/securitycenter-gen.go +++ b/securitycenter/v1beta2/securitycenter-gen.go @@ -433,6 +433,41 @@ func (s *Access) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Compliance: Contains compliance information about a security standard +// indicating unmet recommendations. +type Compliance struct { + // Ids: e.g. A.12.4.1 + Ids []string `json:"ids,omitempty"` + + // Standard: e.g. "cis", "pci", "owasp", etc. + Standard string `json:"standard,omitempty"` + + // Version: e.g. 1.1 + Version string `json:"version,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Ids") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Ids") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Compliance) MarshalJSON() ([]byte, error) { + type NoMethod Compliance + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Config: Configuration of a module. type Config struct { // ModuleEnablementState: The state of enablement for the module at its @@ -526,6 +561,62 @@ func (s *Connection) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Contact: Representa a single contact's email address +type Contact struct { + // Email: An email address e.g. "person123@company.com" + Email string `json:"email,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Email") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Email") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Contact) MarshalJSON() ([]byte, error) { + type NoMethod Contact + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// ContactDetails: The details pertaining to specific contacts +type ContactDetails struct { + // Contacts: A list of contacts + Contacts []*Contact `json:"contacts,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Contacts") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contacts") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ContactDetails) MarshalJSON() ([]byte, error) { + type NoMethod ContactDetails + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // ContainerThreatDetectionSettings: Resource capturing the settings for // the Container Threat Detection service. type ContainerThreatDetectionSettings struct { @@ -830,6 +921,38 @@ func (s *Details) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// EnvironmentVariable: EnvironmentVariable is a name-value pair to +// store env variables for Process. +type EnvironmentVariable struct { + // Name: Environment variable name as a JSON encoded string. + Name string `json:"name,omitempty"` + + // Val: Environment variable value as a JSON encoded string. + Val string `json:"val,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Name") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Name") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *EnvironmentVariable) MarshalJSON() ([]byte, error) { + type NoMethod EnvironmentVariable + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // EventThreatDetectionSettings: Resource capturing the settings for the // Event Threat Detection service. type EventThreatDetectionSettings struct { @@ -886,6 +1009,128 @@ func (s *EventThreatDetectionSettings) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// ExfilResource: Resource that has been exfiltrated or exfiltrated_to. +type ExfilResource struct { + // Components: Subcomponents of the asset that is exfiltrated - these + // could be URIs used during exfiltration, table names, databases, + // filenames, etc. For example, multiple tables may be exfiltrated from + // the same CloudSQL instance, or multiple files from the same Cloud + // Storage bucket. + Components []string `json:"components,omitempty"` + + // Name: Resource’s URI + // (https://google.aip.dev/122#full-resource-names) + Name string `json:"name,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Components") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Components") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *ExfilResource) MarshalJSON() ([]byte, error) { + type NoMethod ExfilResource + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// Exfiltration: Exfiltration represents a data exfiltration attempt of +// one or more source(s) to one or more target(s). Source(s) represent +// the source of data that is exfiltrated, and Target(s) represents the +// destination the data was copied to. +type Exfiltration struct { + // Sources: If there are multiple sources, then the data is considered + // “joined” between them. For instance, BigQuery can join multiple + // tables, and each table would be considered a source. + Sources []*ExfilResource `json:"sources,omitempty"` + + // Targets: If there are multiple targets, each target would get a + // complete copy of the “joined” source data. + Targets []*ExfilResource `json:"targets,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Sources") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Sources") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Exfiltration) MarshalJSON() ([]byte, error) { + type NoMethod Exfiltration + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + +// File: File information about the related binary/library used by an +// executable, or the script used by a script interpreter +type File struct { + // Contents: Prefix of the file contents as a JSON encoded string. + // (Currently only populated for Malicious Script Executed findings.) + Contents string `json:"contents,omitempty"` + + // HashedSize: The length in bytes of the file prefix that was hashed. + // If hashed_size == size, any hashes reported represent the entire + // file. + HashedSize int64 `json:"hashedSize,omitempty,string"` + + // PartiallyHashed: True when the hash covers only a prefix of the file. + PartiallyHashed bool `json:"partiallyHashed,omitempty"` + + // Path: Absolute path of the file as a JSON encoded string. + Path string `json:"path,omitempty"` + + // Sha256: SHA256 hash of the first hashed_size bytes of the file + // encoded as a hex string. If hashed_size == size, hash_sha256 + // represents the SHA256 hash of the entire file. + Sha256 string `json:"sha256,omitempty"` + + // Size: Size of the file in bytes. + Size int64 `json:"size,omitempty,string"` + + // ForceSendFields is a list of field names (e.g. "Contents") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Contents") to include in + // API requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *File) MarshalJSON() ([]byte, error) { + type NoMethod File + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Finding: Security Command Center finding. A finding is a record of // assessment data like security, risk, health, or privacy, that is // ingested into Security Command Center for presentation, notification, @@ -912,10 +1157,23 @@ type Finding struct { // "XSS_FLASH_INJECTION" Category string `json:"category,omitempty"` + // Compliances: Contains compliance information for security standards + // associated to the finding. + Compliances []*Compliance `json:"compliances,omitempty"` + // Connections: Contains information about the IP connection associated // with the finding. Connections []*Connection `json:"connections,omitempty"` + // Contacts: Output only. Map containing the point of contacts for the + // given finding. The key represents the type of contact, while the + // value contains a list of all the contacts that pertain. Please refer + // to: + // https://cloud.google.com/resource-manager/docs/managing-notification-contacts#notification-categories + // { “security”: {contact: {email: “person1@company.com”} + // contact: {email: “person2@company.com”} } + Contacts map[string]ContactDetails `json:"contacts,omitempty"` + // CreateTime: The time at which the finding was created in Security // Command Center. CreateTime string `json:"createTime,omitempty"` @@ -932,6 +1190,9 @@ type Finding struct { // must not be set to a value greater than the current timestamp. EventTime string `json:"eventTime,omitempty"` + // Exfiltration: Represents exfiltrations associated with the Finding. + Exfiltration *Exfiltration `json:"exfiltration,omitempty"` + // ExternalSystems: Output only. Third party SIEM/SOAR fields within // SCC, contains external system information and external system finding // fields. @@ -1010,6 +1271,10 @@ type Finding struct { // "organizations/{organization_id}/sources/{source_id}" Parent string `json:"parent,omitempty"` + // Processes: Represents operating system processes associated with the + // Finding. + Processes []*Process `json:"processes,omitempty"` + // ResourceName: For findings on Google Cloud resources, the full // resource name of the Google Cloud resource this finding is for. See: // https://cloud.google.com/apis/design/resource_names#full_resource_name @@ -2160,6 +2425,61 @@ func (s *OnboardingState) MarshalJSON() ([]byte, error) { return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) } +// Process: Represents an operating system process. +type Process struct { + // Args: Process arguments as JSON encoded strings. + Args []string `json:"args,omitempty"` + + // ArgumentsTruncated: True if arguments is incomplete. + ArgumentsTruncated bool `json:"argumentsTruncated,omitempty"` + + // Binary: File information for the process executable. + Binary *File `json:"binary,omitempty"` + + // EnvVariables: Process environment variables. + EnvVariables []*EnvironmentVariable `json:"envVariables,omitempty"` + + // EnvVariablesTruncated: True if env_variables is incomplete. + EnvVariablesTruncated bool `json:"envVariablesTruncated,omitempty"` + + // Libraries: File information for libraries loaded by the process. + Libraries []*File `json:"libraries,omitempty"` + + // ParentPid: The parent process id. + ParentPid int64 `json:"parentPid,omitempty,string"` + + // Pid: The process id. + Pid int64 `json:"pid,omitempty,string"` + + // Script: When the process represents the invocation of a script, + // binary provides information about the interpreter while script + // provides information about the script file provided to the + // interpreter. + Script *File `json:"script,omitempty"` + + // ForceSendFields is a list of field names (e.g. "Args") to + // unconditionally include in API requests. By default, fields with + // empty or default values are omitted from API requests. However, any + // non-pointer, non-interface field appearing in ForceSendFields will be + // sent to the server regardless of whether the field is empty or not. + // This may be used to include empty fields in Patch requests. + ForceSendFields []string `json:"-"` + + // NullFields is a list of field names (e.g. "Args") to include in API + // requests with the JSON null value. By default, fields with empty + // values are omitted from API requests. However, any field with an + // empty value appearing in NullFields will be sent to the server as + // null. It is an error if a field in this list has a non-empty value. + // This may be used to include null fields in Patch requests. + NullFields []string `json:"-"` +} + +func (s *Process) MarshalJSON() ([]byte, error) { + type NoMethod Process + raw := NoMethod(*s) + return gensupport.MarshalJSON(raw, s.ForceSendFields, s.NullFields) +} + // Reference: Additional Links type Reference struct { // Source: Source of the reference e.g. NVD