Merchant API . accounts . dataSources

Instance Methods

fileUploads()

Returns the fileUploads Resource.

close()

Close httplib2 connections.

create(parent, body=None, x__xgafv=None)

Creates the new data source configuration for the given account.

delete(name, x__xgafv=None)

Deletes a data source from your Merchant Center account.

fetch(name, body=None, x__xgafv=None)

Performs the data fetch immediately (even outside fetch schedule) on a data source from your Merchant Center Account. If you need to call this method more than once per day, you should use the Products service to update your product data instead. This method only works on data sources with a file input set.

get(name, x__xgafv=None)

Retrieves the data source configuration for the given account.

list(parent, pageSize=None, pageToken=None, x__xgafv=None)

Lists the configurations for data sources for the given account.

list_next()

Retrieves the next page of results.

patch(name, body=None, updateMask=None, x__xgafv=None)

Updates the existing data source configuration. The fields that are set in the update mask but not provided in the resource will be deleted.

Method Details

close()
Close httplib2 connections.
create(parent, body=None, x__xgafv=None)
Creates the new data source configuration for the given account.

Args:
  parent: string, Required. The account where this data source will be created. Format: `accounts/{account}` (required)
  body: object, The request body.
    The object takes the form of:

{ # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
  "dataSourceId": "A String", # Output only. The data source id.
  "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
  "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
    "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
      "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
      "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
      "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
      "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
      "frequency": "A String", # Required. The frequency describing fetch schedule.
      "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
      "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
        "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
        "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
        "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      },
      "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
      "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
    },
    "fileInputType": "A String", # Output only. The type of file input.
    "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
  },
  "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
  "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
  "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
    "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
      "A String",
    ],
    "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
      "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
        { # Data source reference can be used to manage related data sources within the data source service.
          "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
          "self": True or False, # Self should be used to reference the primary data source itself.
          "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
        },
      ],
    },
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
  },
  "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
    "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
  },
  "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
      { # Data source reference can be used to manage related data sources within the data source service.
        "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
        "self": True or False, # Self should be used to reference the primary data source itself.
        "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
      },
    ],
  },
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
  "dataSourceId": "A String", # Output only. The data source id.
  "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
  "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
    "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
      "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
      "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
      "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
      "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
      "frequency": "A String", # Required. The frequency describing fetch schedule.
      "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
      "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
        "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
        "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
        "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      },
      "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
      "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
    },
    "fileInputType": "A String", # Output only. The type of file input.
    "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
  },
  "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
  "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
  "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
    "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
      "A String",
    ],
    "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
      "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
        { # Data source reference can be used to manage related data sources within the data source service.
          "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
          "self": True or False, # Self should be used to reference the primary data source itself.
          "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
        },
      ],
    },
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
  },
  "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
    "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
  },
  "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
      { # Data source reference can be used to manage related data sources within the data source service.
        "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
        "self": True or False, # Self should be used to reference the primary data source itself.
        "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
      },
    ],
  },
}
delete(name, x__xgafv=None)
Deletes a data source from your Merchant Center account.

