google-apis-eventarc_v1 0.53.0 → 0.55.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -445,6 +445,96 @@ module Google
445
445
  end
446
446
  end
447
447
 
448
+ # An enrollment represents a subscription for messages on a particular message
449
+ # bus. It defines a matching criteria for messages on the bus and the subscriber
450
+ # endpoint where matched messages should be delivered.
451
+ class Enrollment
452
+ include Google::Apis::Core::Hashable
453
+
454
+ # Optional. Resource annotations.
455
+ # Corresponds to the JSON property `annotations`
456
+ # @return [Hash<String,String>]
457
+ attr_accessor :annotations
458
+
459
+ # Required. A CEL expression identifying which messages this enrollment applies
460
+ # to.
461
+ # Corresponds to the JSON property `celMatch`
462
+ # @return [String]
463
+ attr_accessor :cel_match
464
+
465
+ # Output only. The creation time.
466
+ # Corresponds to the JSON property `createTime`
467
+ # @return [String]
468
+ attr_accessor :create_time
469
+
470
+ # Required. Destination is the Pipeline that the Enrollment is delivering to. It
471
+ # must point to the full resource name of a Pipeline. Format: "projects/`
472
+ # PROJECT_ID`/locations/`region`/pipelines/`PIPELINE_ID)"
473
+ # Corresponds to the JSON property `destination`
474
+ # @return [String]
475
+ attr_accessor :destination
476
+
477
+ # Optional. Resource display name.
478
+ # Corresponds to the JSON property `displayName`
479
+ # @return [String]
480
+ attr_accessor :display_name
481
+
482
+ # Output only. This checksum is computed by the server based on the value of
483
+ # other fields, and might be sent only on update and delete requests to ensure
484
+ # that the client has an up-to-date value before proceeding.
485
+ # Corresponds to the JSON property `etag`
486
+ # @return [String]
487
+ attr_accessor :etag
488
+
489
+ # Optional. Resource labels.
490
+ # Corresponds to the JSON property `labels`
491
+ # @return [Hash<String,String>]
492
+ attr_accessor :labels
493
+
494
+ # Required. Resource name of the message bus identifying the source of the
495
+ # messages. It matches the form projects/`project`/locations/`location`/
496
+ # messageBuses/`messageBus`.
497
+ # Corresponds to the JSON property `messageBus`
498
+ # @return [String]
499
+ attr_accessor :message_bus
500
+
501
+ # Identifier. Resource name of the form projects/`project`/locations/`location`/
502
+ # enrollments/`enrollment`
503
+ # Corresponds to the JSON property `name`
504
+ # @return [String]
505
+ attr_accessor :name
506
+
507
+ # Output only. Server assigned unique identifier for the channel. The value is a
508
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
509
+ # Corresponds to the JSON property `uid`
510
+ # @return [String]
511
+ attr_accessor :uid
512
+
513
+ # Output only. The last-modified time.
514
+ # Corresponds to the JSON property `updateTime`
515
+ # @return [String]
516
+ attr_accessor :update_time
517
+
518
+ def initialize(**args)
519
+ update!(**args)
520
+ end
521
+
522
+ # Update properties of this object
523
+ def update!(**args)
524
+ @annotations = args[:annotations] if args.key?(:annotations)
525
+ @cel_match = args[:cel_match] if args.key?(:cel_match)
526
+ @create_time = args[:create_time] if args.key?(:create_time)
527
+ @destination = args[:destination] if args.key?(:destination)
528
+ @display_name = args[:display_name] if args.key?(:display_name)
529
+ @etag = args[:etag] if args.key?(:etag)
530
+ @labels = args[:labels] if args.key?(:labels)
531
+ @message_bus = args[:message_bus] if args.key?(:message_bus)
532
+ @name = args[:name] if args.key?(:name)
533
+ @uid = args[:uid] if args.key?(:uid)
534
+ @update_time = args[:update_time] if args.key?(:update_time)
535
+ end
536
+ end
537
+
448
538
  # Filters events based on exact matches on the CloudEvents attributes.
449
539
  class EventFilter
450
540
  include Google::Apis::Core::Hashable
@@ -670,6 +760,95 @@ module Google
670
760
  end
671
761
  end
672
762
 
