google-apis-eventarc_v1 0.54.0 → 0.55.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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`.