lib/google/apis/healthcare_v1/classes.rb in google-apis-healthcare_v1-0.41.0 vs lib/google/apis/healthcare_v1/classes.rb in google-apis-healthcare_v1-0.42.0

- old
+ new

@@ -1713,10 +1713,64 @@ def update!(**args) @resources = args[:resources] if args.key?(:resources) end end + # Contains the configuration for FHIR notifications. + class FhirNotificationConfig + include Google::Apis::Core::Hashable + + # The [Pub/Sub](https://cloud.google.com/pubsub/docs/) topic that notifications + # of changes are published on. Supplied by the client. The notification is a ` + # PubsubMessage` with the following fields: * `PubsubMessage.Data` contains the + # resource name. * `PubsubMessage.MessageId` is the ID of this notification. It + # is guaranteed to be unique within the topic. * `PubsubMessage.PublishTime` is + # the time when the message was published. Note that notifications are only sent + # if the topic is non-empty. [Topic names](https://cloud.google.com/pubsub/docs/ + # overview#names) must be scoped to a project. The Cloud Healthcare API service + # account, service-@gcp-sa-healthcare.iam.gserviceaccount.com, must have + # publisher permissions on the given Pub/Sub topic. Not having adequate + # permissions causes the calls that send notifications to fail (https://cloud. + # google.com/healthcare-api/docs/permissions-healthcare-api-gcp-products# + # dicom_fhir_and_hl7v2_store_cloud_pubsub_permissions). If a notification can't + # be published to Pub/Sub, errors are logged to Cloud Logging. For more + # information, see [Viewing error logs in Cloud Logging](https://cloud.google. + # com/healthcare-api/docs/how-tos/logging). + # Corresponds to the JSON property `pubsubTopic` + # @return [String] + attr_accessor :pubsub_topic + + # Whether to send full FHIR resource to this Pub/Sub topic. + # Corresponds to the JSON property `sendFullResource` + # @return [Boolean] + attr_accessor :send_full_resource + alias_method :send_full_resource?, :send_full_resource + + # Whether to send full FHIR resource to this pubsub topic for deleting FHIR + # resource. Note that setting this to true does not guarantee that all previous + # resources will be sent in the format of full FHIR resource. When a resource + # change is too large or during heavy traffic, only the resource name will be + # sent. Clients should always check the "payloadType" label from a Pub/Sub + # message to determine whether it needs to fetch the full previous resource as a + # separate operation. + # Corresponds to the JSON property `sendPreviousResourceOnDelete` + # @return [Boolean] + attr_accessor :send_previous_resource_on_delete + alias_method :send_previous_resource_on_delete?, :send_previous_resource_on_delete + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @pubsub_topic = args[:pubsub_topic] if args.key?(:pubsub_topic) + @send_full_resource = args[:send_full_resource] if args.key?(:send_full_resource) + @send_previous_resource_on_delete = args[:send_previous_resource_on_delete] if args.key?(:send_previous_resource_on_delete) + end + end + # Represents a FHIR store. class FhirStore include Google::Apis::Core::Hashable # Enable parsing of references within complex FHIR data types such as Extensions. @@ -1801,10 +1855,15 @@ # Specifies where to send notifications upon changes to a data store. # Corresponds to the JSON property `notificationConfig` # @return [Google::Apis::HealthcareV1::NotificationConfig] attr_accessor :notification_config + # Specifies where and whether to send notifications upon changes to a FHIR store. + # Corresponds to the JSON property `notificationConfigs` + # @return [Array<Google::Apis::HealthcareV1::FhirNotificationConfig>] + attr_accessor :notification_configs + # A list of streaming configs that configure the destinations of streaming # export for every resource mutation in this FHIR store. Each store is allowed # to have up to 10 streaming configs. After a new config is added, the next # resource mutation is streamed to the new location in addition to the existing # ones. When a location is removed from the list, the server stops streaming to @@ -1843,9 +1902,10 @@ @disable_resource_versioning = args[:disable_resource_versioning] if args.key?(:disable_resource_versioning) @enable_update_create = args[:enable_update_create] if args.key?(:enable_update_create) @labels = args[:labels] if args.key?(:labels) @name = args[:name] if args.key?(:name) @notification_config = args[:notification_config] if args.key?(:notification_config) + @notification_configs = args[:notification_configs] if args.key?(:notification_configs) @stream_configs = args[:stream_configs] if args.key?(:stream_configs) @validation_config = args[:validation_config] if args.key?(:validation_config) @version = args[:version] if args.key?(:version) end end