763
+ # A GoogleApiSource represents a subscription of 1P events from a MessageBus.
764
+ class GoogleApiSource
765
+ include Google::Apis::Core::Hashable
766
+
767
+ # Optional. Resource annotations.
768
+ # Corresponds to the JSON property `annotations`
769
+ # @return [Hash<String,String>]
770
+ attr_accessor :annotations
771
+
772
+ # Output only. The creation time.
773
+ # Corresponds to the JSON property `createTime`
774
+ # @return [String]
775
+ attr_accessor :create_time
776
+
777
+ # Optional. Resource name of a KMS crypto key (managed by the user) used to
778
+ # encrypt/decrypt their event data. It must match the pattern `projects/*/
779
+ # locations/*/keyRings/*/cryptoKeys/*`.
780
+ # Corresponds to the JSON property `cryptoKeyName`
781
+ # @return [String]
782
+ attr_accessor :crypto_key_name
783
+
784
+ # Required. Destination is the message bus that the GoogleApiSource is
785
+ # delivering to. It must be point to the full resource name of a MessageBus.
786
+ # Format: "projects/`PROJECT_ID`/locations/`region`/messagesBuses/`
787
+ # MESSAGE_BUS_ID)
788
+ # Corresponds to the JSON property `destination`
789
+ # @return [String]
790
+ attr_accessor :destination
791
+
792
+ # Optional. Resource display name.
793
+ # Corresponds to the JSON property `displayName`
794
+ # @return [String]
795
+ attr_accessor :display_name
796
+
797
+ # Output only. This checksum is computed by the server based on the value of
798
+ # other fields, and might be sent only on update and delete requests to ensure
799
+ # that the client has an up-to-date value before proceeding.
800
+ # Corresponds to the JSON property `etag`
801
+ # @return [String]
802
+ attr_accessor :etag
803
+
804
+ # Optional. Resource labels.
805
+ # Corresponds to the JSON property `labels`
806
+ # @return [Hash<String,String>]
807
+ attr_accessor :labels
808
+
809
+ # The configuration for Platform Telemetry logging for Eventarc Avdvanced
810
+ # resources.
811
+ # Corresponds to the JSON property `loggingConfig`
812
+ # @return [Google::Apis::EventarcV1::LoggingConfig]
813
+ attr_accessor :logging_config
814
+
815
+ # Identifier. Resource name of the form projects/`project`/locations/`location`/
816
+ # googleApiSources/`google_api_source`
817
+ # Corresponds to the JSON property `name`
818
+ # @return [String]
819
+ attr_accessor :name
820
+
821
+ # Output only. Server assigned unique identifier for the channel. The value is a
822
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
823
+ # Corresponds to the JSON property `uid`
824
+ # @return [String]
825
+ attr_accessor :uid
826
+
827
+ # Output only. The last-modified time.
828
+ # Corresponds to the JSON property `updateTime`
829
+ # @return [String]
830
+ attr_accessor :update_time
831
+
832
+ def initialize(**args)
833
+ update!(**args)
834
+ end
835
+
836
+ # Update properties of this object
837
+ def update!(**args)
838
+ @annotations = args[:annotations] if args.key?(:annotations)
839
+ @create_time = args[:create_time] if args.key?(:create_time)
840
+ @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
841
+ @destination = args[:destination] if args.key?(:destination)
842
+ @display_name = args[:display_name] if args.key?(:display_name)
843
+ @etag = args[:etag] if args.key?(:etag)
844
+ @labels = args[:labels] if args.key?(:labels)
845
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
846
+ @name = args[:name] if args.key?(:name)
847
+ @uid = args[:uid] if args.key?(:uid)
848
+ @update_time = args[:update_time] if args.key?(:update_time)
849
+ end
850
+ end
851
+
673
852
  # A GoogleChannelConfig is a resource that stores the custom settings respected
674
853
  # by Eventarc first-party triggers in the matching region. Once configured,
675
854
  # first-party event data will be protected using the specified custom managed
@@ -701,9 +880,442 @@ module Google
701
880
 
702
881
  # Update properties of this object
703
882
  def update!(**args)
