:py:mod:`vendor_fabric.google` ============================== .. py:module:: vendor_fabric.google .. autodoc2-docstring:: vendor_fabric.google :parser: myst :allowtitles: Submodules ---------- .. toctree:: :titlesonly: :maxdepth: 1 vendor_fabric.google.tools vendor_fabric.google.workspace vendor_fabric.google.services vendor_fabric.google.cloud vendor_fabric.google.constants vendor_fabric.google.jules vendor_fabric.google.billing Package Contents ---------------- Classes ~~~~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`GoogleConnector ` - .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector :parser: myst :summary: Data ~~~~ .. list-table:: :class: autosummary longtable :align: left * - :py:obj:`DEFAULT_SCOPES ` - .. autodoc2-docstring:: vendor_fabric.google.DEFAULT_SCOPES :parser: myst :summary: API ~~~ .. py:data:: DEFAULT_SCOPES :canonical: vendor_fabric.google.DEFAULT_SCOPES :value: ['https://www.googleapis.com/auth/cloud-platform', 'https://www.googleapis.com/auth/cloud-billing', ... .. autodoc2-docstring:: vendor_fabric.google.DEFAULT_SCOPES :parser: myst .. py:class:: GoogleConnector(service_account_info: dict[str, typing.Any] | str | None = None, scopes: list[str] | None = None, subject: str | None = None, logger: extended_data.logging.Logging | None = None, **kwargs: typing.Any) :canonical: vendor_fabric.google.GoogleConnector Bases: :py:obj:`vendor_fabric.google.workspace.GoogleWorkspaceMixin`, :py:obj:`vendor_fabric.google.cloud.GoogleCloudMixin`, :py:obj:`vendor_fabric.google.billing.GoogleBillingMixin`, :py:obj:`vendor_fabric.google.services.GoogleServicesMixin`, :py:obj:`vendor_fabric.base.ConnectorBase` .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector :parser: myst .. rubric:: Initialization .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.__init__ :parser: myst .. py:property:: credentials :canonical: vendor_fabric.google.GoogleConnector.credentials :type: google.oauth2.service_account.Credentials .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.credentials :parser: myst .. py:method:: get_credentials_for_subject(subject: str) -> google.oauth2.service_account.Credentials :canonical: vendor_fabric.google.GoogleConnector.get_credentials_for_subject .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_credentials_for_subject :parser: myst .. py:method:: get_connector_for_user(primary_email: str, scopes: list[str] | None = None) -> vendor_fabric.google.GoogleConnector :canonical: vendor_fabric.google.GoogleConnector.get_connector_for_user .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_connector_for_user :parser: myst .. py:method:: get_service(service_name: str, version: str, subject: str | None = None) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_service :parser: myst .. py:method:: get_admin_directory_service(subject: str | None = None) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_admin_directory_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_admin_directory_service :parser: myst .. py:method:: get_cloud_resource_manager_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_cloud_resource_manager_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_cloud_resource_manager_service :parser: myst .. py:method:: get_iam_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_iam_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_iam_service :parser: myst .. py:method:: get_billing_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_billing_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_billing_service :parser: myst .. py:method:: get_compute_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_compute_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_compute_service :parser: myst .. py:method:: get_container_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_container_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_container_service :parser: myst .. py:method:: get_storage_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_storage_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_storage_service :parser: myst .. py:method:: get_sqladmin_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_sqladmin_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_sqladmin_service :parser: myst .. py:method:: get_pubsub_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_pubsub_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_pubsub_service :parser: myst .. py:method:: get_serviceusage_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_serviceusage_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_serviceusage_service :parser: myst .. py:method:: get_cloudkms_service() -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_cloudkms_service .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.get_cloudkms_service :parser: myst .. py:method:: list_users(domain: str | None = None, max_results: int = 500, *, ou_allow_list: collections.abc.Sequence[str] | str | None = None, ou_deny_list: collections.abc.Sequence[str] | str | None = None, include_suspended: bool | None = None, exclude_bots: bool | None = None, flatten_names: bool | None = None, key_by_email: bool | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] | extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.list_users .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.list_users :parser: myst .. py:method:: list_groups(domain: str | None = None, max_results: int = 200, *, ou_allow_list: collections.abc.Sequence[str] | str | None = None, ou_deny_list: collections.abc.Sequence[str] | str | None = None, include_suspended: bool | None = None, exclude_bots: bool | None = None, flatten_names: bool | None = None, key_by_email: bool | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] | extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.list_groups .. autodoc2-docstring:: vendor_fabric.google.GoogleConnector.list_groups :parser: myst .. py:method:: list_workspace_users(domain: str | None = None, max_results: int = 500, unhump_users: bool = False, subject: str | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_workspace_users .. py:method:: get_user(user_key: str, subject: str | None = None) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_user .. py:method:: create_user(primary_email: str, given_name: str, family_name: str, password: str | None = None, change_password_at_next_login: bool = True, org_unit_path: str = '/', subject: str | None = None, **additional_fields: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_user .. py:method:: update_user(user_key: str, subject: str | None = None, **fields: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.update_user .. py:method:: delete_user(user_key: str, subject: str | None = None) -> None :canonical: vendor_fabric.google.GoogleConnector.delete_user .. py:method:: list_workspace_groups(domain: str | None = None, max_results: int = 200, unhump_groups: bool = False, subject: str | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_workspace_groups .. py:method:: get_group(group_key: str, subject: str | None = None) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_group .. py:method:: create_group(email: str, name: str, description: str = '', subject: str | None = None) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_group .. py:method:: delete_group(group_key: str, subject: str | None = None) -> None :canonical: vendor_fabric.google.GoogleConnector.delete_group .. py:method:: list_group_members(group_key: str, roles: list[str] | None = None, unhump_members: bool = False, subject: str | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_group_members .. py:method:: add_group_member(group_key: str, email: str, role: str = 'MEMBER', subject: str | None = None) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.add_group_member .. py:method:: remove_group_member(group_key: str, member_key: str, subject: str | None = None) -> None :canonical: vendor_fabric.google.GoogleConnector.remove_group_member .. py:method:: list_org_units(org_unit_path: str = '/', org_unit_type: str = 'all', subject: str | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_org_units .. py:method:: create_or_update_user(primary_email: str, given_name: str, family_name: str, password: str | None = None, update_if_exists: bool = False, change_password_at_next_login: bool = True, org_unit_path: str = '/', subject: str | None = None, **additional_fields: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_or_update_user .. py:method:: create_or_update_group(email: str, name: str, description: str = '', update_if_exists: bool = False, subject: str | None = None, **additional_fields: typing.Any) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_or_update_group .. py:method:: list_available_licenses(customer_id: str = 'my_customer', product_id: str | None = None, subject: str | None = None) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_available_licenses .. py:method:: get_license_summary(customer_id: str = 'my_customer', subject: str | None = None) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_license_summary .. py:method:: get_organization_id() -> extended_data.containers.ExtendedString :canonical: vendor_fabric.google.GoogleConnector.get_organization_id .. py:method:: get_organization() -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_organization .. py:method:: list_projects(parent: str | None = None, filter_query: str | None = None, unhump_projects: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_projects .. py:method:: get_project(project_id: str) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_project .. py:method:: create_project(project_id: str, display_name: str, parent: str | None = None, labels: dict[str, str] | None = None) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_project .. py:method:: delete_project(project_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.delete_project .. py:method:: move_project(project_id: str, destination_parent: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.move_project .. py:method:: list_folders(parent: str, unhump_folders: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_folders .. py:method:: get_org_policy(resource: str, constraint: str) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_org_policy .. py:method:: set_org_policy(resource: str, policy: dict[str, typing.Any]) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.set_org_policy .. py:method:: get_iam_policy(resource: str, resource_type: str = 'projects') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_iam_policy .. py:method:: set_iam_policy(resource: str, policy: collections.abc.Mapping[str, typing.Any], resource_type: str = 'projects') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.set_iam_policy .. py:method:: add_iam_binding(resource: str, role: str, member: str, resource_type: str = 'projects') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.add_iam_binding .. py:method:: list_service_accounts(project_id: str, unhump_accounts: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_service_accounts .. py:method:: create_service_account(project_id: str, account_id: str, display_name: str, description: str = '') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_service_account .. py:method:: list_billing_accounts(filter_query: str | None = None, unhump_accounts: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_billing_accounts .. py:method:: get_billing_account(billing_account_id: str) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_billing_account .. py:method:: get_project_billing_info(project_id: str) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_project_billing_info .. py:method:: update_project_billing_info(project_id: str, billing_account_name: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.update_project_billing_info .. py:method:: disable_project_billing(project_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.disable_project_billing .. py:method:: list_billing_account_projects(billing_account_id: str, unhump_projects: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_billing_account_projects .. py:method:: get_billing_account_iam_policy(billing_account_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_billing_account_iam_policy .. py:method:: set_billing_account_iam_policy(billing_account_id: str, policy: dict[str, typing.Any]) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.set_billing_account_iam_policy .. py:method:: get_bigquery_billing_dataset(project_id: str, dataset_id: str = 'billing_export') -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_bigquery_billing_dataset .. py:method:: setup_billing_export(billing_account_id: str, project_id: str, dataset_id: str = 'billing_export', location: str = 'US') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.setup_billing_export .. py:method:: list_compute_instances(project_id: str, zone: str | None = None, unhump_instances: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_compute_instances .. py:method:: list_gke_clusters(project_id: str, location: str = '-', unhump_clusters: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_gke_clusters .. py:method:: get_gke_cluster(project_id: str, location: str, cluster_id: str) -> extended_data.containers.ExtendedDict | None :canonical: vendor_fabric.google.GoogleConnector.get_gke_cluster .. py:method:: list_storage_buckets(project_id: str, unhump_buckets: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_storage_buckets .. py:method:: list_sql_instances(project_id: str, unhump_instances: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_sql_instances .. py:method:: list_pubsub_topics(project_id: str, unhump_topics: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_pubsub_topics .. py:method:: list_pubsub_subscriptions(project_id: str, unhump_subscriptions: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_pubsub_subscriptions .. py:method:: list_enabled_services(project_id: str, unhump_services: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_enabled_services .. py:method:: enable_service(project_id: str, service_name: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.enable_service .. py:method:: disable_service(project_id: str, service_name: str, force: bool = False) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.disable_service .. py:method:: batch_enable_services(project_id: str, service_names: list[str]) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.batch_enable_services .. py:method:: list_kms_keyrings(project_id: str, location: str, unhump_keyrings: bool = False) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.list_kms_keyrings .. py:method:: create_kms_keyring(project_id: str, location: str, keyring_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_kms_keyring .. py:method:: create_kms_key(project_id: str, location: str, keyring_id: str, key_id: str, purpose: str = 'ENCRYPT_DECRYPT', algorithm: str = 'GOOGLE_SYMMETRIC_ENCRYPTION') -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.create_kms_key .. py:method:: is_project_empty(project_id: str, check_compute: bool = True, check_gke: bool = True, check_storage: bool = True, check_sql: bool = True, check_pubsub: bool = True) -> bool :canonical: vendor_fabric.google.GoogleConnector.is_project_empty .. py:method:: get_project_iam_users(project_id: str) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_project_iam_users .. py:method:: get_pubsub_resources_for_project(project_id: str, include_subscriptions: bool = True, unhump_resources: bool = False) -> extended_data.containers.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.get_pubsub_resources_for_project .. py:method:: find_inactive_projects(projects: collections.abc.MutableMapping[str, collections.abc.MutableMapping[str, typing.Any]] | None = None, check_resources: bool = True, days_since_activity: int = 90) -> extended_data.containers.ExtendedList[extended_data.containers.ExtendedDict] :canonical: vendor_fabric.google.GoogleConnector.find_inactive_projects .. py:attribute:: BASE_URL :canonical: vendor_fabric.google.GoogleConnector.BASE_URL :type: typing.ClassVar[str] :value: .. py:attribute:: API_KEY_ENV :canonical: vendor_fabric.google.GoogleConnector.API_KEY_ENV :type: typing.ClassVar[str] :value: .. py:attribute:: CONNECTOR_CATEGORY :canonical: vendor_fabric.google.GoogleConnector.CONNECTOR_CATEGORY :type: typing.ClassVar[str] :value: 'external' .. py:attribute:: CONNECTOR_CAPABILITIES :canonical: vendor_fabric.google.GoogleConnector.CONNECTOR_CAPABILITIES :type: typing.ClassVar[tuple[str, ...]] :value: () .. py:attribute:: TIMEOUT :canonical: vendor_fabric.google.GoogleConnector.TIMEOUT :type: typing.ClassVar[float] :value: 300.0 .. py:attribute:: MIN_REQUEST_INTERVAL :canonical: vendor_fabric.google.GoogleConnector.MIN_REQUEST_INTERVAL :type: typing.ClassVar[float] :value: 0.0 .. py:attribute:: MAX_RETRIES :canonical: vendor_fabric.google.GoogleConnector.MAX_RETRIES :type: typing.ClassVar[int] :value: 5 .. py:property:: api_key :canonical: vendor_fabric.google.GoogleConnector.api_key :type: str .. py:property:: client :canonical: vendor_fabric.google.GoogleConnector.client :type: httpx.Client .. py:method:: close() -> None :canonical: vendor_fabric.google.GoogleConnector.close .. py:method:: request(method: str, endpoint: str, *, headers: dict[str, str] | None = None, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.request .. py:method:: decode_response(response: httpx.Response, *, suffix: str | None = None, as_extended: bool = True) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.decode_response .. py:method:: decode_response_file(response: httpx.Response, *, source: str | None = None, suffix: str | None = None, as_extended: bool = True, metadata: collections.abc.Mapping[str, typing.Any] | None = None) -> extended_data.io.DataFile :canonical: vendor_fabric.google.GoogleConnector.decode_response_file .. py:method:: extend_result(value: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.extend_result .. py:method:: request_data(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.request_data .. py:method:: request_data_file(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.io.DataFile :canonical: vendor_fabric.google.GoogleConnector.request_data_file .. py:method:: request_workflow(method: str, endpoint: str, *, headers: dict[str, str] | None = None, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.request_workflow .. py:method:: get(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.get .. py:method:: get_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_data .. py:method:: get_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.get_workflow .. py:method:: post(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.post .. py:method:: post_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.post_data .. py:method:: post_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.post_workflow .. py:method:: put(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.put .. py:method:: put_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.put_data .. py:method:: put_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.put_workflow .. py:method:: delete(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.delete .. py:method:: delete_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.delete_data .. py:method:: delete_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.delete_workflow .. py:method:: patch(endpoint: str, **kwargs: typing.Any) -> httpx.Response :canonical: vendor_fabric.google.GoogleConnector.patch .. py:method:: patch_data(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.patch_data .. py:method:: patch_workflow(endpoint: str, *, suffix: str | None = None, as_extended: bool = True, **kwargs: typing.Any) -> extended_data.workflows.DataWorkflow :canonical: vendor_fabric.google.GoogleConnector.patch_workflow .. py:method:: download(url: str, output_path: str) -> int :canonical: vendor_fabric.google.GoogleConnector.download .. py:attribute:: vendor_capabilities :canonical: vendor_fabric.google.GoogleConnector.vendor_capabilities :type: typing.ClassVar[dict[str, vendor_fabric.capabilities.CapabilitySpec]] :value: None .. py:attribute:: vendor_capability_methods :canonical: vendor_fabric.google.GoogleConnector.vendor_capability_methods :type: typing.ClassVar[dict[str, str]] :value: None .. py:method:: get_input(k: str, default: typing.Any | None = None, required: bool = False, is_bool: bool = False, is_integer: bool = False, is_float: bool = False, is_path: bool = False, is_datetime: bool = False, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.get_input .. py:method:: decode_input(k: str, default: typing.Any | None = None, required: bool = False, decode_from_json: bool = False, decode_from_yaml: bool = False, decode_from_base64: bool = False, allow_none: bool = True, as_extended: bool = False) -> typing.Any :canonical: vendor_fabric.google.GoogleConnector.decode_input .. py:method:: freeze_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.freeze_inputs .. py:method:: thaw_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.thaw_inputs .. py:method:: snapshot_inputs(*, frozen: bool = False) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.snapshot_inputs .. py:method:: replace_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None, *, clear_frozen: bool = True) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.replace_inputs .. py:method:: merge_inputs(new_inputs: collections.abc.Mapping[str, typing.Any] | None) -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.merge_inputs .. py:method:: shift_inputs() -> extended_data.containers.mappings.ExtendedDict :canonical: vendor_fabric.google.GoogleConnector.shift_inputs