
    +	                     L    d Z ddlmZ ddlmZ ddlmZ ddlmZ  G d d      Zy)	z)Cloud Datastream private connections API.    )absolute_import)division)unicode_literals)utilc                   &    e Zd ZdZddZd ZddZy)RoutesClientz9Client for private connections routes service in the API.Nc                     |xs t        j                         | _        |xs t        j                         | _        | j                  j
                  | _        t        j                         | _        y N)	r   GetClientInstance_clientGetMessagesModule	_messages,projects_locations_privateConnections_routes_serviceGetResourceParser_resource_parser)selfclientmessagess      /lib/googlecloudsdk/api_lib/datastream/routes.py__init__zRoutesClient.__init__   sN    5T335DL9!7!7!9DNLLMMDM 224D    c                     | j                   j                  |i |j                  |j                  |j                        }|S )zReturns a route object.)namelabelsdisplayNamedestinationAddressdestinationPort)r   Routedisplay_namedestination_addressdestination_port)r   route_idargs	route_objs       r   	_GetRoutezRoutesClient._GetRoute!   sB    $$bd.?.?33-- % /I r   c                     | j                  ||      }t        j                         }| j                  j                  } |||j
                  ||      }| j                  j                  |      S )a  Creates a route.

    Args:
      parent_ref: a Resource reference to a parent datastream.projects.
      locations.privateConnections resource for this route.
      route_id: str, the name of the resource to create.
      args: argparse.Namespace, The arguments that this command was invoked
        with.

    Returns:
      Operation: the operation for creating the private connection.
    )routerouteIdparent	requestId)r&   r   GenerateRequestIdr   @DatastreamProjectsLocationsPrivateConnectionsRoutesCreateRequestr   r   Create)r   
parent_refr#   r$   r(   
request_idcreate_req_type
create_reqs           r   r.   zRoutesClient.Create)   sb     NN8T*E'')JnneeO 

	J ==
++r   )NNr
   )__name__
__module____qualname____doc__r   r&   r.    r   r   r   r      s    A5,r   r   N)r6   
__future__r   r   r   !googlecloudsdk.api_lib.datastreamr   r   r7   r   r   <module>r:      s     0 &  ' 2), ),r   