704
- @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
705
- @name = args[:name] if args.key?(:name)
706
- @update_time = args[:update_time] if args.key?(:update_time)
883
+ @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
884
+ @name = args[:name] if args.key?(:name)
885
+ @update_time = args[:update_time] if args.key?(:update_time)
886
+ end
887
+ end
888
+
889
+ # Represents a target of an invocation over HTTP.
890
+ class GoogleCloudEventarcV1PipelineDestination
891
+ include Google::Apis::Core::Hashable
892
+
893
+ # Represents a config used to authenticate message requests.
894
+ # Corresponds to the JSON property `authenticationConfig`
895
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig]
896
+ attr_accessor :authentication_config
897
+
898
+ # Represents a HTTP endpoint destination.
899
+ # Corresponds to the JSON property `httpEndpoint`
900
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestinationHttpEndpoint]
901
+ attr_accessor :http_endpoint
902
+
903
+ # Optional. The resource name of the Message Bus to which events should be
904
+ # published. The Message Bus resource should exist in the same project as the
905
+ # Pipeline. Format: `projects/`project`/locations/`location`/messageBuses/`
906
+ # message_bus``
907
+ # Corresponds to the JSON property `messageBus`
908
+ # @return [String]
909
+ attr_accessor :message_bus
910
+
911
+ # Represents a network config to be used for destination resolution and
912
+ # connectivity.
913
+ # Corresponds to the JSON property `networkConfig`
914
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestinationNetworkConfig]
915
+ attr_accessor :network_config
916
+
917
+ # Represents the format of message data.
918
+ # Corresponds to the JSON property `outputPayloadFormat`
919
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMessagePayloadFormat]
920
+ attr_accessor :output_payload_format
921
+
922
+ # Optional. The resource name of the Pub/Sub topic to which events should be
923
+ # published. Format: `projects/`project`/locations/`location`/topics/`topic``
924
+ # Corresponds to the JSON property `topic`
925
+ # @return [String]
926
+ attr_accessor :topic
927
+
928
+ # Optional. The resource name of the Workflow whose Executions are triggered by
929
+ # the events. The Workflow resource should be deployed in the same project as
930
+ # the Pipeline. Format: `projects/`project`/locations/`location`/workflows/`
931
+ # workflow``
932
+ # Corresponds to the JSON property `workflow`
933
+ # @return [String]
934
+ attr_accessor :workflow
935
+
936
+ def initialize(**args)
937
+ update!(**args)
938
+ end
939
+
940
+ # Update properties of this object
941
+ def update!(**args)
942
+ @authentication_config = args[:authentication_config] if args.key?(:authentication_config)
943
+ @http_endpoint = args[:http_endpoint] if args.key?(:http_endpoint)
944
+ @message_bus = args[:message_bus] if args.key?(:message_bus)
945
+ @network_config = args[:network_config] if args.key?(:network_config)
946
+ @output_payload_format = args[:output_payload_format] if args.key?(:output_payload_format)
947
+ @topic = args[:topic] if args.key?(:topic)
948
+ @workflow = args[:workflow] if args.key?(:workflow)
949
+ end
950
+ end
951
+
952
+ # Represents a config used to authenticate message requests.
953
+ class GoogleCloudEventarcV1PipelineDestinationAuthenticationConfig
954
+ include Google::Apis::Core::Hashable
955
+
956
+ # Represents a config used to authenticate with a Google OIDC token using a GCP
957
+ # service account. Use this authentication method to invoke your Cloud Run and
958
+ # Cloud Functions destinations or HTTP endpoints that support Google OIDC.
959
+ # Corresponds to the JSON property `googleOidc`
960
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken]
961
+ attr_accessor :google_oidc
962
+
963
+ # Contains information needed for generating an [OAuth token](https://developers.
964
+ # google.com/identity/protocols/OAuth2). This type of authorization should
965
+ # generally only be used when calling Google APIs hosted on *.googleapis.com.
966
+ # Corresponds to the JSON property `oauthToken`
967
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken]
968
+ attr_accessor :oauth_token
969
+
970
+ def initialize(**args)
971
+ update!(**args)
972
+ end
973
+
974
+ # Update properties of this object
975
+ def update!(**args)
976
+ @google_oidc = args[:google_oidc] if args.key?(:google_oidc)
977
+ @oauth_token = args[:oauth_token] if args.key?(:oauth_token)
978
+ end
979
+ end
980
+
981
+ # Contains information needed for generating an [OAuth token](https://developers.
982
+ # google.com/identity/protocols/OAuth2). This type of authorization should
983
+ # generally only be used when calling Google APIs hosted on *.googleapis.com.
984
+ class GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOAuthToken
985
+ include Google::Apis::Core::Hashable
986
+
987
+ # Optional. OAuth scope to be used for generating OAuth access token. If not
988
+ # specified, "https://www.googleapis.com/auth/cloud-platform" will be used.
989
+ # Corresponds to the JSON property `scope`
990
+ # @return [String]
991
+ attr_accessor :scope
992
+
993
+ # Required. Service account email used to generate the [OAuth token](https://
994
+ # developers.google.com/identity/protocols/OAuth2). The principal who calls this
995
+ # API must have iam.serviceAccounts.actAs permission in the service account. See
996
+ # https://cloud.google.com/iam/docs/understanding-service-accounts?hl=en#
997
+ # sa_common for more information. Eventarc service agents must have roles/roles/
998
+ # iam.serviceAccountTokenCreator role to allow Pipeline to create OAuth2 tokens
999
+ # for authenticated requests.
1000
+ # Corresponds to the JSON property `serviceAccount`
1001
+ # @return [String]
1002
+ attr_accessor :service_account
1003
+
1004
+ def initialize(**args)
1005
+ update!(**args)
1006
+ end
1007
+
1008
+ # Update properties of this object
1009
+ def update!(**args)
1010
+ @scope = args[:scope] if args.key?(:scope)
1011
+ @service_account = args[:service_account] if args.key?(:service_account)
1012
+ end
1013
+ end
1014
+
1015
+ # Represents a config used to authenticate with a Google OIDC token using a GCP
1016
+ # service account. Use this authentication method to invoke your Cloud Run and
1017
+ # Cloud Functions destinations or HTTP endpoints that support Google OIDC.
1018
+ class GoogleCloudEventarcV1PipelineDestinationAuthenticationConfigOidcToken
1019
+ include Google::Apis::Core::Hashable
1020
+
1021
+ # Optional. Audience to be used to generate the OIDC Token. The audience claim
1022
+ # identifies the recipient that the JWT is intended for. If unspecified, the
1023
+ # destination URI will be used.
1024
+ # Corresponds to the JSON property `audience`
1025
+ # @return [String]
1026
+ attr_accessor :audience
1027
+
1028
+ # Required. Service account email used to generate the OIDC Token. The principal
1029
+ # who calls this API must have iam.serviceAccounts.actAs permission in the
1030
+ # service account. See https://cloud.google.com/iam/docs/understanding-service-
1031
+ # accounts?hl=en#sa_common for more information. Eventarc service agents must
1032
+ # have roles/roles/iam.serviceAccountTokenCreator role to allow the Pipeline to
1033
+ # create OpenID tokens for authenticated requests.
1034
+ # Corresponds to the JSON property `serviceAccount`
1035
+ # @return [String]
1036
+ attr_accessor :service_account
1037
+
1038
+ def initialize(**args)
1039
+ update!(**args)
1040
+ end
1041
+
1042
+ # Update properties of this object
1043
+ def update!(**args)
1044
+ @audience = args[:audience] if args.key?(:audience)
1045
+ @service_account = args[:service_account] if args.key?(:service_account)
1046
+ end
1047
+ end
1048
+
1049
+ # Represents a HTTP endpoint destination.
1050
+ class GoogleCloudEventarcV1PipelineDestinationHttpEndpoint
1051
+ include Google::Apis::Core::Hashable
1052
+
1053
+ # Optional. The CEL expression used to construct a new HTTP request to be sent
1054
+ # to the final destination. The result of the CEL expression must be a map of
1055
+ # key/value pairs such that: - If a map named `headers` exists on the result of
1056
+ # the expression, then its key/value pairs are directly mapped to the HTTP
1057
+ # request headers. The headers values are constructed from the corresponding
1058
+ # value type’s canonical representation. If the `headers` field doesn’t exist
1059
+ # then the resulting HTTP request will be without headers. - If a field named `
1060
+ # body` exists on the result of the expression then its value is directly mapped
1061
+ # to the body of the request. If the value of the `body` field is of type bytes
1062
+ # or string then it is used for the HTTP request body as-is, with no conversion.
1063
+ # If the body field is of any other type then it is converted to a JSON string.
1064
+ # If the body field doesn’t exist then the resulting HTTP request will be
1065
+ # without a body. - Any other fields in the resulting expression will be ignored.
1066
+ # The CEL expression may access the incoming CloudEvent message in its
1067
+ # definition, as follows: - The `data` field of the incoming CloudEvent message
1068
+ # can be accessed using the `message.data` value. - Each attribute of the
1069
+ # incoming CloudEvent message can be accessed using the `message.` value, where
1070
+ # is replaced with the name of the attribute. Headers added to the request by
1071
+ # previous filters in the chain can be accessed in the CEL expression using the `
1072
+ # headers` variable. The `headers` variable defines a map of key/value pairs
1073
+ # corresponding to the HTTP headers added by previous mediation steps and not
1074
+ # the headers present on the original incoming request. For example, the
1075
+ # following CEL expression can be used to construct a Headers-only HTTP request
1076
+ # by adding an additional header to the headers added by previous mediations in
1077
+ # the Pipeline: ``` `"headers": headers.merge(`"new-header-key": "new-header-
1078
+ # value"`)` ``` Additionally, the following CEL extension functions are provided
1079
+ # for use in this CEL expression: - toBase64Url: map.toBase64Url() -> string -
1080
+ # Converts a CelValue to a base64url encoded string - toJsonString: map.
1081
+ # toJsonString() -> string - Converts a CelValue to a JSON string - merge: map1.
1082
+ # merge(map2) -> map3 - Merges the passed CEL map with the existing CEL map the
1083
+ # function is applied to. - If the same key exists in both maps, if the key's
1084
+ # value is type map both maps are merged else the value from the passed map is
1085
+ # used. - toMap: list(map).toMap() -> map - Converts a CEL list of CEL maps to a
1086
+ # single CEL map - toDestinationPayloadFormat(): message.data.
1087
+ # toDestinationPayloadFormat() -> string or bytes - Converts the message data to
1088
+ # the destination payload format specified in Pipeline.Destination.
1089
+ # output_payload_format - This function is meant to be applied to the message.
1090
+ # data field. - If the destination payload format is not set, the function will
1091
+ # return the message data unchanged. - toCloudEventJsonWithPayloadFormat:
1092
+ # message.toCloudEventJsonWithPayloadFormat() -> map - Converts a message to the
1093
+ # corresponding structure of JSON format for CloudEvents - This function applies
1094
+ # toDestinationPayloadFormat() to the message data. It also sets the
1095
+ # corresponding datacontenttype of the CloudEvent, as indicated by Pipeline.
1096
+ # Destination.output_payload_format. If no output_payload_format is set it will
1097
+ # use the existing datacontenttype on the CloudEvent if present, else leave
1098
+ # datacontenttype absent. - This function expects that the content of the
1099
+ # message will adhere to the standard CloudEvent format. If it doesn’t then this
1100
+ # function will fail. - The result is a CEL map that corresponds to the JSON
1101
+ # representation of the CloudEvent. To convert that data to a JSON string it can
1102
+ # be chained with the toJsonString function. If a binding is not specified here,
1103
+ # by default the message is treated as a CloudEvent and is mapped to the HTTP
1104
+ # request according to the CloudEvent HTTP Protocol Binding Binary Content Mode.
1105
+ # The Pipeline converts the data field of the message to the format provided in
1106
+ # Pipeline.Destination.output_payload_format and maps it to the body field of
1107
+ # the result. It also sets the corresponding Content-Type header to the
1108
+ # output_payload_format type. If the Pipeline.Destination.output_payload_format
1109
+ # is not set, then the Pipeline will treat the data field of the message as
1110
+ # opaque binary data and attach it to the request body as bytes. In this case
1111
+ # the Content-type header will be set to the value of the datacontenttype
1112
+ # attribute set on the incoming CloudEvent message if present and the `
1113
+ # application/octet-stream` MIME type otherwise. The Pipeline expects that the
1114
+ # content of the message will adhere to the standard CloudEvent format. If it
1115
+ # doesn’t then the outgoing message request may fail with a persistent error.
1116
+ # Corresponds to the JSON property `messageBindingTemplate`
1117
+ # @return [String]
1118
+ attr_accessor :message_binding_template
1119
+
1120
+ # Required. The URI of the HTTP enpdoint. The value must be a RFC2396 URI string.
1121
+ # Examples: `http://10.10.10.8:80/route`, `http://svc.us-central1.p.local:8080/`
1122
+ # . Only HTTP and HTTPS protocols are supported. The host can be either a static
1123
+ # IP addressable from the VPC specified by the network config, or an internal
1124
+ # DNS hostname of the service resolvable via Cloud DNS.
1125
+ # Corresponds to the JSON property `uri`
1126
+ # @return [String]
1127
+ attr_accessor :uri
1128
+
1129
+ def initialize(**args)
1130
+ update!(**args)
1131
+ end
1132
+
1133
+ # Update properties of this object
1134
+ def update!(**args)
1135
+ @message_binding_template = args[:message_binding_template] if args.key?(:message_binding_template)
1136
+ @uri = args[:uri] if args.key?(:uri)
1137
+ end
1138
+ end
1139
+
1140
+ # Represents a network config to be used for destination resolution and
1141
+ # connectivity.
1142
+ class GoogleCloudEventarcV1PipelineDestinationNetworkConfig
1143
+ include Google::Apis::Core::Hashable
1144
+
1145
+ # Required. Name of the NetworkAttachment that allows access to the consumer VPC.
1146
+ # Format: `projects/`PROJECT_ID`/regions/`REGION`/networkAttachments/`
1147
+ # NETWORK_ATTACHMENT_NAME``
1148
+ # Corresponds to the JSON property `networkAttachment`
1149
+ # @return [String]
1150
+ attr_accessor :network_attachment
1151
+
1152
+ def initialize(**args)
1153
+ update!(**args)
1154
+ end
1155
+
1156
+ # Update properties of this object
1157
+ def update!(**args)
1158
+ @network_attachment = args[:network_attachment] if args.key?(:network_attachment)
1159
+ end
1160
+ end
1161
+
1162
+ # Mediation defines different ways to modify the Pipeline.
1163
+ class GoogleCloudEventarcV1PipelineMediation
1164
+ include Google::Apis::Core::Hashable
1165
+
1166
+ # Transformation defines the way to transform an incoming message.
1167
+ # Corresponds to the JSON property `transformation`
1168
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMediationTransformation]
1169
+ attr_accessor :transformation
1170
+
1171
+ def initialize(**args)
1172
+ update!(**args)
1173
+ end
1174
+
1175
+ # Update properties of this object
1176
+ def update!(**args)
1177
+ @transformation = args[:transformation] if args.key?(:transformation)
1178
+ end
1179
+ end
1180
+
1181
+ # Transformation defines the way to transform an incoming message.
1182
+ class GoogleCloudEventarcV1PipelineMediationTransformation
1183
+ include Google::Apis::Core::Hashable
1184
+
1185
+ # Optional. The template to apply to transform messages.
1186
+ # Corresponds to the JSON property `transformationTemplate`
1187
+ # @return [String]
1188
+ attr_accessor :transformation_template
1189
+
1190
+ def initialize(**args)
1191
+ update!(**args)
1192
+ end
1193
+
1194
+ # Update properties of this object
1195
+ def update!(**args)
1196
+ @transformation_template = args[:transformation_template] if args.key?(:transformation_template)
1197
+ end
1198
+ end
1199
+
1200
+ # Represents the format of message data.
1201
+ class GoogleCloudEventarcV1PipelineMessagePayloadFormat
1202
+ include Google::Apis::Core::Hashable
1203
+
1204
+ # The format of an AVRO message payload.
1205
+ # Corresponds to the JSON property `avro`
1206
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat]
1207
+ attr_accessor :avro
1208
+
1209
+ # The format of a JSON message payload.
1210
+ # Corresponds to the JSON property `json`
1211
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat]
1212
+ attr_accessor :json
1213
+
1214
+ # The format of a Protobuf message payload.
1215
+ # Corresponds to the JSON property `protobuf`
1216
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat]
1217
+ attr_accessor :protobuf
1218
+
1219
+ def initialize(**args)
1220
+ update!(**args)
1221
+ end
1222
+
1223
+ # Update properties of this object
1224
+ def update!(**args)
1225
+ @avro = args[:avro] if args.key?(:avro)
1226
+ @json = args[:json] if args.key?(:json)
1227
+ @protobuf = args[:protobuf] if args.key?(:protobuf)
1228
+ end
1229
+ end
1230
+
1231
+ # The format of an AVRO message payload.
1232
+ class GoogleCloudEventarcV1PipelineMessagePayloadFormatAvroFormat
1233
+ include Google::Apis::Core::Hashable
1234
+
1235
+ # Optional. The entire schema definition is stored in this field.
1236
+ # Corresponds to the JSON property `schemaDefinition`
1237
+ # @return [String]
1238
+ attr_accessor :schema_definition
1239
+
1240
+ def initialize(**args)
1241
+ update!(**args)
1242
+ end
1243
+
1244
+ # Update properties of this object
1245
+ def update!(**args)
1246
+ @schema_definition = args[:schema_definition] if args.key?(:schema_definition)
1247
+ end
1248
+ end
1249
+
1250
+ # The format of a JSON message payload.
1251
+ class GoogleCloudEventarcV1PipelineMessagePayloadFormatJsonFormat
1252
+ include Google::Apis::Core::Hashable
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ end
1261
+ end
1262
+
1263
+ # The format of a Protobuf message payload.
1264
+ class GoogleCloudEventarcV1PipelineMessagePayloadFormatProtobufFormat
1265
+ include Google::Apis::Core::Hashable
1266
+
1267
+ # Optional. The entire schema definition is stored in this field.
1268
+ # Corresponds to the JSON property `schemaDefinition`
1269
+ # @return [String]
1270
+ attr_accessor :schema_definition
1271
+
1272
+ def initialize(**args)
1273
+ update!(**args)
1274
+ end
1275
+
1276
+ # Update properties of this object
1277
+ def update!(**args)
1278
+ @schema_definition = args[:schema_definition] if args.key?(:schema_definition)
1279
+ end
1280
+ end
1281
+
1282
+ # The retry policy configuration for the Pipeline. The pipeline exponentially
1283
+ # backs off in case the destination is non responsive or returns a retryable
1284
+ # error code. The default semantics are as follows: The backoff starts with a 5
1285
+ # second delay and doubles the delay after each failed attempt (10 seconds, 20
1286
+ # seconds, 40 seconds, etc.). The delay is capped at 60 seconds by default.
1287
+ # Please note that if you set the min_retry_delay and max_retry_delay fields to
1288
+ # the same value this will make the duration between retries constant.
1289
+ class GoogleCloudEventarcV1PipelineRetryPolicy
1290
+ include Google::Apis::Core::Hashable
1291
+
1292
+ # Optional. The maximum number of delivery attempts for any message. The value
1293
+ # must be between 1 and 100. The default value for this field is 5.
1294
+ # Corresponds to the JSON property `maxAttempts`
1295
+ # @return [Fixnum]
1296
+ attr_accessor :max_attempts
1297
+
1298
+ # Optional. The maximum amount of seconds to wait between retry attempts. The
1299
+ # value must be between 0 and 600. The default value for this field is 60.
1300
+ # Corresponds to the JSON property `maxRetryDelay`
1301
+ # @return [String]
1302
+ attr_accessor :max_retry_delay
1303
+
1304
+ # Optional. The minimum amount of seconds to wait between retry attempts. The
1305
+ # value must be between 0 and 600. The default value for this field is 5.
1306
+ # Corresponds to the JSON property `minRetryDelay`
1307
+ # @return [String]
1308
+ attr_accessor :min_retry_delay
1309
+
1310
+ def initialize(**args)
1311
+ update!(**args)
1312
+ end
1313
+
1314
+ # Update properties of this object
1315
+ def update!(**args)
1316
+ @max_attempts = args[:max_attempts] if args.key?(:max_attempts)
1317
+ @max_retry_delay = args[:max_retry_delay] if args.key?(:max_retry_delay)
1318
+ @min_retry_delay = args[:min_retry_delay] if args.key?(:min_retry_delay)
707
1319
  end