Args:
  name: string, Required. The name of the data source to delete. Format: `accounts/{account}/dataSources/{datasource}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
fetch(name, body=None, x__xgafv=None)
Performs the data fetch immediately (even outside fetch schedule) on a data source from your Merchant Center Account. If you need to call this method more than once per day, you should use the Products service to update your product data instead. This method only works on data sources with a file input set.

Args:
  name: string, Required. The name of the data source resource to fetch. Format: `accounts/{account}/dataSources/{datasource}` (required)
  body: object, The request body.
    The object takes the form of:

{ # Request message for the FetchDataSource method.
}

  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }
}
get(name, x__xgafv=None)
Retrieves the data source configuration for the given account.

Args:
  name: string, Required. The name of the data source to retrieve. Format: `accounts/{account}/dataSources/{datasource}` (required)
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
  "dataSourceId": "A String", # Output only. The data source id.
  "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
  "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
    "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
      "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
      "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
      "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
      "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
      "frequency": "A String", # Required. The frequency describing fetch schedule.
      "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
      "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
        "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
        "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
        "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      },
      "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
      "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
    },
    "fileInputType": "A String", # Output only. The type of file input.
    "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
  },
  "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
  "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
  "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
    "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
      "A String",
    ],
    "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
      "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
        { # Data source reference can be used to manage related data sources within the data source service.
          "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
          "self": True or False, # Self should be used to reference the primary data source itself.
          "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
        },
      ],
    },
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
  },
  "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
    "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
  },
  "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
      { # Data source reference can be used to manage related data sources within the data source service.
        "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
        "self": True or False, # Self should be used to reference the primary data source itself.
        "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
      },
    ],
  },
}
list(parent, pageSize=None, pageToken=None, x__xgafv=None)
Lists the configurations for data sources for the given account.

Args:
  parent: string, Required. The account to list data sources for. Format: `accounts/{account}` (required)
  pageSize: integer, Optional. The maximum number of data sources to return. The service may return fewer than this value. The maximum value is 1000; values above 1000 will be coerced to 1000. If unspecified, the maximum number of data sources will be returned.
  pageToken: string, Optional. A page token, received from a previous `ListDataSources` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListDataSources` must match the call that provided the page token.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # Response message for the ListDataSources method.
  "dataSources": [ # The data sources from the specified account.
    { # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
      "dataSourceId": "A String", # Output only. The data source id.
      "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
      "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
        "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
          "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
          "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
          "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
          "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
          "frequency": "A String", # Required. The frequency describing fetch schedule.
          "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
          "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
            "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
            "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
            "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
            "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
          },
          "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
          "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
        },
        "fileInputType": "A String", # Output only. The type of file input.
        "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
      },
      "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
      "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
        "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
        "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
      },
      "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
      },
      "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
      "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
        "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
        "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
        "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
          "A String",
        ],
        "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
          "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
            { # Data source reference can be used to manage related data sources within the data source service.
              "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
              "self": True or False, # Self should be used to reference the primary data source itself.
              "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
            },
          ],
        },
        "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
      },
      "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
      },
      "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
        "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
        "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
      },
      "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
        "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
        "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
      },
      "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
        "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
        "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
        "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
          { # Data source reference can be used to manage related data sources within the data source service.
            "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
            "self": True or False, # Self should be used to reference the primary data source itself.
            "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
          },
        ],
      },
    },
  ],
  "nextPageToken": "A String", # A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages.
}
list_next()
Retrieves the next page of results.

        Args:
          previous_request: The request for the previous page. (required)
          previous_response: The response from the request for the previous page. (required)

        Returns:
          A request object that you can call 'execute()' on to request the next
          page. Returns None if there are no more items in the collection.
        
patch(name, body=None, updateMask=None, x__xgafv=None)
Updates the existing data source configuration. The fields that are set in the update mask but not provided in the resource will be deleted.

