
    "                     P    S r SrSrSrSrSrSrSrS rSS	 jr	S
 r
S rS rSS jrg)z6Flags and helpers for the Datastream related commands.a    Path to a YAML (or JSON) file containing the MySQL data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "mysqlDatabases": [
        {
          "database":"sample_database",
          "mysqlTables": [
            {
              "table": "sample_table",
              "mysqlColumns": [
                {
                  "column": "sample_column",
                }
                ]
            }
          ]
        }
      ]
    }
  ```
a    Path to a YAML (or JSON) file containing the Oracle data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "oracleSchemas": [
        {
          "schema": "SAMPLE",
          "oracleTables": [
            {
              "table": "SAMPLE_TABLE",
              "oracleColumns": [
                {
                  "column": "COL",
                }
              ]
            }
          ]
        }
      ]
    }
  ```
a    Path to a YAML (or JSON) file containing the PostgreSQL data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "postgresqlSchemas": [
        {
          "schema": "SAMPLE",
          "postgresqlTables": [
            {
              "table": "SAMPLE_TABLE",
              "postgresqlColumns": [
                {
                  "column": "COL",
                }
              ]
            }
          ]
        }
      ]
    }
  ```
a    Path to a YAML (or JSON) file containing the SQL Server data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "schemas": [
        {
          "schema": "SAMPLE",
          "tables": [
            {
              "table": "SAMPLE_TABLE",
              "columns": [
                {
                  "column": "COL",
                }
              ]
            }
          ]
        }
      ]
    }
  ```
aF    Path to a YAML (or JSON) file containing the Salesforce data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "objects": [
        {
          "objectName": "SAMPLE",
        },
        {
          "objectName": "SAMPLE2",
        }
      ]
    }
  ```
a    Path to a YAML (or JSON) file containing the Spanner data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "schemas": [
        {
          "schema": "SAMPLE_SCHEMA",
          "tables": [
            {
              "table": "SAMPLE_TABLE",
              "columns": [
                {
                  "column": "SAMPLE_COLUMN",
                }
              ]
            }
          ]
        }
      ]
    }
  ```
a     Path to a YAML (or JSON) file containing the MongoDB data sources to avoid backfilling.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
    {
      "databases": [
        {
          "database":"sample_database",
          "collections": [
            {
              "collection": "sample_collection",
              "fields": [
                {
                  "field": "sample_field",
                }
              ]
            }
          ]
        }
      ]
    }
  ```
c                 (    SnU R                  SUS9  g)z,Adds a --rule-sets flag to the given parser.a  Path to a JSON file containing a list of rule sets
  to be applied to the stream.

  The JSON file is formatted as follows, with camelCase field naming:

  ```
  [
    {
      "objectFilter": {
        "sourceObjectIdentifier": {
          "oracleIdentifier": {
            "schema": "schema1",
            "table": "table1"
          }
        }
      },
      "customizationRules": [
        {
          "bigqueryClustering": {
            "columns": ["COL_A"]
          }
        }
      ]
    },
    {
      "objectFilter": {
        "sourceObjectIdentifier": {
          "oracleIdentifier": {
            "schema": "schema2",
            "table": "table2"
          }
        }
      },
      "customizationRules": [
        {
          "bigqueryPartitioning": {
            "timeUnitPartition": {
              "column": "TIME_COL",
              "partitioningTimeGranularity": "PARTITIONING_TIME_GRANULARITY_DAY"
            }
          }
        }
      ]
    }
  ]
  ```
z--rule-setshelpNadd_argumentparser	help_texts     :lib/googlecloudsdk/command_lib/datastream/streams/flags.pyAddRuleSetsFlagr      s    .)^ 	m)4    c                 (    SnU R                  SX!S9  g)z/Adds a --display-name flag to the given parser.zFriendly name for the stream.z--display-name)r   requiredNr   )r   r   r	   s      r
   AddDisplayNameFlagr      s    1)&YJr   c                 (    SnU R                  SUS9  g)z.Adds a --update-mask flag to the given parser.a  Used to specify the fields to be overwritten in the stream resource by the update.
  If the update mask is used, then a field will be overwritten only if it is in the mask. If the user does not provide a mask then all fields will be overwritten.
  This is a comma-separated list of fully qualified names of fields, written as snake_case or camelCase. Example: "display_name, source_config.oracle_source_config".z--update-maskr   Nr   r   s     r
   AddUpdateMaskFlagr      s    i) 	oI6r   c                 (    SnU R                  SUS9  g)z(Adds a --state flag to the given parser.z3Stream state, can be set to: "RUNNING" or "PAUSED".z--stater   Nr   r   s     r
   AddStateFlagr     s    G)ii0r   c                     U R                  SS9nUR                  SSUR                  5       -  SSS9  UR                  SS	U-  SSS9  g
)z;Adds a --validate-only or --force flag to the given parser.Tmutexz--validate-onlyzROnly validate the stream, but do not %s any resources.
      The default is false.
store_trueF)r   actiondefaultz--forcez$%s the stream without validating it.N)	add_groupr   lower)r   verbvalidation_groups      r
   AddValidationGroupr     sk    %%D%1!%.    5<	   r   c                    U R                  USS9nUR                  SSSS9  UR                  5       nUR                  SSSS9  UR                  SS	9nUR                  S
[        S9  UR                  S[        S9  UR                  S[        S9  UR                  S[
        S9  UR                  S[        S9  UR                  S[        S9  UR                  S[        S9  g)zCAdds a --backfiill-all or --backfill-none flag to the given parser.T)r   r   z--backfill-nonezDo not automatically backfill any objects. This flag is equivalent
      to selecting the Manual backfill type in the Google Cloud console.r   )r   r   z--backfill-allzAutomatically backfill objects included in the stream source
      configuration. Specific objects can be excluded. This flag is equivalent
      to selecting the Automatic backfill type in the Google Cloud console.r   z--oracle-excluded-objectsr   z--mysql-excluded-objectsz--postgresql-excluded-objectsz--sqlserver-excluded-objectsz--salesforce-excluded-objectsz--spanner-excluded-objectsz--mongodb-excluded-objectsN)	r   r   "_ORACLE_EXCLUDED_OBJECTS_HELP_TEXT!_MYSQL_EXCLUDED_OBJECTS_HELP_TEXT&_POSTGRESQL_EXCLUDED_OBJECTS_HELP_TEXT%_SQLSERVER_EXCLUDED_OBJECTS_HELP_TEXT&_SALESFORCE_EXCLUDED_OBJECTS_HELP_TEXT#_SPANNER_EXCLUDED_OBJECTS_HELP_TEXT#_MONGODB_EXCLUDED_OBJECTS_HELP_TEXT)r   r   backfill_groupbackfill_all_groupbackfill_all_excluded_objectss        r
   AddBackfillStrategyGroupr*     s9   ##XT#B.L	  
 &//1!!O  "  #5">">T">"J,,!(J -   ,, 'H -   ,,%1 -   ,,$0 -   ,,%1 -   ,,". -   ,,". - r   N)T)__doc__r!   r    r"   r#   r$   r%   r&   r   r   r   r   r   r*    r   r
   <module>r-      sb    =% !4& "4* &4) %4* &&' #4' #615hK71 )r   