708
1320
  end
709
1321
 
@@ -933,6 +1545,70 @@ module Google
933
1545
  end
934
1546
  end
935
1547
 
1548
+ # The response message for the `ListEnrollments` method.
1549
+ class ListEnrollmentsResponse
1550
+ include Google::Apis::Core::Hashable
1551
+
1552
+ # The requested Enrollments, up to the number specified in `page_size`.
1553
+ # Corresponds to the JSON property `enrollments`
1554
+ # @return [Array<Google::Apis::EventarcV1::Enrollment>]
1555
+ attr_accessor :enrollments
1556
+
1557
+ # A page token that can be sent to `ListEnrollments` to request the next page.
1558
+ # If this is empty, then there are no more pages.
1559
+ # Corresponds to the JSON property `nextPageToken`
1560
+ # @return [String]
1561
+ attr_accessor :next_page_token
1562
+
1563
+ # Unreachable resources, if any.
1564
+ # Corresponds to the JSON property `unreachable`
1565
+ # @return [Array<String>]
1566
+ attr_accessor :unreachable
1567
+
1568
+ def initialize(**args)
1569
+ update!(**args)
1570
+ end
1571
+
1572
+ # Update properties of this object
1573
+ def update!(**args)
1574
+ @enrollments = args[:enrollments] if args.key?(:enrollments)
1575
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1576
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1577
+ end
1578
+ end
1579
+
1580
+ # The response message for the `ListGoogleApiSources` method.
1581
+ class ListGoogleApiSourcesResponse
1582
+ include Google::Apis::Core::Hashable
1583
+
1584
+ # The requested GoogleApiSources, up to the number specified in `page_size`.
1585
+ # Corresponds to the JSON property `googleApiSources`
1586
+ # @return [Array<Google::Apis::EventarcV1::GoogleApiSource>]
1587
+ attr_accessor :google_api_sources
1588
+
1589
+ # A page token that can be sent to `ListMessageBusEnrollments` to request the
1590
+ # next page. If this is empty, then there are no more pages.
1591
+ # Corresponds to the JSON property `nextPageToken`
1592
+ # @return [String]
1593
+ attr_accessor :next_page_token
1594
+
1595
+ # Unreachable resources, if any.
1596
+ # Corresponds to the JSON property `unreachable`
1597
+ # @return [Array<String>]
1598
+ attr_accessor :unreachable
1599
+
1600
+ def initialize(**args)
1601
+ update!(**args)
1602
+ end
1603
+
1604
+ # Update properties of this object
1605
+ def update!(**args)
1606
+ @google_api_sources = args[:google_api_sources] if args.key?(:google_api_sources)
1607
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1608
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1609
+ end
1610
+ end
1611
+
936
1612
  # The response message for Locations.ListLocations.