Args:
  name: string, Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}` (required)
  body: object, The request body.
    The object takes the form of:

{ # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
  "dataSourceId": "A String", # Output only. The data source id.
  "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
  "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
    "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
      "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
      "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
      "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
      "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
      "frequency": "A String", # Required. The frequency describing fetch schedule.
      "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
      "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
        "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
        "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
        "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      },
      "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
      "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
    },
    "fileInputType": "A String", # Output only. The type of file input.
    "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
  },
  "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
  "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
  "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
    "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
      "A String",
    ],
    "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
      "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
        { # Data source reference can be used to manage related data sources within the data source service.
          "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
          "self": True or False, # Self should be used to reference the primary data source itself.
          "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
        },
      ],
    },
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
  },
  "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
    "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
  },
  "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
      { # Data source reference can be used to manage related data sources within the data source service.
        "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
        "self": True or False, # Self should be used to reference the primary data source itself.
        "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
      },
    ],
  },
}

  updateMask: string, Required. The list of data source fields to be updated. Fields specified in the update mask without a value specified in the body will be deleted from the data source. Providing special "*" value for full data source replacement is not supported.
  x__xgafv: string, V1 error format.
    Allowed values
      1 - v1 error format
      2 - v2 error format

Returns:
  An object of the form:

    { # The [data source](https://support.google.com/merchants/answer/7439058) for the Merchant Center account.
  "dataSourceId": "A String", # Output only. The data source id.
  "displayName": "A String", # Required. The displayed data source name in the Merchant Center UI.
  "fileInput": { # The data specific for file data sources. This field is empty for other data source inputs. # Optional. The field is used only when data is managed through a file.
    "fetchSettings": { # Fetch details to deliver the data source. # Optional. Fetch details to deliver the data source. It contains settings for `FETCH` and `GOOGLE_SHEETS` file input types. The required fields vary based on the frequency of fetching.
      "dayOfMonth": 42, # Optional. The day of the month when the data source file should be fetched (1-31). This field can only be set for monthly frequency.
      "dayOfWeek": "A String", # Optional. The day of the week when the data source file should be fetched. This field can only be set for weekly frequency.
      "enabled": True or False, # Optional. Enables or pauses the fetch schedule.
      "fetchUri": "A String", # Optional. The URL where the data source file can be fetched. Google Merchant Center supports automatic scheduled uploads using the HTTP, HTTPS or SFTP protocols, so the value will need to be a valid link using one of those three protocols. Immutable for Google Sheets files.
      "frequency": "A String", # Required. The frequency describing fetch schedule.
      "password": "A String", # Optional. An optional password for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
      "timeOfDay": { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # Optional. The hour of the day when the data source file should be fetched. Minutes and seconds are not supported and will be ignored.
        "hours": 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time.
        "minutes": 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
        "nanos": 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
        "seconds": 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
      },
      "timeZone": "A String", # Optional. [Time zone](https://cldr.unicode.org) used for schedule. UTC by default. For example, "America/Los_Angeles".
      "username": "A String", # Optional. An optional user name for fetch_uri. Used for [submitting data sources through SFTP](https://support.google.com/merchants/answer/13813117).
    },
    "fileInputType": "A String", # Output only. The type of file input.
    "fileName": "A String", # Optional. The file name of the data source. Required for `UPLOAD` file input type.
  },
  "input": "A String", # Output only. Determines the type of input to the data source. Based on the input some settings might not work. Only generic data sources can be created through the API.
  "localInventoryDataSource": { # The local inventory data source. # Required. The [local inventory](https://support.google.com/merchants/answer/7023001) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the local inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the local inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "merchantReviewDataSource": { # The merchant review data source. # Required. The [merchant review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "name": "A String", # Identifier. The name of the data source. Format: `{datasource.name=accounts/{account}/dataSources/{datasource}}`
  "primaryProductDataSource": { # The primary data source for local and online products. # Required. The [primary data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "channel": "A String", # Required. Immutable. Specifies the type of data source channel.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
    "countries": [ # Optional. The countries where the items may be displayed. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml).
      "A String",
    ],
    "defaultRule": { # Default rule management of the data source. # Optional. Default rule management of the data source. If set, the linked data sources will be replaced.
      "takeFromDataSources": [ # Required. The list of data sources linked in the [default rule](https://support.google.com/merchants/answer/7450276). This list is ordered by the default rule priority of joining the data. It might include none or multiple references to `self` and supplemental data sources. The list must not be empty. To link the data source to the default rule, you need to add a new reference to this list (in sequential order). To unlink the data source from the default rule, you need to remove the given reference from this list. Changing the order of this list will result in changing the priority of data sources in the default rule. For example, providing the following list: [`1001`, `self`] will take attribute values from supplemental data source `1001`, and fallback to `self` if the attribute is not set in `1001`.
        { # Data source reference can be used to manage related data sources within the data source service.
          "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
          "self": True or False, # Self should be used to reference the primary data source itself.
          "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
        },
      ],
    },
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept products without that restriction.
  },
  "productReviewDataSource": { # The product review data source. # Required. The [product review](https://support.google.com/merchants/answer/7045996) data source.
  },
  "promotionDataSource": { # The promotion data source. # Required. The [promotion](https://support.google.com/merchants/answer/2906014) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items in the data source.
    "targetCountry": "A String", # Required. Immutable. The target country used as part of the unique identifier. Represented as a [CLDR territory code](https://github.com/unicode-org/cldr/blob/latest/common/main/en.xml). Promotions are only available in selected [countries](https://support.google.com/merchants/answer/4588460).
  },
  "regionalInventoryDataSource": { # The regional inventory data source. # Required. The [regional inventory](https://support.google.com/merchants/answer/7439058) data source.
    "contentLanguage": "A String", # Required. Immutable. The two-letter ISO 639-1 language of the items to which the regional inventory is provided.
    "feedLabel": "A String", # Required. Immutable. The feed label of the offers to which the regional inventory is provided. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels).
  },
  "supplementalProductDataSource": { # The supplemental data source for local and online products. After creation, you should make sure to link the supplemental product data source into one or more primary product data sources. # Required. The [supplemental data source](https://support.google.com/merchants/answer/7439058) for local and online products.
    "contentLanguage": "A String", # Optional. Immutable. The two-letter ISO 639-1 language of the items in the data source. `feedLabel` and `contentLanguage` must be either both set or unset. The fields can only be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "feedLabel": "A String", # Optional. Immutable. The feed label that is specified on the data source level. Must be less than or equal to 20 uppercase letters (A-Z), numbers (0-9), and dashes (-). See also [migration to feed labels](https://developers.google.com/shopping-content/guides/products/feed-labels). `feedLabel` and `contentLanguage` must be either both set or unset for data sources with product content type. They must be set for data sources with a file input. The fields must be unset for data sources without file input. If set, the data source will only accept products matching this combination. If unset, the data source will accept produts without that restriction.
    "referencingPrimaryDataSources": [ # Output only. The (unordered and deduplicated) list of all primary data sources linked to this data source in either default or custom rules. Supplemental data source cannot be deleted before all links are removed.
      { # Data source reference can be used to manage related data sources within the data source service.
        "primaryDataSourceName": "A String", # Optional. The name of the primary data source. Format: `accounts/{account}/dataSources/{datasource}`
        "self": True or False, # Self should be used to reference the primary data source itself.
        "supplementalDataSourceName": "A String", # Optional. The name of the supplemental data source. Format: `accounts/{account}/dataSources/{datasource}`
      },
    ],
  },
}