937
1613
  class ListLocationsResponse
938
1614
  include Google::Apis::Core::Hashable
@@ -958,6 +1634,102 @@ module Google
958
1634
  end
959
1635
  end
960
1636
 
1637
+ # The response message for the `ListMessageBusEnrollments` method.`
1638
+ class ListMessageBusEnrollmentsResponse
1639
+ include Google::Apis::Core::Hashable
1640
+
1641
+ # The requested enrollments, up to the number specified in `page_size`.
1642
+ # Corresponds to the JSON property `enrollments`
1643
+ # @return [Array<String>]
1644
+ attr_accessor :enrollments
1645
+
1646
+ # A page token that can be sent to `ListMessageBusEnrollments` to request the
1647
+ # next page. If this is empty, then there are no more pages.
1648
+ # Corresponds to the JSON property `nextPageToken`
1649
+ # @return [String]
1650
+ attr_accessor :next_page_token
1651
+
1652
+ # Unreachable resources, if any.
1653
+ # Corresponds to the JSON property `unreachable`
1654
+ # @return [Array<String>]
1655
+ attr_accessor :unreachable
1656
+
1657
+ def initialize(**args)
1658
+ update!(**args)
1659
+ end
1660
+
1661
+ # Update properties of this object
1662
+ def update!(**args)
1663
+ @enrollments = args[:enrollments] if args.key?(:enrollments)
1664
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1665
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1666
+ end
1667
+ end
1668
+
1669
+ # The response message for the `ListMessageBuses` method.
1670
+ class ListMessageBusesResponse
1671
+ include Google::Apis::Core::Hashable
1672
+
1673
+ # The requested message buses, up to the number specified in `page_size`.
1674
+ # Corresponds to the JSON property `messageBuses`
1675
+ # @return [Array<Google::Apis::EventarcV1::MessageBus>]
1676
+ attr_accessor :message_buses
1677
+
1678
+ # A page token that can be sent to `ListMessageBuses` to request the next page.
1679
+ # If this is empty, then there are no more pages.
1680
+ # Corresponds to the JSON property `nextPageToken`
1681
+ # @return [String]
1682
+ attr_accessor :next_page_token
1683
+
1684
+ # Unreachable resources, if any.
1685
+ # Corresponds to the JSON property `unreachable`
1686
+ # @return [Array<String>]
1687
+ attr_accessor :unreachable
1688
+
1689
+ def initialize(**args)
1690
+ update!(**args)
1691
+ end
1692
+
1693
+ # Update properties of this object
1694
+ def update!(**args)
1695
+ @message_buses = args[:message_buses] if args.key?(:message_buses)
1696
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1697
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1698
+ end
1699
+ end
1700
+
1701
+ # The response message for the ListPipelines method.
1702
+ class ListPipelinesResponse
1703
+ include Google::Apis::Core::Hashable
1704
+
1705
+ # A page token that can be sent to `ListPipelines` to request the next page. If
1706
+ # this is empty, then there are no more pages.
1707
+ # Corresponds to the JSON property `nextPageToken`
1708
+ # @return [String]
1709
+ attr_accessor :next_page_token
1710
+
1711
+ # The requested pipelines, up to the number specified in `page_size`.
1712
+ # Corresponds to the JSON property `pipelines`
1713
+ # @return [Array<Google::Apis::EventarcV1::Pipeline>]
1714
+ attr_accessor :pipelines
1715
+
1716
+ # Unreachable resources, if any.
1717
+ # Corresponds to the JSON property `unreachable`
1718
+ # @return [Array<String>]
1719
+ attr_accessor :unreachable
1720
+
1721
+ def initialize(**args)
1722
+ update!(**args)
1723
+ end
1724
+
1725
+ # Update properties of this object
1726
+ def update!(**args)
1727
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1728
+ @pipelines = args[:pipelines] if args.key?(:pipelines)
1729
+ @unreachable = args[:unreachable] if args.key?(:unreachable)
1730
+ end
1731
+ end
1732
+
961
1733
  # The response message for the `ListProviders` method.
962
1734
  class ListProvidersResponse
963
1735
  include Google::Apis::Core::Hashable
@@ -1069,6 +1841,111 @@ module Google
1069
1841
  end
1070
1842
  end
1071
1843
 
1844
+ # The configuration for Platform Telemetry logging for Eventarc Avdvanced
1845
+ # resources.
1846
+ class LoggingConfig
1847
+ include Google::Apis::Core::Hashable
1848
+
1849
+ # Optional. The minimum severity of logs that will be sent to Stackdriver/
1850
+ # Platform Telemetry. Logs at severitiy ≥ this value will be sent, unless it is
1851
+ # NONE.
1852
+ # Corresponds to the JSON property `logSeverity`
1853
+ # @return [String]
1854
+ attr_accessor :log_severity
1855
+
1856
+ def initialize(**args)
1857
+ update!(**args)
1858
+ end
1859
+
1860
+ # Update properties of this object
1861
+ def update!(**args)
1862
+ @log_severity = args[:log_severity] if args.key?(:log_severity)
1863
+ end
1864
+ end
1865
+
1866
+ # MessageBus for the messages flowing through the system. The admin has
1867
+ # visibility and control over the messages being published and consumed and can
1868
+ # restrict publishers and subscribers to only a subset of data available in the
1869
+ # system by defining authorization policies.
1870
+ class MessageBus
1871
+ include Google::Apis::Core::Hashable
1872
+
1873
+ # Optional. Resource annotations.
1874
+ # Corresponds to the JSON property `annotations`
1875
+ # @return [Hash<String,String>]
1876
+ attr_accessor :annotations
1877
+
1878
+ # Output only. The creation time.
1879
+ # Corresponds to the JSON property `createTime`
1880
+ # @return [String]
1881
+ attr_accessor :create_time
1882
+
1883
+ # Optional. Resource name of a KMS crypto key (managed by the user) used to
1884
+ # encrypt/decrypt their event data. It must match the pattern `projects/*/
1885
+ # locations/*/keyRings/*/cryptoKeys/*`.
1886
+ # Corresponds to the JSON property `cryptoKeyName`
1887
+ # @return [String]
1888
+ attr_accessor :crypto_key_name
1889
+
1890
+ # Optional. Resource display name.
1891
+ # Corresponds to the JSON property `displayName`
1892
+ # @return [String]
1893
+ attr_accessor :display_name
1894
+
1895
+ # Output only. This checksum is computed by the server based on the value of
1896
+ # other fields, and might be sent only on update and delete requests to ensure
1897
+ # that the client has an up-to-date value before proceeding.
1898
+ # Corresponds to the JSON property `etag`
1899
+ # @return [String]
1900
+ attr_accessor :etag
1901
+
1902
+ # Optional. Resource labels.
1903
+ # Corresponds to the JSON property `labels`
1904
+ # @return [Hash<String,String>]
1905
+ attr_accessor :labels
1906
+
1907
+ # The configuration for Platform Telemetry logging for Eventarc Avdvanced
1908
+ # resources.
1909
+ # Corresponds to the JSON property `loggingConfig`
1910
+ # @return [Google::Apis::EventarcV1::LoggingConfig]
1911
+ attr_accessor :logging_config
1912
+
1913
+ # Identifier. Resource name of the form projects/`project`/locations/`location`/
1914
+ # messageBuses/`message_bus`
1915
+ # Corresponds to the JSON property `name`
1916
+ # @return [String]
1917
+ attr_accessor :name
1918
+
1919
+ # Output only. Server assigned unique identifier for the channel. The value is a
1920
+ # UUID4 string and guaranteed to remain unchanged until the resource is deleted.
1921
+ # Corresponds to the JSON property `uid`
1922
+ # @return [String]
1923
+ attr_accessor :uid
1924
+
1925
+ # Output only. The last-modified time.
1926
+ # Corresponds to the JSON property `updateTime`
1927
+ # @return [String]
1928
+ attr_accessor :update_time
1929
+
1930
+ def initialize(**args)
1931
+ update!(**args)
1932
+ end
1933
+
1934
+ # Update properties of this object
1935
+ def update!(**args)
1936
+ @annotations = args[:annotations] if args.key?(:annotations)
1937
+ @create_time = args[:create_time] if args.key?(:create_time)
1938
+ @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
1939
+ @display_name = args[:display_name] if args.key?(:display_name)
1940
+ @etag = args[:etag] if args.key?(:etag)
1941
+ @labels = args[:labels] if args.key?(:labels)
1942
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
1943
+ @name = args[:name] if args.key?(:name)
1944
+ @uid = args[:uid] if args.key?(:uid)
1945
+ @update_time = args[:update_time] if args.key?(:update_time)
1946
+ end
1947
+ end
1948
+
1072
1949
  # Network Configuration that can be inherited by other protos.
1073
1950
  class NetworkConfig
1074
1951
  include Google::Apis::Core::Hashable
@@ -1149,6 +2026,127 @@ module Google
1149
2026
  end
1150
2027
  end
1151
2028
 
2029
+ # A representation of the Pipeline resource.
2030
+ class Pipeline
2031
+ include Google::Apis::Core::Hashable
2032
+
2033
+ # Optional. User-defined annotations. See https://google.aip.dev/128#annotations.
2034
+ # Corresponds to the JSON property `annotations`
2035
+ # @return [Hash<String,String>]
2036
+ attr_accessor :annotations
2037
+
2038
+ # Output only. The creation time. A timestamp in RFC3339 UTC "Zulu" format, with
2039
+ # nanosecond resolution and up to nine fractional digits. Examples: "2014-10-
2040
+ # 02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2041
+ # Corresponds to the JSON property `createTime`
2042
+ # @return [String]
2043
+ attr_accessor :create_time
2044
+
2045
+ # Optional. Resource name of a KMS crypto key (managed by the user) used to
2046
+ # encrypt/decrypt the event data. If not set, an internal Google-owned key will
2047
+ # be used to encrypt messages. It must match the pattern "projects/`project`/
2048
+ # locations/`location`/keyRings/`keyring`/cryptoKeys/`key`".
2049
+ # Corresponds to the JSON property `cryptoKeyName`
2050
+ # @return [String]
2051
+ attr_accessor :crypto_key_name
2052
+
2053
+ # Required. List of destinations to which messages will be forwarded. Currently,
2054
+ # exactly one destination is supported per Pipeline.
2055
+ # Corresponds to the JSON property `destinations`
2056
+ # @return [Array<Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineDestination>]
2057
+ attr_accessor :destinations
2058
+
2059
+ # Optional. Display name of resource.
2060
+ # Corresponds to the JSON property `displayName`
2061
+ # @return [String]
2062
+ attr_accessor :display_name
2063
+
2064
+ # Output only. This checksum is computed by the server based on the value of
2065
+ # other fields, and might be sent only on create requests to ensure that the
2066
+ # client has an up-to-date value before proceeding.
2067
+ # Corresponds to the JSON property `etag`
2068
+ # @return [String]
2069
+ attr_accessor :etag
2070
+
2071
+ # Represents the format of message data.
2072
+ # Corresponds to the JSON property `inputPayloadFormat`
2073
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMessagePayloadFormat]
2074
+ attr_accessor :input_payload_format
2075
+
2076
+ # Optional. User labels attached to the Pipeline that can be used to group
2077
+ # resources. An object containing a list of "key": value pairs. Example: ` "name"
2078
+ # : "wrench", "mass": "1.3kg", "count": "3" `.
2079
+ # Corresponds to the JSON property `labels`
2080
+ # @return [Hash<String,String>]
2081
+ attr_accessor :labels
2082
+
2083
+ # The configuration for Platform Telemetry logging for Eventarc Avdvanced
2084
+ # resources.
2085
+ # Corresponds to the JSON property `loggingConfig`
2086
+ # @return [Google::Apis::EventarcV1::LoggingConfig]
2087
+ attr_accessor :logging_config
2088
+
2089
+ # Optional. List of mediation operations to be performed on the message.
2090
+ # Currently, only one Transformation operation is allowed in each Pipeline.
2091
+ # Corresponds to the JSON property `mediations`
2092
+ # @return [Array<Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineMediation>]
2093
+ attr_accessor :mediations
2094
+
2095
+ # Identifier. The resource name of the Pipeline. Must be unique within the
2096
+ # location of the project and must be in `projects/`project`/locations/`location`
2097
+ # /pipelines/`pipeline`` format.
2098
+ # Corresponds to the JSON property `name`
2099
+ # @return [String]
2100
+ attr_accessor :name
2101
+
2102
+ # The retry policy configuration for the Pipeline. The pipeline exponentially
2103
+ # backs off in case the destination is non responsive or returns a retryable
2104
+ # error code. The default semantics are as follows: The backoff starts with a 5
2105
+ # second delay and doubles the delay after each failed attempt (10 seconds, 20
2106
+ # seconds, 40 seconds, etc.). The delay is capped at 60 seconds by default.
2107
+ # Please note that if you set the min_retry_delay and max_retry_delay fields to
2108
+ # the same value this will make the duration between retries constant.
2109
+ # Corresponds to the JSON property `retryPolicy`
2110
+ # @return [Google::Apis::EventarcV1::GoogleCloudEventarcV1PipelineRetryPolicy]
2111
+ attr_accessor :retry_policy
2112
+
2113
+ # Output only. Server-assigned unique identifier for the Pipeline. The value is
2114
+ # a UUID4 string and guaranteed to remain unchanged until the resource is
2115
+ # deleted.
2116
+ # Corresponds to the JSON property `uid`
2117
+ # @return [String]
2118
+ attr_accessor :uid
2119
+
2120
+ # Output only. The last-modified time. A timestamp in RFC3339 UTC "Zulu" format,
2121
+ # with nanosecond resolution and up to nine fractional digits. Examples: "2014-
2122
+ # 10-02T15:01:23Z" and "2014-10-02T15:01:23.045123456Z".
2123
+ # Corresponds to the JSON property `updateTime`
2124
+ # @return [String]
2125
+ attr_accessor :update_time
2126
+
2127
+ def initialize(**args)
2128
+ update!(**args)
2129
+ end
2130
+
2131
+ # Update properties of this object
2132
+ def update!(**args)
2133
+ @annotations = args[:annotations] if args.key?(:annotations)
2134
+ @create_time = args[:create_time] if args.key?(:create_time)
2135
+ @crypto_key_name = args[:crypto_key_name] if args.key?(:crypto_key_name)
2136
+ @destinations = args[:destinations] if args.key?(:destinations)
2137
+ @display_name = args[:display_name] if args.key?(:display_name)
2138
+ @etag = args[:etag] if args.key?(:etag)
2139
+ @input_payload_format = args[:input_payload_format] if args.key?(:input_payload_format)
2140
+ @labels = args[:labels] if args.key?(:labels)
2141
+ @logging_config = args[:logging_config] if args.key?(:logging_config)
2142
+ @mediations = args[:mediations] if args.key?(:mediations)
2143
+ @name = args[:name] if args.key?(:name)
2144
+ @retry_policy = args[:retry_policy] if args.key?(:retry_policy)
2145
+ @uid = args[:uid] if args.key?(:uid)
2146
+ @update_time = args[:update_time] if args.key?(:update_time)
2147
+ end
2148
+ end
2149
+
1152
2150
  # An Identity and Access Management (IAM) policy, which specifies access
1153
2151
  # controls for Google Cloud resources. A `Policy` is a collection of `bindings`.
1154
2152
  # A `binding` binds one or more `members`, or principals, to a single `role`.