diff --git a/Dataform/metadata/V1/Dataform.php b/Dataform/metadata/V1/Dataform.php index 800508282fbb..3ed042e5f9d3 100644 --- a/Dataform/metadata/V1/Dataform.php +++ b/Dataform/metadata/V1/Dataform.php @@ -18,13 +18,16 @@ public static function initOnce() { \GPBMetadata\Google\Api\Client::initOnce(); \GPBMetadata\Google\Api\FieldBehavior::initOnce(); \GPBMetadata\Google\Api\Resource::initOnce(); + \GPBMetadata\Google\Iam\V1\IamPolicy::initOnce(); + \GPBMetadata\Google\Iam\V1\Policy::initOnce(); + \GPBMetadata\Google\Longrunning\Operations::initOnce(); \GPBMetadata\Google\Protobuf\GPBEmpty::initOnce(); \GPBMetadata\Google\Protobuf\FieldMask::initOnce(); \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); \GPBMetadata\Google\Rpc\Status::initOnce(); \GPBMetadata\Google\Type\Interval::initOnce(); $pool->internalAddGeneratedFile( - "\x0A\xC1\xA2\x02\x0A'google/cloud/dataform/v1/dataform.proto\x12\x18google.cloud.dataform.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\x1A\x1Agoogle/type/interval.proto\"e\x0A\x13DataEncryptionState\x12N\x0A\x14kms_key_version_name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(cloudkms.googleapis.com/CryptoKeyVersion\"\x9E\x0D\x0A\x0ARepository\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bcreate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12X\x0A\x13git_remote_settings\x18\x02 \x01(\x0B26.google.cloud.dataform.v1.Repository.GitRemoteSettingsB\x03\xE0A\x01\x12f\x0A*npmrc_environment_variables_secret_version\x18\x03 \x01(\x09B2\xE0A\x01\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12p\x0A\x1Fworkspace_compilation_overrides\x18\x04 \x01(\x0B2B.google.cloud.dataform.v1.Repository.WorkspaceCompilationOverridesB\x03\xE0A\x01\x12E\x0A\x06labels\x18\x05 \x03(\x0B20.google.cloud.dataform.v1.Repository.LabelsEntryB\x03\xE0A\x01\x12,\x0A\x1Cset_authenticated_user_admin\x18\x09 \x01(\x08B\x06\xE0A\x01\xE0A\x04\x12\x1C\x0A\x0Fservice_account\x18\x0A \x01(\x09B\x03\xE0A\x01\x12?\x0A\x0Ckms_key_name\x18\x0B \x01(\x09B)\xE0A\x01\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey\x12Q\x0A\x15data_encryption_state\x18\x0C \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0F \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x1A\xE7\x04\x0A\x11GitRemoteSettings\x12\x10\x0A\x03url\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1B\x0A\x0Edefault_branch\x18\x02 \x01(\x09B\x03\xE0A\x02\x12_\x0A#authentication_token_secret_version\x18\x03 \x01(\x09B2\xE0A\x01\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12v\x0A\x19ssh_authentication_config\x18\x05 \x01(\x0B2N.google.cloud.dataform.v1.Repository.GitRemoteSettings.SshAuthenticationConfigB\x03\xE0A\x01\x12_\x0A\x0Ctoken_status\x18\x04 \x01(\x0E2B.google.cloud.dataform.v1.Repository.GitRemoteSettings.TokenStatusB\x05\x18\x01\xE0A\x03\x1A\x94\x01\x0A\x17SshAuthenticationConfig\x12[\x0A\x1Fuser_private_key_secret_version\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12\x1C\x0A\x0Fhost_public_key\x18\x02 \x01(\x09B\x03\xE0A\x02\"R\x0A\x0BTokenStatus\x12\x1C\x0A\x18TOKEN_STATUS_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NOT_FOUND\x10\x01\x12\x0B\x0A\x07INVALID\x10\x02\x12\x09\x0A\x05VALID\x10\x03\x1Au\x0A\x1DWorkspaceCompilationOverrides\x12\x1D\x0A\x10default_database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dschema_suffix\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Ctable_prefix\x18\x03 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x85\x01\xEAA\x81\x01\x0A\"dataform.googleapis.com/Repository\x12Aprojects/{project}/locations/{location}/repositories/{repository}*\x0Crepositories2\x0ArepositoryB\x14\x0A\x12_internal_metadata\"\xB1\x01\x0A\x17ListRepositoriesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x84\x01\x0A\x18ListRepositoriesResponse\x12:\x0A\x0Crepositories\x18\x01 \x03(\x0B2\$.google.cloud.dataform.v1.Repository\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"P\x0A\x14GetRepositoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"\xAF\x01\x0A\x17CreateRepositoryRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12=\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryB\x03\xE0A\x02\x12\x1A\x0A\x0Drepository_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x8E\x01\x0A\x17UpdateRepositoryRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12=\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryB\x03\xE0A\x02\"g\x0A\x17DeleteRepositoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xD2\x05\x0A\x1ECommitRepositoryChangesRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12F\x0A\x0Fcommit_metadata\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.CommitMetadataB\x03\xE0A\x02\x12%\x0A\x18required_head_commit_sha\x18\x04 \x01(\x09B\x03\xE0A\x01\x12j\x0A\x0Ffile_operations\x18\x03 \x03(\x0B2L.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperationsEntryB\x03\xE0A\x01\x1A\x9B\x02\x0A\x0DFileOperation\x12f\x0A\x0Awrite_file\x18\x01 \x01(\x0B2P.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation.WriteFileH\x00\x12h\x0A\x0Bdelete_file\x18\x02 \x01(\x0B2Q.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation.DeleteFileH\x00\x1A\x1D\x0A\x09WriteFile\x12\x10\x0A\x08contents\x18\x01 \x01(\x0C\x1A\x0C\x0A\x0ADeleteFileB\x0B\x0A\x09operation\x1A}\x0A\x13FileOperationsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12U\x0A\x05value\x18\x02 \x01(\x0B2F.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation:\x028\x01\"5\x0A\x1FCommitRepositoryChangesResponse\x12\x12\x0A\x0Acommit_sha\x18\x01 \x01(\x09\"\x81\x01\x0A\x19ReadRepositoryFileRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x17\x0A\x0Acommit_sha\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x02\".\x0A\x1AReadRepositoryFileResponse\x12\x10\x0A\x08contents\x18\x01 \x01(\x0C\"\xC0\x01\x0A'QueryRepositoryDirectoryContentsRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x17\x0A\x0Acommit_sha\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x88\x01\x0A(QueryRepositoryDirectoryContentsResponse\x12C\x0A\x11directory_entries\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.DirectoryEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x8A\x01\x0A\x1DFetchRepositoryHistoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"t\x0A\x1EFetchRepositoryHistoryResponse\x129\x0A\x07commits\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.CommitLogEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xA5\x01\x0A\x0ECommitLogEntry\x12/\x0A\x0Bcommit_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x12\x0A\x0Acommit_sha\x18\x02 \x01(\x09\x126\x0A\x06author\x18\x03 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthor\x12\x16\x0A\x0Ecommit_message\x18\x04 \x01(\x09\"j\x0A\x0ECommitMetadata\x12;\x0A\x06author\x18\x01 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\x12\x1B\x0A\x0Ecommit_message\x18\x02 \x01(\x09B\x03\xE0A\x01\"e\x0A)ComputeRepositoryAccessTokenStatusRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"\xE8\x01\x0A*ComputeRepositoryAccessTokenStatusResponse\x12f\x0A\x0Ctoken_status\x18\x01 \x01(\x0E2P.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusResponse.TokenStatus\"R\x0A\x0BTokenStatus\x12\x1C\x0A\x18TOKEN_STATUS_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NOT_FOUND\x10\x01\x12\x0B\x0A\x07INVALID\x10\x02\x12\x09\x0A\x05VALID\x10\x03\"V\x0A\x1AFetchRemoteBranchesRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"/\x0A\x1BFetchRemoteBranchesResponse\x12\x10\x0A\x08branches\x18\x01 \x03(\x09\"\xFD\x02\x0A\x09Workspace\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Q\x0A\x15data_encryption_state\x18\x02 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x05 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01:\x98\x01\xEAA\x94\x01\x0A!dataform.googleapis.com/Workspace\x12Xprojects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}*\x0Aworkspaces2\x09workspaceB\x14\x0A\x12_internal_metadata\"\xB0\x01\x0A\x15ListWorkspacesRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x7F\x0A\x16ListWorkspacesResponse\x127\x0A\x0Aworkspaces\x18\x01 \x03(\x0B2#.google.cloud.dataform.v1.Workspace\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"N\x0A\x13GetWorkspaceRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\xAC\x01\x0A\x16CreateWorkspaceRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12;\x0A\x09workspace\x18\x02 \x01(\x0B2#.google.cloud.dataform.v1.WorkspaceB\x03\xE0A\x02\x12\x19\x0A\x0Cworkspace_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"Q\x0A\x16DeleteWorkspaceRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"=\x0A\x0CCommitAuthor\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Demail_address\x18\x02 \x01(\x09B\x03\xE0A\x02\"\xA9\x01\x0A\x15PullGitCommitsRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\x12;\x0A\x06author\x18\x03 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\"\x18\x0A\x16PullGitCommitsResponse\"l\x0A\x15PushGitCommitsRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\"\x18\x0A\x16PushGitCommitsResponse\"V\x0A\x1BFetchFileGitStatusesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\xF7\x02\x0A\x1CFetchFileGitStatusesResponse\x12n\x0A\x18uncommitted_file_changes\x18\x01 \x03(\x0B2L.google.cloud.dataform.v1.FetchFileGitStatusesResponse.UncommittedFileChange\x1A\xE6\x01\x0A\x15UncommittedFileChange\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\x12f\x0A\x05state\x18\x02 \x01(\x0E2R.google.cloud.dataform.v1.FetchFileGitStatusesResponse.UncommittedFileChange.StateB\x03\xE0A\x03\"W\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05ADDED\x10\x01\x12\x0B\x0A\x07DELETED\x10\x02\x12\x0C\x0A\x08MODIFIED\x10\x03\x12\x11\x0A\x0DHAS_CONFLICTS\x10\x04\"q\x0A\x1AFetchGitAheadBehindRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\"L\x0A\x1BFetchGitAheadBehindResponse\x12\x15\x0A\x0Dcommits_ahead\x18\x01 \x01(\x05\x12\x16\x0A\x0Ecommits_behind\x18\x02 \x01(\x05\"\xC6\x01\x0A\x1DCommitWorkspaceChangesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12;\x0A\x06author\x18\x04 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\x12\x1B\x0A\x0Ecommit_message\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x03 \x03(\x09B\x03\xE0A\x01\" \x0A\x1ECommitWorkspaceChangesResponse\"\x7F\x0A\x1CResetWorkspaceChangesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x12\x0A\x05paths\x18\x02 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05clean\x18\x03 \x01(\x08B\x03\xE0A\x01\"\x1F\x0A\x1DResetWorkspaceChangesResponse\"g\x0A\x14FetchFileDiffRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"/\x0A\x15FetchFileDiffResponse\x12\x16\x0A\x0Eformatted_diff\x18\x01 \x01(\x09\"\xA1\x01\x0A\x1DQueryDirectoryContentsRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\"~\x0A\x1EQueryDirectoryContentsResponse\x12C\x0A\x11directory_entries\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.DirectoryEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\">\x0A\x0EDirectoryEntry\x12\x0E\x0A\x04file\x18\x01 \x01(\x09H\x00\x12\x13\x0A\x09directory\x18\x02 \x01(\x09H\x00B\x07\x0A\x05entry\"\x98\x01\x0A\x12SearchFilesRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"s\x0A\x13SearchFilesResponse\x12>\x0A\x0Esearch_results\x18\x01 \x03(\x0B2&.google.cloud.dataform.v1.SearchResult\x12\x1C\x0A\x0Fnext_page_token\x18\x02 \x01(\x09B\x03\xE0A\x01\"\x99\x01\x0A\x0CSearchResult\x12:\x0A\x04file\x18\x01 \x01(\x0B2*.google.cloud.dataform.v1.FileSearchResultH\x00\x12D\x0A\x09directory\x18\x02 \x01(\x0B2/.google.cloud.dataform.v1.DirectorySearchResultH\x00B\x07\x0A\x05entry\" \x0A\x10FileSearchResult\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\"%\x0A\x15DirectorySearchResult\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\"g\x0A\x14MakeDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x17\x0A\x15MakeDirectoryResponse\"i\x0A\x16RemoveDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x19\x0A\x17RemoveDirectoryResponse\"~\x0A\x14MoveDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08new_path\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x17\x0A\x15MoveDirectoryResponse\"y\x0A\x0FReadFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08revision\x18\x03 \x01(\x09B\x03\xE0A\x01\")\x0A\x10ReadFileResponse\x12\x15\x0A\x0Dfile_contents\x18\x01 \x01(\x0C\"d\x0A\x11RemoveFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x14\x0A\x12RemoveFileResponse\"y\x0A\x0FMoveFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08new_path\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x12\x0A\x10MoveFileResponse\"z\x0A\x10WriteFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08contents\x18\x03 \x01(\x0CB\x03\xE0A\x02\"\x13\x0A\x11WriteFileResponse\"Y\x0A\x19InstallNpmPackagesRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\x1C\x0A\x1AInstallNpmPackagesResponse\"\xE7\x06\x0A\x0DReleaseConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1A\x0A\x0Dgit_commitish\x18\x02 \x01(\x09B\x03\xE0A\x02\x12U\x0A\x17code_compilation_config\x18\x03 \x01(\x0B2/.google.cloud.dataform.v1.CodeCompilationConfigB\x03\xE0A\x01\x12\x1A\x0A\x0Dcron_schedule\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09time_zone\x18\x07 \x01(\x09B\x03\xE0A\x01\x12m\x0A recent_scheduled_release_records\x18\x05 \x03(\x0B2>.google.cloud.dataform.v1.ReleaseConfig.ScheduledReleaseRecordB\x03\xE0A\x03\x12U\x0A\x1Arelease_compilation_result\x18\x06 \x01(\x09B1\xE0A\x01\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12\x15\x0A\x08disabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x12#\x0A\x11internal_metadata\x18\x09 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x1A\xD3\x01\x0A\x16ScheduledReleaseRecord\x12L\x0A\x12compilation_result\x18\x02 \x01(\x09B.\xFAA+\x0A)dataform.googleapis.com/CompilationResultH\x00\x12*\x0A\x0Cerror_status\x18\x03 \x01(\x0B2\x12.google.rpc.StatusH\x00\x125\x0A\x0Crelease_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03B\x08\x0A\x06result:\xAD\x01\xEAA\xA9\x01\x0A%dataform.googleapis.com/ReleaseConfig\x12aprojects/{project}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config}*\x0EreleaseConfigs2\x0DreleaseConfigB\x14\x0A\x12_internal_metadata\"\x88\x01\x0A\x19ListReleaseConfigsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x8C\x01\x0A\x1AListReleaseConfigsResponse\x12@\x0A\x0Frelease_configs\x18\x01 \x03(\x0B2'.google.cloud.dataform.v1.ReleaseConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"V\x0A\x17GetReleaseConfigRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\"\xBE\x01\x0A\x1ACreateReleaseConfigRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12D\x0A\x0Erelease_config\x18\x02 \x01(\x0B2'.google.cloud.dataform.v1.ReleaseConfigB\x03\xE0A\x02\x12\x1E\x0A\x11release_config_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x98\x01\x0A\x1AUpdateReleaseConfigRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12D\x0A\x0Erelease_config\x18\x02 \x01(\x0B2'.google.cloud.dataform.v1.ReleaseConfigB\x03\xE0A\x02\"Y\x0A\x1ADeleteReleaseConfigRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\"\xEF\x07\x0A\x11CompilationResult\x12\x1C\x0A\x0Dgit_commitish\x18\x02 \x01(\x09B\x03\xE0A\x05H\x00\x12>\x0A\x09workspace\x18\x03 \x01(\x09B)\xE0A\x05\xFAA#\x0A!dataform.googleapis.com/WorkspaceH\x00\x12G\x0A\x0Erelease_config\x18\x07 \x01(\x09B-\xE0A\x05\xFAA'\x0A%dataform.googleapis.com/ReleaseConfigH\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12U\x0A\x17code_compilation_config\x18\x04 \x01(\x0B2/.google.cloud.dataform.v1.CodeCompilationConfigB\x03\xE0A\x05\x12\$\x0A\x17resolved_git_commit_sha\x18\x08 \x01(\x09B\x03\xE0A\x03\x12\"\x0A\x15dataform_core_version\x18\x05 \x01(\x09B\x03\xE0A\x03\x12]\x0A\x12compilation_errors\x18\x06 \x03(\x0B2<.google.cloud.dataform.v1.CompilationResult.CompilationErrorB\x03\xE0A\x03\x12Q\x0A\x15data_encryption_state\x18\x09 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0B \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x1A\x8D\x01\x0A\x10CompilationError\x12\x14\x0A\x07message\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05stack\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x03\x12<\x0A\x0Daction_target\x18\x04 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03:\xC1\x01\xEAA\xBD\x01\x0A)dataform.googleapis.com/CompilationResult\x12iprojects/{project}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}*\x12compilationResults2\x11compilationResultB\x08\x0A\x06sourceB\x14\x0A\x12_internal_metadata\"\xEE\x03\x0A\x15CodeCompilationConfig\x12\x1D\x0A\x10default_database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x0Edefault_schema\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10default_location\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10assertion_schema\x18\x03 \x01(\x09B\x03\xE0A\x01\x12L\x0A\x04vars\x18\x04 \x03(\x0B29.google.cloud.dataform.v1.CodeCompilationConfig.VarsEntryB\x03\xE0A\x01\x12\x1C\x0A\x0Fdatabase_suffix\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dschema_suffix\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Ctable_prefix\x18\x07 \x01(\x09B\x03\xE0A\x01\x12*\x0A\x1Dbuiltin_assertion_name_prefix\x18\x0A \x01(\x09B\x03\xE0A\x01\x12_\x0A default_notebook_runtime_options\x18\x09 \x01(\x0B20.google.cloud.dataform.v1.NotebookRuntimeOptionsB\x03\xE0A\x01\x1A+\x0A\x09VarsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xB6\x01\x0A\x16NotebookRuntimeOptions\x12 \x0A\x11gcs_output_bucket\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00\x12h\x0A%ai_platform_notebook_runtime_template\x18\x02 \x01(\x09B9\xE0A\x01\xFAA3\x0A1aiplatform.googleapis.com/NotebookRuntimeTemplateB\x10\x0A\x0Eexecution_sink\"\xB8\x01\x0A\x1DListCompilationResultsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x98\x01\x0A\x1EListCompilationResultsResponse\x12H\x0A\x13compilation_results\x18\x01 \x03(\x0B2+.google.cloud.dataform.v1.CompilationResult\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"^\x0A\x1BGetCompilationResultRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)dataform.googleapis.com/CompilationResult\"\xAA\x01\x0A\x1ECreateCompilationResultRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12L\x0A\x12compilation_result\x18\x02 \x01(\x0B2+.google.cloud.dataform.v1.CompilationResultB\x03\xE0A\x02\"G\x0A\x06Target\x12\x15\x0A\x08database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06schema\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04name\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xE0\x02\x0A\x12RelationDescriptor\x12\x13\x0A\x0Bdescription\x18\x01 \x01(\x09\x12N\x0A\x07columns\x18\x02 \x03(\x0B2=.google.cloud.dataform.v1.RelationDescriptor.ColumnDescriptor\x12Y\x0A\x0Fbigquery_labels\x18\x03 \x03(\x0B2@.google.cloud.dataform.v1.RelationDescriptor.BigqueryLabelsEntry\x1AS\x0A\x10ColumnDescriptor\x12\x0C\x0A\x04path\x18\x01 \x03(\x09\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12\x1C\x0A\x14bigquery_policy_tags\x18\x03 \x03(\x09\x1A5\x0A\x13BigqueryLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xBA\x1B\x0A\x17CompilationResultAction\x12N\x0A\x08relation\x18\x04 \x01(\x0B2:.google.cloud.dataform.v1.CompilationResultAction.RelationH\x00\x12R\x0A\x0Aoperations\x18\x05 \x01(\x0B2<.google.cloud.dataform.v1.CompilationResultAction.OperationsH\x00\x12P\x0A\x09assertion\x18\x06 \x01(\x0B2;.google.cloud.dataform.v1.CompilationResultAction.AssertionH\x00\x12T\x0A\x0Bdeclaration\x18\x07 \x01(\x0B2=.google.cloud.dataform.v1.CompilationResultAction.DeclarationH\x00\x12N\x0A\x08notebook\x18\x08 \x01(\x0B2:.google.cloud.dataform.v1.CompilationResultAction.NotebookH\x00\x12]\x0A\x10data_preparation\x18\x09 \x01(\x0B2A.google.cloud.dataform.v1.CompilationResultAction.DataPreparationH\x00\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12:\x0A\x10canonical_target\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x11\x0A\x09file_path\x18\x03 \x01(\x09\x12#\x0A\x11internal_metadata\x18\x0A \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x1A\xC5\x08\x0A\x08Relation\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12I\x0A\x13relation_descriptor\x18\x04 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x12^\x0A\x0Drelation_type\x18\x05 \x01(\x0E2G.google.cloud.dataform.v1.CompilationResultAction.Relation.RelationType\x12\x14\x0A\x0Cselect_query\x18\x06 \x01(\x09\x12\x16\x0A\x0Epre_operations\x18\x07 \x03(\x09\x12\x17\x0A\x0Fpost_operations\x18\x08 \x03(\x09\x12s\x0A\x18incremental_table_config\x18\x09 \x01(\x0B2Q.google.cloud.dataform.v1.CompilationResultAction.Relation.IncrementalTableConfig\x12\x1C\x0A\x14partition_expression\x18\x0A \x01(\x09\x12\x1B\x0A\x13cluster_expressions\x18\x0B \x03(\x09\x12!\x0A\x19partition_expiration_days\x18\x0C \x01(\x05\x12 \x0A\x18require_partition_filter\x18\x0D \x01(\x08\x12m\x0A\x12additional_options\x18\x0E \x03(\x0B2Q.google.cloud.dataform.v1.CompilationResultAction.Relation.AdditionalOptionsEntry\x1A\xD8\x01\x0A\x16IncrementalTableConfig\x12 \x0A\x18incremental_select_query\x18\x01 \x01(\x09\x12\x18\x0A\x10refresh_disabled\x18\x02 \x01(\x08\x12\x18\x0A\x10unique_key_parts\x18\x03 \x03(\x09\x12\x1F\x0A\x17update_partition_filter\x18\x04 \x01(\x09\x12\"\x0A\x1Aincremental_pre_operations\x18\x05 \x03(\x09\x12#\x0A\x1Bincremental_post_operations\x18\x06 \x03(\x09\x1A8\x0A\x16AdditionalOptionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"p\x0A\x0CRelationType\x12\x1D\x0A\x19RELATION_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x08\x0A\x04VIEW\x10\x02\x12\x15\x0A\x11INCREMENTAL_TABLE\x10\x03\x12\x15\x0A\x11MATERIALIZED_VIEW\x10\x04\x1A\xDA\x01\x0A\x0AOperations\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12I\x0A\x13relation_descriptor\x18\x06 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x12\x0F\x0A\x07queries\x18\x04 \x03(\x09\x12\x12\x0A\x0Ahas_output\x18\x05 \x01(\x08\x1A\x83\x02\x0A\x09Assertion\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x127\x0A\x0Dparent_action\x18\x05 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12\x14\x0A\x0Cselect_query\x18\x04 \x01(\x09\x12I\x0A\x13relation_descriptor\x18\x06 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x1AX\x0A\x0BDeclaration\x12I\x0A\x13relation_descriptor\x18\x01 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x1Az\x0A\x08Notebook\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x10\x0A\x08contents\x18\x03 \x01(\x09\x12\x0C\x0A\x04tags\x18\x04 \x03(\x09\x1A\xA7\x04\x0A\x0FDataPreparation\x12\x17\x0A\x0Dcontents_yaml\x18\x05 \x01(\x09H\x00\x12g\x0A\x0Ccontents_sql\x18\x06 \x01(\x0B2O.google.cloud.dataform.v1.CompilationResultAction.DataPreparation.SqlDefinitionH\x00\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x04 \x03(\x09\x1A\xCD\x01\x0A\x0DSqlDefinition\x12\x0D\x0A\x05query\x18\x01 \x01(\x09\x12a\x0A\x0Berror_table\x18\x02 \x01(\x0B2L.google.cloud.dataform.v1.CompilationResultAction.DataPreparation.ErrorTable\x12J\x0A\x04load\x18\x03 \x01(\x0B2<.google.cloud.dataform.v1.CompilationResultAction.LoadConfig\x1AV\x0A\x0AErrorTable\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x16\x0A\x0Eretention_days\x18\x02 \x01(\x05B\x0C\x0A\x0Adefinition\x1A\xF0\x02\x0A\x0ALoadConfig\x12S\x0A\x07replace\x18\x01 \x01(\x0B2@.google.cloud.dataform.v1.CompilationResultAction.SimpleLoadModeH\x00\x12R\x0A\x06append\x18\x02 \x01(\x0B2@.google.cloud.dataform.v1.CompilationResultAction.SimpleLoadModeH\x00\x12X\x0A\x07maximum\x18\x03 \x01(\x0B2E.google.cloud.dataform.v1.CompilationResultAction.IncrementalLoadModeH\x00\x12W\x0A\x06unique\x18\x04 \x01(\x0B2E.google.cloud.dataform.v1.CompilationResultAction.IncrementalLoadModeH\x00B\x06\x0A\x04mode\x1A\x10\x0A\x0ESimpleLoadMode\x1A%\x0A\x13IncrementalLoadMode\x12\x0E\x0A\x06column\x18\x01 \x01(\x09B\x11\x0A\x0Fcompiled_objectB\x14\x0A\x12_internal_metadata\"\xAD\x01\x0A\$QueryCompilationResultActionsRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"\x97\x01\x0A%QueryCompilationResultActionsResponse\x12U\x0A\x1Acompilation_result_actions\x18\x01 \x03(\x0B21.google.cloud.dataform.v1.CompilationResultAction\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAD\x07\x0A\x0EWorkflowConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x0Erelease_config\x18\x02 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\x12J\x0A\x11invocation_config\x18\x03 \x01(\x0B2*.google.cloud.dataform.v1.InvocationConfigB\x03\xE0A\x01\x12\x1A\x0A\x0Dcron_schedule\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09time_zone\x18\x07 \x01(\x09B\x03\xE0A\x01\x12r\x0A\"recent_scheduled_execution_records\x18\x05 \x03(\x0B2A.google.cloud.dataform.v1.WorkflowConfig.ScheduledExecutionRecordB\x03\xE0A\x03\x12\x15\x0A\x08disabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0B \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x1A\xD9\x01\x0A\x18ScheduledExecutionRecord\x12N\x0A\x13workflow_invocation\x18\x02 \x01(\x09B/\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocationH\x00\x12*\x0A\x0Cerror_status\x18\x03 \x01(\x0B2\x12.google.rpc.StatusH\x00\x127\x0A\x0Eexecution_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03B\x08\x0A\x06result:\xB2\x01\xEAA\xAE\x01\x0A&dataform.googleapis.com/WorkflowConfig\x12cprojects/{project}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}*\x0FworkflowConfigs2\x0EworkflowConfigB\x14\x0A\x12_internal_metadata\"\xA0\x02\x0A\x10InvocationConfig\x12?\x0A\x10included_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x01\x12\x1A\x0A\x0Dincluded_tags\x18\x02 \x03(\x09B\x03\xE0A\x01\x12-\x0A transitive_dependencies_included\x18\x03 \x01(\x08B\x03\xE0A\x01\x12+\x0A\x1Etransitive_dependents_included\x18\x04 \x01(\x08B\x03\xE0A\x01\x125\x0A(fully_refresh_incremental_tables_enabled\x18\x05 \x01(\x08B\x03\xE0A\x01\x12\x1C\x0A\x0Fservice_account\x18\x06 \x01(\x09B\x03\xE0A\x01\"\x89\x01\x0A\x1AListWorkflowConfigsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x8F\x01\x0A\x1BListWorkflowConfigsResponse\x12B\x0A\x10workflow_configs\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.WorkflowConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"X\x0A\x18GetWorkflowConfigRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dataform.googleapis.com/WorkflowConfig\"\xC2\x01\x0A\x1BCreateWorkflowConfigRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12F\x0A\x0Fworkflow_config\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.WorkflowConfigB\x03\xE0A\x02\x12\x1F\x0A\x12workflow_config_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x9B\x01\x0A\x1BUpdateWorkflowConfigRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12F\x0A\x0Fworkflow_config\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.WorkflowConfigB\x03\xE0A\x02\"[\x0A\x1BDeleteWorkflowConfigRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dataform.googleapis.com/WorkflowConfig\"\xB9\x07\x0A\x12WorkflowInvocation\x12O\x0A\x12compilation_result\x18\x02 \x01(\x09B1\xE0A\x05\xFAA+\x0A)dataform.googleapis.com/CompilationResultH\x00\x12I\x0A\x0Fworkflow_config\x18\x06 \x01(\x09B.\xE0A\x05\xFAA(\x0A&dataform.googleapis.com/WorkflowConfigH\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12J\x0A\x11invocation_config\x18\x03 \x01(\x0B2*.google.cloud.dataform.v1.InvocationConfigB\x03\xE0A\x05\x12F\x0A\x05state\x18\x04 \x01(\x0E22.google.cloud.dataform.v1.WorkflowInvocation.StateB\x03\xE0A\x03\x125\x0A\x11invocation_timing\x18\x05 \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12V\x0A\x1Bresolved_compilation_result\x18\x07 \x01(\x09B1\xE0A\x03\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12Q\x0A\x15data_encryption_state\x18\x08 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x09 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\"d\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0D\x0A\x09CANCELLED\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\x12\x0D\x0A\x09CANCELING\x10\x05:\xC6\x01\xEAA\xC2\x01\x0A*dataform.googleapis.com/WorkflowInvocation\x12kprojects/{project}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}*\x13workflowInvocations2\x12workflowInvocationB\x14\x0A\x12compilation_sourceB\x14\x0A\x12_internal_metadata\"\xB9\x01\x0A\x1EListWorkflowInvocationsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x9B\x01\x0A\x1FListWorkflowInvocationsResponse\x12J\x0A\x14workflow_invocations\x18\x01 \x03(\x0B2,.google.cloud.dataform.v1.WorkflowInvocation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"`\x0A\x1CGetWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"\xAD\x01\x0A\x1FCreateWorkflowInvocationRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12N\x0A\x13workflow_invocation\x18\x02 \x01(\x0B2,.google.cloud.dataform.v1.WorkflowInvocationB\x03\xE0A\x02\"c\x0A\x1FDeleteWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"c\x0A\x1FCancelWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"\"\x0A CancelWorkflowInvocationResponse\"\x9B\x10\x0A\x18WorkflowInvocationAction\x12a\x0A\x0Fbigquery_action\x18\x06 \x01(\x0B2A.google.cloud.dataform.v1.WorkflowInvocationAction.BigQueryActionB\x03\xE0A\x03H\x00\x12a\x0A\x0Fnotebook_action\x18\x08 \x01(\x0B2A.google.cloud.dataform.v1.WorkflowInvocationAction.NotebookActionB\x03\xE0A\x03H\x00\x12p\x0A\x17data_preparation_action\x18\x09 \x01(\x0B2H.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationActionB\x03\xE0A\x03H\x00\x125\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03\x12?\x0A\x10canonical_target\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03\x12L\x0A\x05state\x18\x04 \x01(\x0E28.google.cloud.dataform.v1.WorkflowInvocationAction.StateB\x03\xE0A\x03\x12\x1B\x0A\x0Efailure_reason\x18\x07 \x01(\x09B\x03\xE0A\x03\x125\x0A\x11invocation_timing\x18\x05 \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0A \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x1A>\x0A\x0EBigQueryAction\x12\x17\x0A\x0Asql_script\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A<\x0A\x0ENotebookAction\x12\x15\x0A\x08contents\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\x81\x09\x0A\x15DataPreparationAction\x12\x1C\x0A\x0Dcontents_yaml\x18\x02 \x01(\x09B\x03\xE0A\x03H\x00\x12t\x0A\x0Ccontents_sql\x18\x06 \x01(\x0B2\\.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSqlDefinitionH\x00\x12\x1A\x0A\x0Dgenerated_sql\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x04 \x01(\x09B\x03\xE0A\x03\x1A\x84\x02\x0A\x13ActionSqlDefinition\x12\x0D\x0A\x05query\x18\x01 \x01(\x09\x12n\x0A\x0Berror_table\x18\x02 \x01(\x0B2Y.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionErrorTable\x12n\x0A\x0Bload_config\x18\x03 \x01(\x0B2Y.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionLoadConfig\x1A\\\x0A\x10ActionErrorTable\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x16\x0A\x0Eretention_days\x18\x02 \x01(\x05\x1A\xEA\x03\x0A\x10ActionLoadConfig\x12p\x0A\x07replace\x18\x01 \x01(\x0B2].google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSimpleLoadModeH\x00\x12o\x0A\x06append\x18\x02 \x01(\x0B2].google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSimpleLoadModeH\x00\x12u\x0A\x07maximum\x18\x03 \x01(\x0B2b.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionIncrementalLoadModeH\x00\x12t\x0A\x06unique\x18\x04 \x01(\x0B2b.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionIncrementalLoadModeH\x00B\x06\x0A\x04mode\x1A\x16\x0A\x14ActionSimpleLoadMode\x1A+\x0A\x19ActionIncrementalLoadMode\x12\x0E\x0A\x06column\x18\x01 \x01(\x09B\x0C\x0A\x0Adefinition\"f\x0A\x05State\x12\x0B\x0A\x07PENDING\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0B\x0A\x07SKIPPED\x10\x02\x12\x0C\x0A\x08DISABLED\x10\x03\x12\x0D\x0A\x09SUCCEEDED\x10\x04\x12\x0D\x0A\x09CANCELLED\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06B\x08\x0A\x06actionB\x14\x0A\x12_internal_metadata\"\x9A\x01\x0A%QueryWorkflowInvocationActionsRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x9A\x01\x0A&QueryWorkflowInvocationActionsResponse\x12W\x0A\x1Bworkflow_invocation_actions\x18\x01 \x03(\x0B22.google.cloud.dataform.v1.WorkflowInvocationAction\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xCA\x01\x0A\x06Config\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12G\x0A\x14default_kms_key_name\x18\x02 \x01(\x09B)\xE0A\x01\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey:d\xEAAa\x0A\x1Edataform.googleapis.com/Config\x12.projects/{project}/locations/{location}/config*\x07configs2\x06config\"H\x0A\x10GetConfigRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Config\"\x82\x01\x0A\x13UpdateConfigRequest\x125\x0A\x06config\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.ConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x012\x8B[\x0A\x08Dataform\x12\xBC\x01\x0A\x10ListRepositories\x121.google.cloud.dataform.v1.ListRepositoriesRequest\x1A2.google.cloud.dataform.v1.ListRepositoriesResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/repositories\x12\xA6\x01\x0A\x0DGetRepository\x12..google.cloud.dataform.v1.GetRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/repositories/*}\x12\xD3\x01\x0A\x10CreateRepository\x121.google.cloud.dataform.v1.CreateRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"f\xDAA\x1Fparent,repository,repository_id\x82\xD3\xE4\x93\x02>\"0/v1/{parent=projects/*/locations/*}/repositories:\x0Arepository\x12\xD5\x01\x0A\x10UpdateRepository\x121.google.cloud.dataform.v1.UpdateRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"h\xDAA\x16repository,update_mask\x82\xD3\xE4\x93\x02I2;/v1/{repository.name=projects/*/locations/*/repositories/*}:\x0Arepository\x12\x9E\x01\x0A\x10DeleteRepository\x121.google.cloud.dataform.v1.DeleteRepositoryRequest\x1A\x16.google.protobuf.Empty\"?\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/repositories/*}\x12\xD2\x01\x0A\x17CommitRepositoryChanges\x128.google.cloud.dataform.v1.CommitRepositoryChangesRequest\x1A9.google.cloud.dataform.v1.CommitRepositoryChangesResponse\"B\x82\xD3\xE4\x93\x02<\"7/v1/{name=projects/*/locations/*/repositories/*}:commit:\x01*\x12\xC2\x01\x0A\x12ReadRepositoryFile\x123.google.cloud.dataform.v1.ReadRepositoryFileRequest\x1A4.google.cloud.dataform.v1.ReadRepositoryFileResponse\"A\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/repositories/*}:readFile\x12\xFA\x01\x0A QueryRepositoryDirectoryContents\x12A.google.cloud.dataform.v1.QueryRepositoryDirectoryContentsRequest\x1AB.google.cloud.dataform.v1.QueryRepositoryDirectoryContentsResponse\"O\x82\xD3\xE4\x93\x02I\x12G/v1/{name=projects/*/locations/*/repositories/*}:queryDirectoryContents\x12\xD2\x01\x0A\x16FetchRepositoryHistory\x127.google.cloud.dataform.v1.FetchRepositoryHistoryRequest\x1A8.google.cloud.dataform.v1.FetchRepositoryHistoryResponse\"E\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/repositories/*}:fetchHistory\x12\x82\x02\x0A\"ComputeRepositoryAccessTokenStatus\x12C.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusRequest\x1AD.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusResponse\"Q\x82\xD3\xE4\x93\x02K\x12I/v1/{name=projects/*/locations/*/repositories/*}:computeAccessTokenStatus\x12\xD0\x01\x0A\x13FetchRemoteBranches\x124.google.cloud.dataform.v1.FetchRemoteBranchesRequest\x1A5.google.cloud.dataform.v1.FetchRemoteBranchesResponse\"L\x82\xD3\xE4\x93\x02F\x12D/v1/{name=projects/*/locations/*/repositories/*}:fetchRemoteBranches\x12\xC3\x01\x0A\x0EListWorkspaces\x12/.google.cloud.dataform.v1.ListWorkspacesRequest\x1A0.google.cloud.dataform.v1.ListWorkspacesResponse\"N\xDAA\x06parent\x82\xD3\xE4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/repositories/*}/workspaces\x12\xB0\x01\x0A\x0CGetWorkspace\x12-.google.cloud.dataform.v1.GetWorkspaceRequest\x1A#.google.cloud.dataform.v1.Workspace\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}\x12\xDA\x01\x0A\x0FCreateWorkspace\x120.google.cloud.dataform.v1.CreateWorkspaceRequest\x1A#.google.cloud.dataform.v1.Workspace\"p\xDAA\x1Dparent,workspace,workspace_id\x82\xD3\xE4\x93\x02J\"=/v1/{parent=projects/*/locations/*/repositories/*}/workspaces:\x09workspace\x12\xA9\x01\x0A\x0FDeleteWorkspace\x120.google.cloud.dataform.v1.DeleteWorkspaceRequest\x1A\x16.google.protobuf.Empty\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?*=/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}\x12\xE1\x01\x0A\x12InstallNpmPackages\x123.google.cloud.dataform.v1.InstallNpmPackagesRequest\x1A4.google.cloud.dataform.v1.InstallNpmPackagesResponse\"`\x82\xD3\xE4\x93\x02Z\"U/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:installNpmPackages:\x01*\x12\xC2\x01\x0A\x0EPullGitCommits\x12/.google.cloud.dataform.v1.PullGitCommitsRequest\x1A0.google.cloud.dataform.v1.PullGitCommitsResponse\"M\x82\xD3\xE4\x93\x02G\"B/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:pull:\x01*\x12\xC2\x01\x0A\x0EPushGitCommits\x12/.google.cloud.dataform.v1.PushGitCommitsRequest\x1A0.google.cloud.dataform.v1.PushGitCommitsResponse\"M\x82\xD3\xE4\x93\x02G\"B/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:push:\x01*\x12\xE1\x01\x0A\x14FetchFileGitStatuses\x125.google.cloud.dataform.v1.FetchFileGitStatusesRequest\x1A6.google.cloud.dataform.v1.FetchFileGitStatusesResponse\"Z\x82\xD3\xE4\x93\x02T\x12R/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileGitStatuses\x12\xDD\x01\x0A\x13FetchGitAheadBehind\x124.google.cloud.dataform.v1.FetchGitAheadBehindRequest\x1A5.google.cloud.dataform.v1.FetchGitAheadBehindResponse\"Y\x82\xD3\xE4\x93\x02S\x12Q/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchGitAheadBehind\x12\xDC\x01\x0A\x16CommitWorkspaceChanges\x127.google.cloud.dataform.v1.CommitWorkspaceChangesRequest\x1A8.google.cloud.dataform.v1.CommitWorkspaceChangesResponse\"O\x82\xD3\xE4\x93\x02I\"D/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:commit:\x01*\x12\xD8\x01\x0A\x15ResetWorkspaceChanges\x126.google.cloud.dataform.v1.ResetWorkspaceChangesRequest\x1A7.google.cloud.dataform.v1.ResetWorkspaceChangesResponse\"N\x82\xD3\xE4\x93\x02H\"C/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:reset:\x01*\x12\xCA\x01\x0A\x0DFetchFileDiff\x12..google.cloud.dataform.v1.FetchFileDiffRequest\x1A/.google.cloud.dataform.v1.FetchFileDiffResponse\"X\x82\xD3\xE4\x93\x02R\x12P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileDiff\x12\xEE\x01\x0A\x16QueryDirectoryContents\x127.google.cloud.dataform.v1.QueryDirectoryContentsRequest\x1A8.google.cloud.dataform.v1.QueryDirectoryContentsResponse\"a\x82\xD3\xE4\x93\x02[\x12Y/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:queryDirectoryContents\x12\xC2\x01\x0A\x0BSearchFiles\x12,.google.cloud.dataform.v1.SearchFilesRequest\x1A-.google.cloud.dataform.v1.SearchFilesResponse\"V\x82\xD3\xE4\x93\x02P\x12N/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:searchFiles\x12\xCD\x01\x0A\x0DMakeDirectory\x12..google.cloud.dataform.v1.MakeDirectoryRequest\x1A/.google.cloud.dataform.v1.MakeDirectoryResponse\"[\x82\xD3\xE4\x93\x02U\"P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:makeDirectory:\x01*\x12\xD5\x01\x0A\x0FRemoveDirectory\x120.google.cloud.dataform.v1.RemoveDirectoryRequest\x1A1.google.cloud.dataform.v1.RemoveDirectoryResponse\"]\x82\xD3\xE4\x93\x02W\"R/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeDirectory:\x01*\x12\xCD\x01\x0A\x0DMoveDirectory\x12..google.cloud.dataform.v1.MoveDirectoryRequest\x1A/.google.cloud.dataform.v1.MoveDirectoryResponse\"[\x82\xD3\xE4\x93\x02U\"P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveDirectory:\x01*\x12\xB6\x01\x0A\x08ReadFile\x12).google.cloud.dataform.v1.ReadFileRequest\x1A*.google.cloud.dataform.v1.ReadFileResponse\"S\x82\xD3\xE4\x93\x02M\x12K/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:readFile\x12\xC1\x01\x0A\x0ARemoveFile\x12+.google.cloud.dataform.v1.RemoveFileRequest\x1A,.google.cloud.dataform.v1.RemoveFileResponse\"X\x82\xD3\xE4\x93\x02R\"M/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeFile:\x01*\x12\xB9\x01\x0A\x08MoveFile\x12).google.cloud.dataform.v1.MoveFileRequest\x1A*.google.cloud.dataform.v1.MoveFileResponse\"V\x82\xD3\xE4\x93\x02P\"K/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveFile:\x01*\x12\xBD\x01\x0A\x09WriteFile\x12*.google.cloud.dataform.v1.WriteFileRequest\x1A+.google.cloud.dataform.v1.WriteFileResponse\"W\x82\xD3\xE4\x93\x02Q\"L/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:writeFile:\x01*\x12\xD3\x01\x0A\x12ListReleaseConfigs\x123.google.cloud.dataform.v1.ListReleaseConfigsRequest\x1A4.google.cloud.dataform.v1.ListReleaseConfigsResponse\"R\xDAA\x06parent\x82\xD3\xE4\x93\x02C\x12A/v1/{parent=projects/*/locations/*/repositories/*}/releaseConfigs\x12\xC0\x01\x0A\x10GetReleaseConfig\x121.google.cloud.dataform.v1.GetReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"P\xDAA\x04name\x82\xD3\xE4\x93\x02C\x12A/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}\x12\xFA\x01\x0A\x13CreateReleaseConfig\x124.google.cloud.dataform.v1.CreateReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"\x83\x01\xDAA'parent,release_config,release_config_id\x82\xD3\xE4\x93\x02S\"A/v1/{parent=projects/*/locations/*/repositories/*}/releaseConfigs:\x0Erelease_config\x12\xFC\x01\x0A\x13UpdateReleaseConfig\x124.google.cloud.dataform.v1.UpdateReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"\x85\x01\xDAA\x1Arelease_config,update_mask\x82\xD3\xE4\x93\x02b2P/v1/{release_config.name=projects/*/locations/*/repositories/*/releaseConfigs/*}:\x0Erelease_config\x12\xB5\x01\x0A\x13DeleteReleaseConfig\x124.google.cloud.dataform.v1.DeleteReleaseConfigRequest\x1A\x16.google.protobuf.Empty\"P\xDAA\x04name\x82\xD3\xE4\x93\x02C*A/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}\x12\xE3\x01\x0A\x16ListCompilationResults\x127.google.cloud.dataform.v1.ListCompilationResultsRequest\x1A8.google.cloud.dataform.v1.ListCompilationResultsResponse\"V\xDAA\x06parent\x82\xD3\xE4\x93\x02G\x12E/v1/{parent=projects/*/locations/*/repositories/*}/compilationResults\x12\xD0\x01\x0A\x14GetCompilationResult\x125.google.cloud.dataform.v1.GetCompilationResultRequest\x1A+.google.cloud.dataform.v1.CompilationResult\"T\xDAA\x04name\x82\xD3\xE4\x93\x02G\x12E/v1/{name=projects/*/locations/*/repositories/*/compilationResults/*}\x12\xFF\x01\x0A\x17CreateCompilationResult\x128.google.cloud.dataform.v1.CreateCompilationResultRequest\x1A+.google.cloud.dataform.v1.CompilationResult\"}\xDAA\x19parent,compilation_result\x82\xD3\xE4\x93\x02[\"E/v1/{parent=projects/*/locations/*/repositories/*}/compilationResults:\x12compilation_result\x12\xF5\x01\x0A\x1DQueryCompilationResultActions\x12>.google.cloud.dataform.v1.QueryCompilationResultActionsRequest\x1A?.google.cloud.dataform.v1.QueryCompilationResultActionsResponse\"S\x82\xD3\xE4\x93\x02M\x12K/v1/{name=projects/*/locations/*/repositories/*/compilationResults/*}:query\x12\xD7\x01\x0A\x13ListWorkflowConfigs\x124.google.cloud.dataform.v1.ListWorkflowConfigsRequest\x1A5.google.cloud.dataform.v1.ListWorkflowConfigsResponse\"S\xDAA\x06parent\x82\xD3\xE4\x93\x02D\x12B/v1/{parent=projects/*/locations/*/repositories/*}/workflowConfigs\x12\xC4\x01\x0A\x11GetWorkflowConfig\x122.google.cloud.dataform.v1.GetWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D\x12B/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}\x12\x81\x02\x0A\x14CreateWorkflowConfig\x125.google.cloud.dataform.v1.CreateWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"\x87\x01\xDAA)parent,workflow_config,workflow_config_id\x82\xD3\xE4\x93\x02U\"B/v1/{parent=projects/*/locations/*/repositories/*}/workflowConfigs:\x0Fworkflow_config\x12\x83\x02\x0A\x14UpdateWorkflowConfig\x125.google.cloud.dataform.v1.UpdateWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"\x89\x01\xDAA\x1Bworkflow_config,update_mask\x82\xD3\xE4\x93\x02e2R/v1/{workflow_config.name=projects/*/locations/*/repositories/*/workflowConfigs/*}:\x0Fworkflow_config\x12\xB8\x01\x0A\x14DeleteWorkflowConfig\x125.google.cloud.dataform.v1.DeleteWorkflowConfigRequest\x1A\x16.google.protobuf.Empty\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D*B/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}\x12\xE7\x01\x0A\x17ListWorkflowInvocations\x128.google.cloud.dataform.v1.ListWorkflowInvocationsRequest\x1A9.google.cloud.dataform.v1.ListWorkflowInvocationsResponse\"W\xDAA\x06parent\x82\xD3\xE4\x93\x02H\x12F/v1/{parent=projects/*/locations/*/repositories/*}/workflowInvocations\x12\xD4\x01\x0A\x15GetWorkflowInvocation\x126.google.cloud.dataform.v1.GetWorkflowInvocationRequest\x1A,.google.cloud.dataform.v1.WorkflowInvocation\"U\xDAA\x04name\x82\xD3\xE4\x93\x02H\x12F/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}\x12\x86\x02\x0A\x18CreateWorkflowInvocation\x129.google.cloud.dataform.v1.CreateWorkflowInvocationRequest\x1A,.google.cloud.dataform.v1.WorkflowInvocation\"\x80\x01\xDAA\x1Aparent,workflow_invocation\x82\xD3\xE4\x93\x02]\"F/v1/{parent=projects/*/locations/*/repositories/*}/workflowInvocations:\x13workflow_invocation\x12\xC4\x01\x0A\x18DeleteWorkflowInvocation\x129.google.cloud.dataform.v1.DeleteWorkflowInvocationRequest\x1A\x16.google.protobuf.Empty\"U\xDAA\x04name\x82\xD3\xE4\x93\x02H*F/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}\x12\xEB\x01\x0A\x18CancelWorkflowInvocation\x129.google.cloud.dataform.v1.CancelWorkflowInvocationRequest\x1A:.google.cloud.dataform.v1.CancelWorkflowInvocationResponse\"X\x82\xD3\xE4\x93\x02R\"M/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:cancel:\x01*\x12\xF9\x01\x0A\x1EQueryWorkflowInvocationActions\x12?.google.cloud.dataform.v1.QueryWorkflowInvocationActionsRequest\x1A@.google.cloud.dataform.v1.QueryWorkflowInvocationActionsResponse\"T\x82\xD3\xE4\x93\x02N\x12L/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:query\x12\x92\x01\x0A\x09GetConfig\x12*.google.cloud.dataform.v1.GetConfigRequest\x1A .google.cloud.dataform.v1.Config\"7\xDAA\x04name\x82\xD3\xE4\x93\x02*\x12(/v1/{name=projects/*/locations/*/config}\x12\xB5\x01\x0A\x0CUpdateConfig\x12-.google.cloud.dataform.v1.UpdateConfigRequest\x1A .google.cloud.dataform.v1.Config\"T\xDAA\x12config,update_mask\x82\xD3\xE4\x93\x0292//v1/{config.name=projects/*/locations/*/config}:\x06config\x1At\xCAA\x17dataform.googleapis.com\xD2AWhttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformB\xDE\x05\x0A\x1Ccom.google.cloud.dataform.v1B\x0DDataformProtoP\x01Z8cloud.google.com/go/dataform/apiv1/dataformpb;dataformpb\xAA\x02\x18Google.Cloud.Dataform.V1\xCA\x02\x18Google\\Cloud\\Dataform\\V1\xEA\x02\x1BGoogle::Cloud::Dataform::V1\xEAAd\x0A*secretmanager.googleapis.com/SecretVersion\x126projects/{project}/secrets/{secret}/versions/{version}\xEAAx\x0A!cloudkms.googleapis.com/CryptoKey\x12Sprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}\xEAA\xA6\x01\x0A(cloudkms.googleapis.com/CryptoKeyVersion\x12zprojects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}\xEAA\x91\x01\x0A1aiplatform.googleapis.com/NotebookRuntimeTemplate\x12\\projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}b\x06proto3" + "\x0A\xD0\xFA\x02\x0A'google/cloud/dataform/v1/dataform.proto\x12\x18google.cloud.dataform.v1\x1A\x17google/api/client.proto\x1A\x1Fgoogle/api/field_behavior.proto\x1A\x19google/api/resource.proto\x1A\x1Egoogle/iam/v1/iam_policy.proto\x1A\x1Agoogle/iam/v1/policy.proto\x1A#google/longrunning/operations.proto\x1A\x1Bgoogle/protobuf/empty.proto\x1A google/protobuf/field_mask.proto\x1A\x1Fgoogle/protobuf/timestamp.proto\x1A\x17google/rpc/status.proto\x1A\x1Agoogle/type/interval.proto\"e\x0A\x13DataEncryptionState\x12N\x0A\x14kms_key_version_name\x18\x01 \x01(\x09B0\xE0A\x02\xFAA*\x0A(cloudkms.googleapis.com/CryptoKeyVersion\"\x92\x0E\x0A\x0ARepository\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12#\x0A\x11containing_folder\x18\x10 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01\x12\"\x0A\x10team_folder_name\x18\x12 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x124\x0A\x0Bcreate_time\x18\x0D \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x19\x0A\x0Cdisplay_name\x18\x08 \x01(\x09B\x03\xE0A\x01\x12X\x0A\x13git_remote_settings\x18\x02 \x01(\x0B26.google.cloud.dataform.v1.Repository.GitRemoteSettingsB\x03\xE0A\x01\x12f\x0A*npmrc_environment_variables_secret_version\x18\x03 \x01(\x09B2\xE0A\x01\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12p\x0A\x1Fworkspace_compilation_overrides\x18\x04 \x01(\x0B2B.google.cloud.dataform.v1.Repository.WorkspaceCompilationOverridesB\x03\xE0A\x01\x12E\x0A\x06labels\x18\x05 \x03(\x0B20.google.cloud.dataform.v1.Repository.LabelsEntryB\x03\xE0A\x01\x12,\x0A\x1Cset_authenticated_user_admin\x18\x09 \x01(\x08B\x06\xE0A\x01\xE0A\x04\x12\x1C\x0A\x0Fservice_account\x18\x0A \x01(\x09B\x03\xE0A\x01\x12?\x0A\x0Ckms_key_name\x18\x0B \x01(\x09B)\xE0A\x01\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey\x12Q\x0A\x15data_encryption_state\x18\x0C \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0F \x01(\x09B\x03\xE0A\x03H\x02\x88\x01\x01\x1A\xE7\x04\x0A\x11GitRemoteSettings\x12\x10\x0A\x03url\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1B\x0A\x0Edefault_branch\x18\x02 \x01(\x09B\x03\xE0A\x02\x12_\x0A#authentication_token_secret_version\x18\x03 \x01(\x09B2\xE0A\x01\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12v\x0A\x19ssh_authentication_config\x18\x05 \x01(\x0B2N.google.cloud.dataform.v1.Repository.GitRemoteSettings.SshAuthenticationConfigB\x03\xE0A\x01\x12_\x0A\x0Ctoken_status\x18\x04 \x01(\x0E2B.google.cloud.dataform.v1.Repository.GitRemoteSettings.TokenStatusB\x05\x18\x01\xE0A\x03\x1A\x94\x01\x0A\x17SshAuthenticationConfig\x12[\x0A\x1Fuser_private_key_secret_version\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*secretmanager.googleapis.com/SecretVersion\x12\x1C\x0A\x0Fhost_public_key\x18\x02 \x01(\x09B\x03\xE0A\x02\"R\x0A\x0BTokenStatus\x12\x1C\x0A\x18TOKEN_STATUS_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NOT_FOUND\x10\x01\x12\x0B\x0A\x07INVALID\x10\x02\x12\x09\x0A\x05VALID\x10\x03\x1Au\x0A\x1DWorkspaceCompilationOverrides\x12\x1D\x0A\x10default_database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dschema_suffix\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Ctable_prefix\x18\x03 \x01(\x09B\x03\xE0A\x01\x1A-\x0A\x0BLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01:\x85\x01\xEAA\x81\x01\x0A\"dataform.googleapis.com/Repository\x12Aprojects/{project}/locations/{location}/repositories/{repository}*\x0Crepositories2\x0ArepositoryB\x14\x0A\x12_containing_folderB\x13\x0A\x11_team_folder_nameB\x14\x0A\x12_internal_metadata\"3\x0A\x17PrivateResourceMetadata\x12\x18\x0A\x0Buser_scoped\x18\x01 \x01(\x08B\x03\xE0A\x03\"\xB1\x01\x0A\x17ListRepositoriesRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x84\x01\x0A\x18ListRepositoriesResponse\x12:\x0A\x0Crepositories\x18\x01 \x03(\x0B2\$.google.cloud.dataform.v1.Repository\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"\xA4\x01\x0A\x15MoveRepositoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12/\x0A\x1Ddestination_containing_folder\x18\x02 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01B \x0A\x1E_destination_containing_folder\"P\x0A\x14GetRepositoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"\xAF\x01\x0A\x17CreateRepositoryRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12=\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryB\x03\xE0A\x02\x12\x1A\x0A\x0Drepository_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x8E\x01\x0A\x17UpdateRepositoryRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12=\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryB\x03\xE0A\x02\"g\x0A\x17DeleteRepositoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xD2\x05\x0A\x1ECommitRepositoryChangesRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12F\x0A\x0Fcommit_metadata\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.CommitMetadataB\x03\xE0A\x02\x12%\x0A\x18required_head_commit_sha\x18\x04 \x01(\x09B\x03\xE0A\x01\x12j\x0A\x0Ffile_operations\x18\x03 \x03(\x0B2L.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperationsEntryB\x03\xE0A\x01\x1A\x9B\x02\x0A\x0DFileOperation\x12f\x0A\x0Awrite_file\x18\x01 \x01(\x0B2P.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation.WriteFileH\x00\x12h\x0A\x0Bdelete_file\x18\x02 \x01(\x0B2Q.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation.DeleteFileH\x00\x1A\x1D\x0A\x09WriteFile\x12\x10\x0A\x08contents\x18\x01 \x01(\x0C\x1A\x0C\x0A\x0ADeleteFileB\x0B\x0A\x09operation\x1A}\x0A\x13FileOperationsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12U\x0A\x05value\x18\x02 \x01(\x0B2F.google.cloud.dataform.v1.CommitRepositoryChangesRequest.FileOperation:\x028\x01\"5\x0A\x1FCommitRepositoryChangesResponse\x12\x12\x0A\x0Acommit_sha\x18\x01 \x01(\x09\"\x81\x01\x0A\x19ReadRepositoryFileRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x17\x0A\x0Acommit_sha\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x02\".\x0A\x1AReadRepositoryFileResponse\x12\x10\x0A\x08contents\x18\x01 \x01(\x0C\"\xC0\x01\x0A'QueryRepositoryDirectoryContentsRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x17\x0A\x0Acommit_sha\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x04 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x88\x01\x0A(QueryRepositoryDirectoryContentsResponse\x12C\x0A\x11directory_entries\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.DirectoryEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x8A\x01\x0A\x1DFetchRepositoryHistoryRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x05 \x01(\x09B\x03\xE0A\x01\"t\x0A\x1EFetchRepositoryHistoryResponse\x129\x0A\x07commits\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.CommitLogEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xA5\x01\x0A\x0ECommitLogEntry\x12/\x0A\x0Bcommit_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.Timestamp\x12\x12\x0A\x0Acommit_sha\x18\x02 \x01(\x09\x126\x0A\x06author\x18\x03 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthor\x12\x16\x0A\x0Ecommit_message\x18\x04 \x01(\x09\"j\x0A\x0ECommitMetadata\x12;\x0A\x06author\x18\x01 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\x12\x1B\x0A\x0Ecommit_message\x18\x02 \x01(\x09B\x03\xE0A\x01\"e\x0A)ComputeRepositoryAccessTokenStatusRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"\xFF\x01\x0A*ComputeRepositoryAccessTokenStatusResponse\x12f\x0A\x0Ctoken_status\x18\x01 \x01(\x0E2P.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusResponse.TokenStatus\"i\x0A\x0BTokenStatus\x12\x1C\x0A\x18TOKEN_STATUS_UNSPECIFIED\x10\x00\x12\x0D\x0A\x09NOT_FOUND\x10\x01\x12\x0B\x0A\x07INVALID\x10\x02\x12\x09\x0A\x05VALID\x10\x03\x12\x15\x0A\x11PERMISSION_DENIED\x10\x04\"V\x0A\x1AFetchRemoteBranchesRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\"/\x0A\x1BFetchRemoteBranchesResponse\x12\x10\x0A\x08branches\x18\x01 \x03(\x09\"\x8B\x04\x0A\x09Workspace\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x124\x0A\x0Bcreate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12Q\x0A\x15data_encryption_state\x18\x02 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x05 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x12\x1F\x0A\x0Ddisable_moves\x18\x06 \x01(\x08B\x03\xE0A\x01H\x01\x88\x01\x01\x12Y\x0A\x19private_resource_metadata\x18\x08 \x01(\x0B21.google.cloud.dataform.v1.PrivateResourceMetadataB\x03\xE0A\x03:\x98\x01\xEAA\x94\x01\x0A!dataform.googleapis.com/Workspace\x12Xprojects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}*\x0Aworkspaces2\x09workspaceB\x14\x0A\x12_internal_metadataB\x10\x0A\x0E_disable_moves\"\xB0\x01\x0A\x15ListWorkspacesRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x7F\x0A\x16ListWorkspacesResponse\x127\x0A\x0Aworkspaces\x18\x01 \x03(\x0B2#.google.cloud.dataform.v1.Workspace\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"N\x0A\x13GetWorkspaceRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\xAC\x01\x0A\x16CreateWorkspaceRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12;\x0A\x09workspace\x18\x02 \x01(\x0B2#.google.cloud.dataform.v1.WorkspaceB\x03\xE0A\x02\x12\x19\x0A\x0Cworkspace_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"Q\x0A\x16DeleteWorkspaceRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"=\x0A\x0CCommitAuthor\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x02\x12\x1A\x0A\x0Demail_address\x18\x02 \x01(\x09B\x03\xE0A\x02\"\xA9\x01\x0A\x15PullGitCommitsRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\x12;\x0A\x06author\x18\x03 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\"\x18\x0A\x16PullGitCommitsResponse\"l\x0A\x15PushGitCommitsRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\"\x18\x0A\x16PushGitCommitsResponse\"V\x0A\x1BFetchFileGitStatusesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\xF7\x02\x0A\x1CFetchFileGitStatusesResponse\x12n\x0A\x18uncommitted_file_changes\x18\x01 \x03(\x0B2L.google.cloud.dataform.v1.FetchFileGitStatusesResponse.UncommittedFileChange\x1A\xE6\x01\x0A\x15UncommittedFileChange\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\x12f\x0A\x05state\x18\x02 \x01(\x0E2R.google.cloud.dataform.v1.FetchFileGitStatusesResponse.UncommittedFileChange.StateB\x03\xE0A\x03\"W\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05ADDED\x10\x01\x12\x0B\x0A\x07DELETED\x10\x02\x12\x0C\x0A\x08MODIFIED\x10\x03\x12\x11\x0A\x0DHAS_CONFLICTS\x10\x04\"q\x0A\x1AFetchGitAheadBehindRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x1A\x0A\x0Dremote_branch\x18\x02 \x01(\x09B\x03\xE0A\x01\"L\x0A\x1BFetchGitAheadBehindResponse\x12\x15\x0A\x0Dcommits_ahead\x18\x01 \x01(\x05\x12\x16\x0A\x0Ecommits_behind\x18\x02 \x01(\x05\"\xC6\x01\x0A\x1DCommitWorkspaceChangesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12;\x0A\x06author\x18\x04 \x01(\x0B2&.google.cloud.dataform.v1.CommitAuthorB\x03\xE0A\x02\x12\x1B\x0A\x0Ecommit_message\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x12\x0A\x05paths\x18\x03 \x03(\x09B\x03\xE0A\x01\" \x0A\x1ECommitWorkspaceChangesResponse\"\x7F\x0A\x1CResetWorkspaceChangesRequest\x127\x0A\x04name\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x12\x0A\x05paths\x18\x02 \x03(\x09B\x03\xE0A\x01\x12\x12\x0A\x05clean\x18\x03 \x01(\x08B\x03\xE0A\x01\"\x1F\x0A\x1DResetWorkspaceChangesResponse\"g\x0A\x14FetchFileDiffRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"/\x0A\x15FetchFileDiffResponse\x12\x16\x0A\x0Eformatted_diff\x18\x01 \x01(\x09\"\xE5\x01\x0A\x1DQueryDirectoryContentsRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09page_size\x18\x03 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x04 \x01(\x09B\x03\xE0A\x01\x12B\x0A\x04view\x18\x05 \x01(\x0E2/.google.cloud.dataform.v1.DirectoryContentsViewB\x03\xE0A\x01\"~\x0A\x1EQueryDirectoryContentsResponse\x12C\x0A\x11directory_entries\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.DirectoryEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x83\x01\x0A\x0EDirectoryEntry\x12\x0E\x0A\x04file\x18\x01 \x01(\x09H\x00\x12\x13\x0A\x09directory\x18\x02 \x01(\x09H\x00\x12C\x0A\x08metadata\x18\x03 \x01(\x0B21.google.cloud.dataform.v1.FilesystemEntryMetadataB\x07\x0A\x05entry\"h\x0A\x17FilesystemEntryMetadata\x12\x17\x0A\x0Asize_bytes\x18\x01 \x01(\x03B\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\"\x98\x01\x0A\x12SearchFilesRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"s\x0A\x13SearchFilesResponse\x12>\x0A\x0Esearch_results\x18\x01 \x03(\x0B2&.google.cloud.dataform.v1.SearchResult\x12\x1C\x0A\x0Fnext_page_token\x18\x02 \x01(\x09B\x03\xE0A\x01\"\x99\x01\x0A\x0CSearchResult\x12:\x0A\x04file\x18\x01 \x01(\x0B2*.google.cloud.dataform.v1.FileSearchResultH\x00\x12D\x0A\x09directory\x18\x02 \x01(\x0B2/.google.cloud.dataform.v1.DirectorySearchResultH\x00B\x07\x0A\x05entry\" \x0A\x10FileSearchResult\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\"%\x0A\x15DirectorySearchResult\x12\x0C\x0A\x04path\x18\x01 \x01(\x09\"g\x0A\x14MakeDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x17\x0A\x15MakeDirectoryResponse\"i\x0A\x16RemoveDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x19\x0A\x17RemoveDirectoryResponse\"~\x0A\x14MoveDirectoryRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08new_path\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x17\x0A\x15MoveDirectoryResponse\"y\x0A\x0FReadFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08revision\x18\x03 \x01(\x09B\x03\xE0A\x01\")\x0A\x10ReadFileResponse\x12\x15\x0A\x0Dfile_contents\x18\x01 \x01(\x0C\"d\x0A\x11RemoveFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\"\x14\x0A\x12RemoveFileResponse\"y\x0A\x0FMoveFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08new_path\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x12\x0A\x10MoveFileResponse\"z\x0A\x10WriteFileRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\x12\x11\x0A\x04path\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x15\x0A\x08contents\x18\x03 \x01(\x0CB\x03\xE0A\x02\"\x13\x0A\x11WriteFileResponse\"Y\x0A\x19InstallNpmPackagesRequest\x12<\x0A\x09workspace\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!dataform.googleapis.com/Workspace\"\x1C\x0A\x1AInstallNpmPackagesResponse\"\xE7\x06\x0A\x0DReleaseConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x1A\x0A\x0Dgit_commitish\x18\x02 \x01(\x09B\x03\xE0A\x02\x12U\x0A\x17code_compilation_config\x18\x03 \x01(\x0B2/.google.cloud.dataform.v1.CodeCompilationConfigB\x03\xE0A\x01\x12\x1A\x0A\x0Dcron_schedule\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09time_zone\x18\x07 \x01(\x09B\x03\xE0A\x01\x12m\x0A recent_scheduled_release_records\x18\x05 \x03(\x0B2>.google.cloud.dataform.v1.ReleaseConfig.ScheduledReleaseRecordB\x03\xE0A\x03\x12U\x0A\x1Arelease_compilation_result\x18\x06 \x01(\x09B1\xE0A\x01\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12\x15\x0A\x08disabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x12#\x0A\x11internal_metadata\x18\x09 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x1A\xD3\x01\x0A\x16ScheduledReleaseRecord\x12L\x0A\x12compilation_result\x18\x02 \x01(\x09B.\xFAA+\x0A)dataform.googleapis.com/CompilationResultH\x00\x12*\x0A\x0Cerror_status\x18\x03 \x01(\x0B2\x12.google.rpc.StatusH\x00\x125\x0A\x0Crelease_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03B\x08\x0A\x06result:\xAD\x01\xEAA\xA9\x01\x0A%dataform.googleapis.com/ReleaseConfig\x12aprojects/{project}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config}*\x0EreleaseConfigs2\x0DreleaseConfigB\x14\x0A\x12_internal_metadata\"\x88\x01\x0A\x19ListReleaseConfigsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x8C\x01\x0A\x1AListReleaseConfigsResponse\x12@\x0A\x0Frelease_configs\x18\x01 \x03(\x0B2'.google.cloud.dataform.v1.ReleaseConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"V\x0A\x17GetReleaseConfigRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\"\xBE\x01\x0A\x1ACreateReleaseConfigRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12D\x0A\x0Erelease_config\x18\x02 \x01(\x0B2'.google.cloud.dataform.v1.ReleaseConfigB\x03\xE0A\x02\x12\x1E\x0A\x11release_config_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x98\x01\x0A\x1AUpdateReleaseConfigRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12D\x0A\x0Erelease_config\x18\x02 \x01(\x0B2'.google.cloud.dataform.v1.ReleaseConfigB\x03\xE0A\x02\"Y\x0A\x1ADeleteReleaseConfigRequest\x12;\x0A\x04name\x18\x01 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\"\xCA\x08\x0A\x11CompilationResult\x12\x1C\x0A\x0Dgit_commitish\x18\x02 \x01(\x09B\x03\xE0A\x05H\x00\x12>\x0A\x09workspace\x18\x03 \x01(\x09B)\xE0A\x05\xFAA#\x0A!dataform.googleapis.com/WorkspaceH\x00\x12G\x0A\x0Erelease_config\x18\x07 \x01(\x09B-\xE0A\x05\xFAA'\x0A%dataform.googleapis.com/ReleaseConfigH\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12U\x0A\x17code_compilation_config\x18\x04 \x01(\x0B2/.google.cloud.dataform.v1.CodeCompilationConfigB\x03\xE0A\x05\x12\$\x0A\x17resolved_git_commit_sha\x18\x08 \x01(\x09B\x03\xE0A\x03\x12\"\x0A\x15dataform_core_version\x18\x05 \x01(\x09B\x03\xE0A\x03\x12]\x0A\x12compilation_errors\x18\x06 \x03(\x0B2<.google.cloud.dataform.v1.CompilationResult.CompilationErrorB\x03\xE0A\x03\x12Q\x0A\x15data_encryption_state\x18\x09 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0B \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x12Y\x0A\x19private_resource_metadata\x18\x0C \x01(\x0B21.google.cloud.dataform.v1.PrivateResourceMetadataB\x03\xE0A\x03\x1A\x8D\x01\x0A\x10CompilationError\x12\x14\x0A\x07message\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x12\x0A\x05stack\x18\x02 \x01(\x09B\x03\xE0A\x03\x12\x11\x0A\x04path\x18\x03 \x01(\x09B\x03\xE0A\x03\x12<\x0A\x0Daction_target\x18\x04 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03:\xC1\x01\xEAA\xBD\x01\x0A)dataform.googleapis.com/CompilationResult\x12iprojects/{project}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}*\x12compilationResults2\x11compilationResultB\x08\x0A\x06sourceB\x14\x0A\x12_internal_metadata\"\xEE\x03\x0A\x15CodeCompilationConfig\x12\x1D\x0A\x10default_database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x1B\x0A\x0Edefault_schema\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10default_location\x18\x08 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10assertion_schema\x18\x03 \x01(\x09B\x03\xE0A\x01\x12L\x0A\x04vars\x18\x04 \x03(\x0B29.google.cloud.dataform.v1.CodeCompilationConfig.VarsEntryB\x03\xE0A\x01\x12\x1C\x0A\x0Fdatabase_suffix\x18\x05 \x01(\x09B\x03\xE0A\x01\x12\x1A\x0A\x0Dschema_suffix\x18\x06 \x01(\x09B\x03\xE0A\x01\x12\x19\x0A\x0Ctable_prefix\x18\x07 \x01(\x09B\x03\xE0A\x01\x12*\x0A\x1Dbuiltin_assertion_name_prefix\x18\x0A \x01(\x09B\x03\xE0A\x01\x12_\x0A default_notebook_runtime_options\x18\x09 \x01(\x0B20.google.cloud.dataform.v1.NotebookRuntimeOptionsB\x03\xE0A\x01\x1A+\x0A\x09VarsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xB6\x01\x0A\x16NotebookRuntimeOptions\x12 \x0A\x11gcs_output_bucket\x18\x01 \x01(\x09B\x03\xE0A\x01H\x00\x12h\x0A%ai_platform_notebook_runtime_template\x18\x02 \x01(\x09B9\xE0A\x01\xFAA3\x0A1aiplatform.googleapis.com/NotebookRuntimeTemplateB\x10\x0A\x0Eexecution_sink\"\xB8\x01\x0A\x1DListCompilationResultsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x98\x01\x0A\x1EListCompilationResultsResponse\x12H\x0A\x13compilation_results\x18\x01 \x03(\x0B2+.google.cloud.dataform.v1.CompilationResult\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"^\x0A\x1BGetCompilationResultRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)dataform.googleapis.com/CompilationResult\"\xAA\x01\x0A\x1ECreateCompilationResultRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12L\x0A\x12compilation_result\x18\x02 \x01(\x0B2+.google.cloud.dataform.v1.CompilationResultB\x03\xE0A\x02\"G\x0A\x06Target\x12\x15\x0A\x08database\x18\x01 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06schema\x18\x02 \x01(\x09B\x03\xE0A\x01\x12\x11\x0A\x04name\x18\x03 \x01(\x09B\x03\xE0A\x01\"\xE0\x02\x0A\x12RelationDescriptor\x12\x13\x0A\x0Bdescription\x18\x01 \x01(\x09\x12N\x0A\x07columns\x18\x02 \x03(\x0B2=.google.cloud.dataform.v1.RelationDescriptor.ColumnDescriptor\x12Y\x0A\x0Fbigquery_labels\x18\x03 \x03(\x0B2@.google.cloud.dataform.v1.RelationDescriptor.BigqueryLabelsEntry\x1AS\x0A\x10ColumnDescriptor\x12\x0C\x0A\x04path\x18\x01 \x03(\x09\x12\x13\x0A\x0Bdescription\x18\x02 \x01(\x09\x12\x1C\x0A\x14bigquery_policy_tags\x18\x03 \x03(\x09\x1A5\x0A\x13BigqueryLabelsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"\xA3\x1E\x0A\x17CompilationResultAction\x12N\x0A\x08relation\x18\x04 \x01(\x0B2:.google.cloud.dataform.v1.CompilationResultAction.RelationH\x00\x12R\x0A\x0Aoperations\x18\x05 \x01(\x0B2<.google.cloud.dataform.v1.CompilationResultAction.OperationsH\x00\x12P\x0A\x09assertion\x18\x06 \x01(\x0B2;.google.cloud.dataform.v1.CompilationResultAction.AssertionH\x00\x12T\x0A\x0Bdeclaration\x18\x07 \x01(\x0B2=.google.cloud.dataform.v1.CompilationResultAction.DeclarationH\x00\x12N\x0A\x08notebook\x18\x08 \x01(\x0B2:.google.cloud.dataform.v1.CompilationResultAction.NotebookH\x00\x12]\x0A\x10data_preparation\x18\x09 \x01(\x0B2A.google.cloud.dataform.v1.CompilationResultAction.DataPreparationH\x00\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12:\x0A\x10canonical_target\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x11\x0A\x09file_path\x18\x03 \x01(\x09\x12#\x0A\x11internal_metadata\x18\x0A \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x1A\xAE\x0B\x0A\x08Relation\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12I\x0A\x13relation_descriptor\x18\x04 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x12^\x0A\x0Drelation_type\x18\x05 \x01(\x0E2G.google.cloud.dataform.v1.CompilationResultAction.Relation.RelationType\x12\x14\x0A\x0Cselect_query\x18\x06 \x01(\x09\x12\x16\x0A\x0Epre_operations\x18\x07 \x03(\x09\x12\x17\x0A\x0Fpost_operations\x18\x08 \x03(\x09\x12s\x0A\x18incremental_table_config\x18\x09 \x01(\x0B2Q.google.cloud.dataform.v1.CompilationResultAction.Relation.IncrementalTableConfig\x12\x1C\x0A\x14partition_expression\x18\x0A \x01(\x09\x12\x1B\x0A\x13cluster_expressions\x18\x0B \x03(\x09\x12!\x0A\x19partition_expiration_days\x18\x0C \x01(\x05\x12 \x0A\x18require_partition_filter\x18\x0D \x01(\x08\x12m\x0A\x12additional_options\x18\x0E \x03(\x0B2Q.google.cloud.dataform.v1.CompilationResultAction.Relation.AdditionalOptionsEntry\x12\x17\x0A\x0Aconnection\x18\x0F \x01(\x09B\x03\xE0A\x01\x12a\x0A\x0Ctable_format\x18\x10 \x01(\x0E2F.google.cloud.dataform.v1.CompilationResultAction.Relation.TableFormatB\x03\xE0A\x01\x12_\x0A\x0Bfile_format\x18\x11 \x01(\x0E2E.google.cloud.dataform.v1.CompilationResultAction.Relation.FileFormatB\x03\xE0A\x01\x12\x18\x0A\x0Bstorage_uri\x18\x12 \x01(\x09B\x03\xE0A\x01\x1A\xD8\x01\x0A\x16IncrementalTableConfig\x12 \x0A\x18incremental_select_query\x18\x01 \x01(\x09\x12\x18\x0A\x10refresh_disabled\x18\x02 \x01(\x08\x12\x18\x0A\x10unique_key_parts\x18\x03 \x03(\x09\x12\x1F\x0A\x17update_partition_filter\x18\x04 \x01(\x09\x12\"\x0A\x1Aincremental_pre_operations\x18\x05 \x03(\x09\x12#\x0A\x1Bincremental_post_operations\x18\x06 \x03(\x09\x1A8\x0A\x16AdditionalOptionsEntry\x12\x0B\x0A\x03key\x18\x01 \x01(\x09\x12\x0D\x0A\x05value\x18\x02 \x01(\x09:\x028\x01\"p\x0A\x0CRelationType\x12\x1D\x0A\x19RELATION_TYPE_UNSPECIFIED\x10\x00\x12\x09\x0A\x05TABLE\x10\x01\x12\x08\x0A\x04VIEW\x10\x02\x12\x15\x0A\x11INCREMENTAL_TABLE\x10\x03\x12\x15\x0A\x11MATERIALIZED_VIEW\x10\x04\"8\x0A\x0BTableFormat\x12\x1C\x0A\x18TABLE_FORMAT_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07ICEBERG\x10\x01\"6\x0A\x0AFileFormat\x12\x1B\x0A\x17FILE_FORMAT_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07PARQUET\x10\x01\x1A\xDA\x01\x0A\x0AOperations\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12I\x0A\x13relation_descriptor\x18\x06 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x12\x0F\x0A\x07queries\x18\x04 \x03(\x09\x12\x12\x0A\x0Ahas_output\x18\x05 \x01(\x08\x1A\x83\x02\x0A\x09Assertion\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x127\x0A\x0Dparent_action\x18\x05 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x03 \x03(\x09\x12\x14\x0A\x0Cselect_query\x18\x04 \x01(\x09\x12I\x0A\x13relation_descriptor\x18\x06 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x1AX\x0A\x0BDeclaration\x12I\x0A\x13relation_descriptor\x18\x01 \x01(\x0B2,.google.cloud.dataform.v1.RelationDescriptor\x1Az\x0A\x08Notebook\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x10\x0A\x08contents\x18\x03 \x01(\x09\x12\x0C\x0A\x04tags\x18\x04 \x03(\x09\x1A\xA7\x04\x0A\x0FDataPreparation\x12\x17\x0A\x0Dcontents_yaml\x18\x05 \x01(\x09H\x00\x12g\x0A\x0Ccontents_sql\x18\x06 \x01(\x0B2O.google.cloud.dataform.v1.CompilationResultAction.DataPreparation.SqlDefinitionH\x00\x12<\x0A\x12dependency_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.Target\x12\x10\x0A\x08disabled\x18\x02 \x01(\x08\x12\x0C\x0A\x04tags\x18\x04 \x03(\x09\x1A\xCD\x01\x0A\x0DSqlDefinition\x12\x0D\x0A\x05query\x18\x01 \x01(\x09\x12a\x0A\x0Berror_table\x18\x02 \x01(\x0B2L.google.cloud.dataform.v1.CompilationResultAction.DataPreparation.ErrorTable\x12J\x0A\x04load\x18\x03 \x01(\x0B2<.google.cloud.dataform.v1.CompilationResultAction.LoadConfig\x1AV\x0A\x0AErrorTable\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x16\x0A\x0Eretention_days\x18\x02 \x01(\x05B\x0C\x0A\x0Adefinition\x1A\xF0\x02\x0A\x0ALoadConfig\x12S\x0A\x07replace\x18\x01 \x01(\x0B2@.google.cloud.dataform.v1.CompilationResultAction.SimpleLoadModeH\x00\x12R\x0A\x06append\x18\x02 \x01(\x0B2@.google.cloud.dataform.v1.CompilationResultAction.SimpleLoadModeH\x00\x12X\x0A\x07maximum\x18\x03 \x01(\x0B2E.google.cloud.dataform.v1.CompilationResultAction.IncrementalLoadModeH\x00\x12W\x0A\x06unique\x18\x04 \x01(\x0B2E.google.cloud.dataform.v1.CompilationResultAction.IncrementalLoadModeH\x00B\x06\x0A\x04mode\x1A\x10\x0A\x0ESimpleLoadMode\x1A%\x0A\x13IncrementalLoadMode\x12\x0E\x0A\x06column\x18\x01 \x01(\x09B\x11\x0A\x0Fcompiled_objectB\x14\x0A\x12_internal_metadata\"\xAD\x01\x0A\$QueryCompilationResultActionsRequest\x12?\x0A\x04name\x18\x01 \x01(\x09B1\xE0A\x02\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x04 \x01(\x09B\x03\xE0A\x01\"\x97\x01\x0A%QueryCompilationResultActionsResponse\x12U\x0A\x1Acompilation_result_actions\x18\x01 \x03(\x0B21.google.cloud.dataform.v1.CompilationResultAction\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\xAD\x07\x0A\x0EWorkflowConfig\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12E\x0A\x0Erelease_config\x18\x02 \x01(\x09B-\xE0A\x02\xFAA'\x0A%dataform.googleapis.com/ReleaseConfig\x12J\x0A\x11invocation_config\x18\x03 \x01(\x0B2*.google.cloud.dataform.v1.InvocationConfigB\x03\xE0A\x01\x12\x1A\x0A\x0Dcron_schedule\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x16\x0A\x09time_zone\x18\x07 \x01(\x09B\x03\xE0A\x01\x12r\x0A\"recent_scheduled_execution_records\x18\x05 \x03(\x0B2A.google.cloud.dataform.v1.WorkflowConfig.ScheduledExecutionRecordB\x03\xE0A\x03\x12\x15\x0A\x08disabled\x18\x08 \x01(\x08B\x03\xE0A\x01\x124\x0A\x0Bcreate_time\x18\x09 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x0A \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0B \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x1A\xD9\x01\x0A\x18ScheduledExecutionRecord\x12N\x0A\x13workflow_invocation\x18\x02 \x01(\x09B/\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocationH\x00\x12*\x0A\x0Cerror_status\x18\x03 \x01(\x0B2\x12.google.rpc.StatusH\x00\x127\x0A\x0Eexecution_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03B\x08\x0A\x06result:\xB2\x01\xEAA\xAE\x01\x0A&dataform.googleapis.com/WorkflowConfig\x12cprojects/{project}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}*\x0FworkflowConfigs2\x0EworkflowConfigB\x14\x0A\x12_internal_metadata\"\xDC\x03\x0A\x10InvocationConfig\x12?\x0A\x10included_targets\x18\x01 \x03(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x01\x12\x1A\x0A\x0Dincluded_tags\x18\x02 \x03(\x09B\x03\xE0A\x01\x12-\x0A transitive_dependencies_included\x18\x03 \x01(\x08B\x03\xE0A\x01\x12+\x0A\x1Etransitive_dependents_included\x18\x04 \x01(\x08B\x03\xE0A\x01\x125\x0A(fully_refresh_incremental_tables_enabled\x18\x05 \x01(\x08B\x03\xE0A\x01\x12\x1C\x0A\x0Fservice_account\x18\x06 \x01(\x09B\x03\xE0A\x01\x12Z\x0A\x0Equery_priority\x18\x09 \x01(\x0E28.google.cloud.dataform.v1.InvocationConfig.QueryPriorityB\x03\xE0A\x01H\x00\x88\x01\x01\"K\x0A\x0DQueryPriority\x12\x1E\x0A\x1AQUERY_PRIORITY_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BINTERACTIVE\x10\x01\x12\x09\x0A\x05BATCH\x10\x02B\x11\x0A\x0F_query_priority\"\x89\x01\x0A\x1AListWorkflowConfigsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x8F\x01\x0A\x1BListWorkflowConfigsResponse\x12B\x0A\x10workflow_configs\x18\x01 \x03(\x0B2(.google.cloud.dataform.v1.WorkflowConfig\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"X\x0A\x18GetWorkflowConfigRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dataform.googleapis.com/WorkflowConfig\"\xC2\x01\x0A\x1BCreateWorkflowConfigRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12F\x0A\x0Fworkflow_config\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.WorkflowConfigB\x03\xE0A\x02\x12\x1F\x0A\x12workflow_config_id\x18\x03 \x01(\x09B\x03\xE0A\x02\"\x9B\x01\x0A\x1BUpdateWorkflowConfigRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12F\x0A\x0Fworkflow_config\x18\x02 \x01(\x0B2(.google.cloud.dataform.v1.WorkflowConfigB\x03\xE0A\x02\"[\x0A\x1BDeleteWorkflowConfigRequest\x12<\x0A\x04name\x18\x01 \x01(\x09B.\xE0A\x02\xFAA(\x0A&dataform.googleapis.com/WorkflowConfig\"\x94\x08\x0A\x12WorkflowInvocation\x12O\x0A\x12compilation_result\x18\x02 \x01(\x09B1\xE0A\x05\xFAA+\x0A)dataform.googleapis.com/CompilationResultH\x00\x12I\x0A\x0Fworkflow_config\x18\x06 \x01(\x09B.\xE0A\x05\xFAA(\x0A&dataform.googleapis.com/WorkflowConfigH\x00\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x03\x12J\x0A\x11invocation_config\x18\x03 \x01(\x0B2*.google.cloud.dataform.v1.InvocationConfigB\x03\xE0A\x05\x12F\x0A\x05state\x18\x04 \x01(\x0E22.google.cloud.dataform.v1.WorkflowInvocation.StateB\x03\xE0A\x03\x125\x0A\x11invocation_timing\x18\x05 \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12V\x0A\x1Bresolved_compilation_result\x18\x07 \x01(\x09B1\xE0A\x03\xFAA+\x0A)dataform.googleapis.com/CompilationResult\x12Q\x0A\x15data_encryption_state\x18\x08 \x01(\x0B2-.google.cloud.dataform.v1.DataEncryptionStateB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x09 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x12Y\x0A\x19private_resource_metadata\x18\x0A \x01(\x0B21.google.cloud.dataform.v1.PrivateResourceMetadataB\x03\xE0A\x03\"d\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0D\x0A\x09SUCCEEDED\x10\x02\x12\x0D\x0A\x09CANCELLED\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\x12\x0D\x0A\x09CANCELING\x10\x05:\xC6\x01\xEAA\xC2\x01\x0A*dataform.googleapis.com/WorkflowInvocation\x12kprojects/{project}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}*\x13workflowInvocations2\x12workflowInvocationB\x14\x0A\x12compilation_sourceB\x14\x0A\x12_internal_metadata\"\xB9\x01\x0A\x1EListWorkflowInvocationsRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\x9B\x01\x0A\x1FListWorkflowInvocationsResponse\x12J\x0A\x14workflow_invocations\x18\x01 \x03(\x0B2,.google.cloud.dataform.v1.WorkflowInvocation\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x12\x13\x0A\x0Bunreachable\x18\x03 \x03(\x09\"`\x0A\x1CGetWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"\xAD\x01\x0A\x1FCreateWorkflowInvocationRequest\x12:\x0A\x06parent\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/Repository\x12N\x0A\x13workflow_invocation\x18\x02 \x01(\x0B2,.google.cloud.dataform.v1.WorkflowInvocationB\x03\xE0A\x02\"c\x0A\x1FDeleteWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"c\x0A\x1FCancelWorkflowInvocationRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\"\"\x0A CancelWorkflowInvocationResponse\"\x9B\x10\x0A\x18WorkflowInvocationAction\x12a\x0A\x0Fbigquery_action\x18\x06 \x01(\x0B2A.google.cloud.dataform.v1.WorkflowInvocationAction.BigQueryActionB\x03\xE0A\x03H\x00\x12a\x0A\x0Fnotebook_action\x18\x08 \x01(\x0B2A.google.cloud.dataform.v1.WorkflowInvocationAction.NotebookActionB\x03\xE0A\x03H\x00\x12p\x0A\x17data_preparation_action\x18\x09 \x01(\x0B2H.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationActionB\x03\xE0A\x03H\x00\x125\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03\x12?\x0A\x10canonical_target\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.TargetB\x03\xE0A\x03\x12L\x0A\x05state\x18\x04 \x01(\x0E28.google.cloud.dataform.v1.WorkflowInvocationAction.StateB\x03\xE0A\x03\x12\x1B\x0A\x0Efailure_reason\x18\x07 \x01(\x09B\x03\xE0A\x03\x125\x0A\x11invocation_timing\x18\x05 \x01(\x0B2\x15.google.type.IntervalB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x0A \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01\x1A>\x0A\x0EBigQueryAction\x12\x17\x0A\x0Asql_script\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A<\x0A\x0ENotebookAction\x12\x15\x0A\x08contents\x18\x01 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x02 \x01(\x09B\x03\xE0A\x03\x1A\x81\x09\x0A\x15DataPreparationAction\x12\x1C\x0A\x0Dcontents_yaml\x18\x02 \x01(\x09B\x03\xE0A\x03H\x00\x12t\x0A\x0Ccontents_sql\x18\x06 \x01(\x0B2\\.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSqlDefinitionH\x00\x12\x1A\x0A\x0Dgenerated_sql\x18\x03 \x01(\x09B\x03\xE0A\x03\x12\x13\x0A\x06job_id\x18\x04 \x01(\x09B\x03\xE0A\x03\x1A\x84\x02\x0A\x13ActionSqlDefinition\x12\x0D\x0A\x05query\x18\x01 \x01(\x09\x12n\x0A\x0Berror_table\x18\x02 \x01(\x0B2Y.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionErrorTable\x12n\x0A\x0Bload_config\x18\x03 \x01(\x0B2Y.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionLoadConfig\x1A\\\x0A\x10ActionErrorTable\x120\x0A\x06target\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.Target\x12\x16\x0A\x0Eretention_days\x18\x02 \x01(\x05\x1A\xEA\x03\x0A\x10ActionLoadConfig\x12p\x0A\x07replace\x18\x01 \x01(\x0B2].google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSimpleLoadModeH\x00\x12o\x0A\x06append\x18\x02 \x01(\x0B2].google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionSimpleLoadModeH\x00\x12u\x0A\x07maximum\x18\x03 \x01(\x0B2b.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionIncrementalLoadModeH\x00\x12t\x0A\x06unique\x18\x04 \x01(\x0B2b.google.cloud.dataform.v1.WorkflowInvocationAction.DataPreparationAction.ActionIncrementalLoadModeH\x00B\x06\x0A\x04mode\x1A\x16\x0A\x14ActionSimpleLoadMode\x1A+\x0A\x19ActionIncrementalLoadMode\x12\x0E\x0A\x06column\x18\x01 \x01(\x09B\x0C\x0A\x0Adefinition\"f\x0A\x05State\x12\x0B\x0A\x07PENDING\x10\x00\x12\x0B\x0A\x07RUNNING\x10\x01\x12\x0B\x0A\x07SKIPPED\x10\x02\x12\x0C\x0A\x08DISABLED\x10\x03\x12\x0D\x0A\x09SUCCEEDED\x10\x04\x12\x0D\x0A\x09CANCELLED\x10\x05\x12\x0A\x0A\x06FAILED\x10\x06B\x08\x0A\x06actionB\x14\x0A\x12_internal_metadata\"\x9A\x01\x0A%QueryWorkflowInvocationActionsRequest\x12@\x0A\x04name\x18\x01 \x01(\x09B2\xE0A\x02\xFAA,\x0A*dataform.googleapis.com/WorkflowInvocation\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\"\x9A\x01\x0A&QueryWorkflowInvocationActionsResponse\x12W\x0A\x1Bworkflow_invocation_actions\x18\x01 \x03(\x0B22.google.cloud.dataform.v1.WorkflowInvocationAction\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\"\x85\x02\x0A\x06Config\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12G\x0A\x14default_kms_key_name\x18\x02 \x01(\x09B)\xE0A\x01\xFAA#\x0A!cloudkms.googleapis.com/CryptoKey\x12#\x0A\x11internal_metadata\x18\x07 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01:d\xEAAa\x0A\x1Edataform.googleapis.com/Config\x12.projects/{project}/locations/{location}/config*\x07configs2\x06configB\x14\x0A\x12_internal_metadata\"H\x0A\x10GetConfigRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Config\"\x82\x01\x0A\x13UpdateConfigRequest\x125\x0A\x06config\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.ConfigB\x03\xE0A\x02\x124\x0A\x0Bupdate_mask\x18\x02 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\"\xCF\x03\x0A\x06Folder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x12\x1E\x0A\x11containing_folder\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x1D\x0A\x10team_folder_name\x18\x04 \x01(\x09B\x03\xE0A\x03\x124\x0A\x0Bcreate_time\x18\x05 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x06 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x07 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x12'\x0A\x15creator_iam_principal\x18\x08 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01:n\xEAAk\x0A\x1Edataform.googleapis.com/Folder\x128projects/{project}/locations/{location}/folders/{folder}*\x07folders2\x06folderB\x14\x0A\x12_internal_metadataB\x18\x0A\x16_creator_iam_principal\"\x87\x01\x0A\x13CreateFolderRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x125\x0A\x06folder\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.FolderB\x03\xE0A\x02\"\x9C\x01\x0A\x11MoveFolderRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Folder\x12/\x0A\x1Ddestination_containing_folder\x18\x02 \x01(\x09B\x03\xE0A\x01H\x00\x88\x01\x01B \x0A\x1E_destination_containing_folder\"H\x0A\x10GetFolderRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Folder\"\x82\x01\x0A\x13UpdateFolderRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x125\x0A\x06folder\x18\x02 \x01(\x0B2 .google.cloud.dataform.v1.FolderB\x03\xE0A\x02\"K\x0A\x13DeleteFolderRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Folder\"c\x0A\x17DeleteFolderTreeRequest\x124\x0A\x04name\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Folder\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"k\x0A\x1BDeleteTeamFolderTreeRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/TeamFolder\x12\x12\x0A\x05force\x18\x02 \x01(\x08B\x03\xE0A\x01\"\xE2\x02\x0A\x18DeleteFolderTreeMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12L\x0A\x05state\x18\x04 \x01(\x0E28.google.cloud.dataform.v1.DeleteFolderTreeMetadata.StateB\x03\xE0A\x03\x12\x1D\x0A\x10percent_complete\x18\x05 \x01(\x05B\x03\xE0A\x03\"[\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BINITIALIZED\x10\x01\x12\x0F\x0A\x0BIN_PROGRESS\x10\x02\x12\x0D\x0A\x09SUCCEEDED\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\"\xB1\x01\x0A\x1AQueryFolderContentsRequest\x126\x0A\x06folder\x18\x01 \x01(\x09B&\xE0A\x02\xFAA \x0A\x1Edataform.googleapis.com/Folder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xA3\x02\x0A\x1BQueryFolderContentsResponse\x12Z\x0A\x07entries\x18\x01 \x03(\x0B2I.google.cloud.dataform.v1.QueryFolderContentsResponse.FolderContentsEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x1A\x8E\x01\x0A\x13FolderContentsEntry\x122\x0A\x06folder\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.FolderH\x00\x12:\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryH\x00B\x07\x0A\x05entry\"\xB8\x01\x0A\x1CQueryUserRootContentsRequest\x12;\x0A\x08location\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xA3\x02\x0A\x1DQueryUserRootContentsResponse\x12Z\x0A\x07entries\x18\x01 \x03(\x0B2I.google.cloud.dataform.v1.QueryUserRootContentsResponse.RootContentsEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x1A\x8C\x01\x0A\x11RootContentsEntry\x122\x0A\x06folder\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.FolderH\x00\x12:\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryH\x00B\x07\x0A\x05entry\"\xAB\x03\x0A\x0ATeamFolder\x12\x11\x0A\x04name\x18\x01 \x01(\x09B\x03\xE0A\x08\x12\x19\x0A\x0Cdisplay_name\x18\x02 \x01(\x09B\x03\xE0A\x02\x124\x0A\x0Bcreate_time\x18\x03 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x124\x0A\x0Bupdate_time\x18\x04 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12#\x0A\x11internal_metadata\x18\x05 \x01(\x09B\x03\xE0A\x03H\x00\x88\x01\x01\x12'\x0A\x15creator_iam_principal\x18\x06 \x01(\x09B\x03\xE0A\x03H\x01\x88\x01\x01:\x84\x01\xEAA\x80\x01\x0A\"dataform.googleapis.com/TeamFolder\x12Aprojects/{project}/locations/{location}/teamFolders/{team_folder}*\x0BteamFolders2\x0AteamFolderB\x14\x0A\x12_internal_metadataB\x18\x0A\x16_creator_iam_principal\"\x94\x01\x0A\x17CreateTeamFolderRequest\x129\x0A\x06parent\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12>\x0A\x0Bteam_folder\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.TeamFolderB\x03\xE0A\x02\"P\x0A\x14GetTeamFolderRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/TeamFolder\"\x8F\x01\x0A\x17UpdateTeamFolderRequest\x124\x0A\x0Bupdate_mask\x18\x01 \x01(\x0B2\x1A.google.protobuf.FieldMaskB\x03\xE0A\x01\x12>\x0A\x0Bteam_folder\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.TeamFolderB\x03\xE0A\x02\"S\x0A\x17DeleteTeamFolderRequest\x128\x0A\x04name\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/TeamFolder\"\xBE\x01\x0A\x1EQueryTeamFolderContentsRequest\x12?\x0A\x0Bteam_folder\x18\x01 \x01(\x09B*\xE0A\x02\xFAA\$\x0A\"dataform.googleapis.com/TeamFolder\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xB3\x02\x0A\x1FQueryTeamFolderContentsResponse\x12b\x0A\x07entries\x18\x01 \x03(\x0B2Q.google.cloud.dataform.v1.QueryTeamFolderContentsResponse.TeamFolderContentsEntry\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x1A\x92\x01\x0A\x17TeamFolderContentsEntry\x122\x0A\x06folder\x18\x01 \x01(\x0B2 .google.cloud.dataform.v1.FolderH\x00\x12:\x0A\x0Arepository\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.RepositoryH\x00B\x07\x0A\x05entry\"\xB4\x01\x0A\x18SearchTeamFoldersRequest\x12;\x0A\x08location\x18\x01 \x01(\x09B)\xE0A\x02\xFAA#\x0A!locations.googleapis.com/Location\x12\x16\x0A\x09page_size\x18\x02 \x01(\x05B\x03\xE0A\x01\x12\x17\x0A\x0Apage_token\x18\x03 \x01(\x09B\x03\xE0A\x01\x12\x15\x0A\x08order_by\x18\x04 \x01(\x09B\x03\xE0A\x01\x12\x13\x0A\x06filter\x18\x05 \x01(\x09B\x03\xE0A\x01\"\xF1\x01\x0A\x19SearchTeamFoldersResponse\x12[\x0A\x07results\x18\x01 \x03(\x0B2J.google.cloud.dataform.v1.SearchTeamFoldersResponse.TeamFolderSearchResult\x12\x17\x0A\x0Fnext_page_token\x18\x02 \x01(\x09\x1A^\x0A\x16TeamFolderSearchResult\x12;\x0A\x0Bteam_folder\x18\x02 \x01(\x0B2\$.google.cloud.dataform.v1.TeamFolderH\x00B\x07\x0A\x05entry\"\xCA\x02\x0A\x12MoveFolderMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12A\x0A\x05state\x18\x04 \x01(\x0E22.google.cloud.dataform.v1.MoveFolderMetadata.State\x12\x18\x0A\x10percent_complete\x18\x05 \x01(\x05\"Y\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BINITIALIZED\x10\x01\x12\x0F\x0A\x0BIN_PROGRESS\x10\x02\x12\x0B\x0A\x07SUCCESS\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04\"\xD2\x02\x0A\x16MoveRepositoryMetadata\x124\x0A\x0Bcreate_time\x18\x01 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x121\x0A\x08end_time\x18\x02 \x01(\x0B2\x1A.google.protobuf.TimestampB\x03\xE0A\x03\x12\x13\x0A\x06target\x18\x03 \x01(\x09B\x03\xE0A\x03\x12E\x0A\x05state\x18\x04 \x01(\x0E26.google.cloud.dataform.v1.MoveRepositoryMetadata.State\x12\x18\x0A\x10percent_complete\x18\x05 \x01(\x05\"Y\x0A\x05State\x12\x15\x0A\x11STATE_UNSPECIFIED\x10\x00\x12\x0F\x0A\x0BINITIALIZED\x10\x01\x12\x0F\x0A\x0BIN_PROGRESS\x10\x02\x12\x0B\x0A\x07SUCCESS\x10\x03\x12\x0A\x0A\x06FAILED\x10\x04*\x89\x01\x0A\x15DirectoryContentsView\x12'\x0A#DIRECTORY_CONTENTS_VIEW_UNSPECIFIED\x10\x00\x12!\x0A\x1DDIRECTORY_CONTENTS_VIEW_BASIC\x10\x01\x12\$\x0A DIRECTORY_CONTENTS_VIEW_METADATA\x10\x022\xE3}\x0A\x08Dataform\x12\xA5\x01\x0A\x0DGetTeamFolder\x12..google.cloud.dataform.v1.GetTeamFolderRequest\x1A\$.google.cloud.dataform.v1.TeamFolder\">\xDAA\x04name\x82\xD3\xE4\x93\x021\x12//v1/{name=projects/*/locations/*/teamFolders/*}\x12\xC6\x01\x0A\x10CreateTeamFolder\x121.google.cloud.dataform.v1.CreateTeamFolderRequest\x1A\$.google.cloud.dataform.v1.TeamFolder\"Y\xDAA\x12parent,team_folder\x82\xD3\xE4\x93\x02>\"//v1/{parent=projects/*/locations/*}/teamFolders:\x0Bteam_folder\x12\xD7\x01\x0A\x10UpdateTeamFolder\x121.google.cloud.dataform.v1.UpdateTeamFolderRequest\x1A\$.google.cloud.dataform.v1.TeamFolder\"j\xDAA\x17team_folder,update_mask\x82\xD3\xE4\x93\x02J2;/v1/{team_folder.name=projects/*/locations/*/teamFolders/*}:\x0Bteam_folder\x12\x9D\x01\x0A\x10DeleteTeamFolder\x121.google.cloud.dataform.v1.DeleteTeamFolderRequest\x1A\x16.google.protobuf.Empty\">\xDAA\x04name\x82\xD3\xE4\x93\x021*//v1/{name=projects/*/locations/*/teamFolders/*}\x12\xF5\x01\x0A\x14DeleteTeamFolderTree\x125.google.cloud.dataform.v1.DeleteTeamFolderTreeRequest\x1A\x1D.google.longrunning.Operation\"\x86\x01\xCAA1\x0A\x15google.protobuf.Empty\x12\x18DeleteFolderTreeMetadata\xDAA\x0Aname,force\x82\xD3\xE4\x93\x02?\":/v1/{name=projects/*/locations/*/teamFolders/*}:deleteTree:\x01*\x12\xEA\x01\x0A\x17QueryTeamFolderContents\x128.google.cloud.dataform.v1.QueryTeamFolderContentsRequest\x1A9.google.cloud.dataform.v1.QueryTeamFolderContentsResponse\"Z\xDAA\x0Bteam_folder\x82\xD3\xE4\x93\x02F\x12D/v1/{team_folder=projects/*/locations/*/teamFolders/*}:queryContents\x12\xBE\x01\x0A\x11SearchTeamFolders\x122.google.cloud.dataform.v1.SearchTeamFoldersRequest\x1A3.google.cloud.dataform.v1.SearchTeamFoldersResponse\"@\x82\xD3\xE4\x93\x02:\x128/v1/{location=projects/*/locations/*}/teamFolders:search\x12\x95\x01\x0A\x09GetFolder\x12*.google.cloud.dataform.v1.GetFolderRequest\x1A .google.cloud.dataform.v1.Folder\":\xDAA\x04name\x82\xD3\xE4\x93\x02-\x12+/v1/{name=projects/*/locations/*/folders/*}\x12\xAC\x01\x0A\x0CCreateFolder\x12-.google.cloud.dataform.v1.CreateFolderRequest\x1A .google.cloud.dataform.v1.Folder\"K\xDAA\x0Dparent,folder\x82\xD3\xE4\x93\x025\"+/v1/{parent=projects/*/locations/*}/folders:\x06folder\x12\xB8\x01\x0A\x0CUpdateFolder\x12-.google.cloud.dataform.v1.UpdateFolderRequest\x1A .google.cloud.dataform.v1.Folder\"W\xDAA\x12folder,update_mask\x82\xD3\xE4\x93\x02<22/v1/{folder.name=projects/*/locations/*/folders/*}:\x06folder\x12\x91\x01\x0A\x0CDeleteFolder\x12-.google.cloud.dataform.v1.DeleteFolderRequest\x1A\x16.google.protobuf.Empty\":\xDAA\x04name\x82\xD3\xE4\x93\x02-*+/v1/{name=projects/*/locations/*/folders/*}\x12\xE9\x01\x0A\x10DeleteFolderTree\x121.google.cloud.dataform.v1.DeleteFolderTreeRequest\x1A\x1D.google.longrunning.Operation\"\x82\x01\xCAA1\x0A\x15google.protobuf.Empty\x12\x18DeleteFolderTreeMetadata\xDAA\x0Aname,force\x82\xD3\xE4\x93\x02;\"6/v1/{name=projects/*/locations/*/folders/*}:deleteTree:\x01*\x12\xD6\x01\x0A\x13QueryFolderContents\x124.google.cloud.dataform.v1.QueryFolderContentsRequest\x1A5.google.cloud.dataform.v1.QueryFolderContentsResponse\"R\xDAA\x06folder\x82\xD3\xE4\x93\x02C\x12A/v1/{folder=projects/*/locations/*/folders/*}:queryFolderContents\x12\xD8\x01\x0A\x15QueryUserRootContents\x126.google.cloud.dataform.v1.QueryUserRootContentsRequest\x1A7.google.cloud.dataform.v1.QueryUserRootContentsResponse\"N\xDAA\x08location\x82\xD3\xE4\x93\x02=\x12;/v1/{location=projects/*/locations/*}:queryUserRootContents\x12\xE9\x01\x0A\x0AMoveFolder\x12+.google.cloud.dataform.v1.MoveFolderRequest\x1A\x1D.google.longrunning.Operation\"\x8E\x01\xCAA+\x0A\x15google.protobuf.Empty\x12\x12MoveFolderMetadata\xDAA\"name,destination_containing_folder\x82\xD3\xE4\x93\x025\"0/v1/{name=projects/*/locations/*/folders/*}:move:\x01*\x12\xBC\x01\x0A\x10ListRepositories\x121.google.cloud.dataform.v1.ListRepositoriesRequest\x1A2.google.cloud.dataform.v1.ListRepositoriesResponse\"A\xDAA\x06parent\x82\xD3\xE4\x93\x022\x120/v1/{parent=projects/*/locations/*}/repositories\x12\xA6\x01\x0A\x0DGetRepository\x12..google.cloud.dataform.v1.GetRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"?\xDAA\x04name\x82\xD3\xE4\x93\x022\x120/v1/{name=projects/*/locations/*/repositories/*}\x12\xD3\x01\x0A\x10CreateRepository\x121.google.cloud.dataform.v1.CreateRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"f\xDAA\x1Fparent,repository,repository_id\x82\xD3\xE4\x93\x02>\"0/v1/{parent=projects/*/locations/*}/repositories:\x0Arepository\x12\xD5\x01\x0A\x10UpdateRepository\x121.google.cloud.dataform.v1.UpdateRepositoryRequest\x1A\$.google.cloud.dataform.v1.Repository\"h\xDAA\x16repository,update_mask\x82\xD3\xE4\x93\x02I2;/v1/{repository.name=projects/*/locations/*/repositories/*}:\x0Arepository\x12\x9E\x01\x0A\x10DeleteRepository\x121.google.cloud.dataform.v1.DeleteRepositoryRequest\x1A\x16.google.protobuf.Empty\"?\xDAA\x04name\x82\xD3\xE4\x93\x022*0/v1/{name=projects/*/locations/*/repositories/*}\x12\xFA\x01\x0A\x0EMoveRepository\x12/.google.cloud.dataform.v1.MoveRepositoryRequest\x1A\x1D.google.longrunning.Operation\"\x97\x01\xCAA/\x0A\x15google.protobuf.Empty\x12\x16MoveRepositoryMetadata\xDAA\"name,destination_containing_folder\x82\xD3\xE4\x93\x02:\"5/v1/{name=projects/*/locations/*/repositories/*}:move:\x01*\x12\xD2\x01\x0A\x17CommitRepositoryChanges\x128.google.cloud.dataform.v1.CommitRepositoryChangesRequest\x1A9.google.cloud.dataform.v1.CommitRepositoryChangesResponse\"B\x82\xD3\xE4\x93\x02<\"7/v1/{name=projects/*/locations/*/repositories/*}:commit:\x01*\x12\xC2\x01\x0A\x12ReadRepositoryFile\x123.google.cloud.dataform.v1.ReadRepositoryFileRequest\x1A4.google.cloud.dataform.v1.ReadRepositoryFileResponse\"A\x82\xD3\xE4\x93\x02;\x129/v1/{name=projects/*/locations/*/repositories/*}:readFile\x12\xFA\x01\x0A QueryRepositoryDirectoryContents\x12A.google.cloud.dataform.v1.QueryRepositoryDirectoryContentsRequest\x1AB.google.cloud.dataform.v1.QueryRepositoryDirectoryContentsResponse\"O\x82\xD3\xE4\x93\x02I\x12G/v1/{name=projects/*/locations/*/repositories/*}:queryDirectoryContents\x12\xD2\x01\x0A\x16FetchRepositoryHistory\x127.google.cloud.dataform.v1.FetchRepositoryHistoryRequest\x1A8.google.cloud.dataform.v1.FetchRepositoryHistoryResponse\"E\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/repositories/*}:fetchHistory\x12\x82\x02\x0A\"ComputeRepositoryAccessTokenStatus\x12C.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusRequest\x1AD.google.cloud.dataform.v1.ComputeRepositoryAccessTokenStatusResponse\"Q\x82\xD3\xE4\x93\x02K\x12I/v1/{name=projects/*/locations/*/repositories/*}:computeAccessTokenStatus\x12\xD0\x01\x0A\x13FetchRemoteBranches\x124.google.cloud.dataform.v1.FetchRemoteBranchesRequest\x1A5.google.cloud.dataform.v1.FetchRemoteBranchesResponse\"L\x82\xD3\xE4\x93\x02F\x12D/v1/{name=projects/*/locations/*/repositories/*}:fetchRemoteBranches\x12\xC3\x01\x0A\x0EListWorkspaces\x12/.google.cloud.dataform.v1.ListWorkspacesRequest\x1A0.google.cloud.dataform.v1.ListWorkspacesResponse\"N\xDAA\x06parent\x82\xD3\xE4\x93\x02?\x12=/v1/{parent=projects/*/locations/*/repositories/*}/workspaces\x12\xB0\x01\x0A\x0CGetWorkspace\x12-.google.cloud.dataform.v1.GetWorkspaceRequest\x1A#.google.cloud.dataform.v1.Workspace\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?\x12=/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}\x12\xDA\x01\x0A\x0FCreateWorkspace\x120.google.cloud.dataform.v1.CreateWorkspaceRequest\x1A#.google.cloud.dataform.v1.Workspace\"p\xDAA\x1Dparent,workspace,workspace_id\x82\xD3\xE4\x93\x02J\"=/v1/{parent=projects/*/locations/*/repositories/*}/workspaces:\x09workspace\x12\xA9\x01\x0A\x0FDeleteWorkspace\x120.google.cloud.dataform.v1.DeleteWorkspaceRequest\x1A\x16.google.protobuf.Empty\"L\xDAA\x04name\x82\xD3\xE4\x93\x02?*=/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}\x12\xE1\x01\x0A\x12InstallNpmPackages\x123.google.cloud.dataform.v1.InstallNpmPackagesRequest\x1A4.google.cloud.dataform.v1.InstallNpmPackagesResponse\"`\x82\xD3\xE4\x93\x02Z\"U/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:installNpmPackages:\x01*\x12\xC2\x01\x0A\x0EPullGitCommits\x12/.google.cloud.dataform.v1.PullGitCommitsRequest\x1A0.google.cloud.dataform.v1.PullGitCommitsResponse\"M\x82\xD3\xE4\x93\x02G\"B/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:pull:\x01*\x12\xC2\x01\x0A\x0EPushGitCommits\x12/.google.cloud.dataform.v1.PushGitCommitsRequest\x1A0.google.cloud.dataform.v1.PushGitCommitsResponse\"M\x82\xD3\xE4\x93\x02G\"B/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:push:\x01*\x12\xE1\x01\x0A\x14FetchFileGitStatuses\x125.google.cloud.dataform.v1.FetchFileGitStatusesRequest\x1A6.google.cloud.dataform.v1.FetchFileGitStatusesResponse\"Z\x82\xD3\xE4\x93\x02T\x12R/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileGitStatuses\x12\xDD\x01\x0A\x13FetchGitAheadBehind\x124.google.cloud.dataform.v1.FetchGitAheadBehindRequest\x1A5.google.cloud.dataform.v1.FetchGitAheadBehindResponse\"Y\x82\xD3\xE4\x93\x02S\x12Q/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:fetchGitAheadBehind\x12\xDC\x01\x0A\x16CommitWorkspaceChanges\x127.google.cloud.dataform.v1.CommitWorkspaceChangesRequest\x1A8.google.cloud.dataform.v1.CommitWorkspaceChangesResponse\"O\x82\xD3\xE4\x93\x02I\"D/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:commit:\x01*\x12\xD8\x01\x0A\x15ResetWorkspaceChanges\x126.google.cloud.dataform.v1.ResetWorkspaceChangesRequest\x1A7.google.cloud.dataform.v1.ResetWorkspaceChangesResponse\"N\x82\xD3\xE4\x93\x02H\"C/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:reset:\x01*\x12\xCA\x01\x0A\x0DFetchFileDiff\x12..google.cloud.dataform.v1.FetchFileDiffRequest\x1A/.google.cloud.dataform.v1.FetchFileDiffResponse\"X\x82\xD3\xE4\x93\x02R\x12P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:fetchFileDiff\x12\xEE\x01\x0A\x16QueryDirectoryContents\x127.google.cloud.dataform.v1.QueryDirectoryContentsRequest\x1A8.google.cloud.dataform.v1.QueryDirectoryContentsResponse\"a\x82\xD3\xE4\x93\x02[\x12Y/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:queryDirectoryContents\x12\xC2\x01\x0A\x0BSearchFiles\x12,.google.cloud.dataform.v1.SearchFilesRequest\x1A-.google.cloud.dataform.v1.SearchFilesResponse\"V\x82\xD3\xE4\x93\x02P\x12N/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:searchFiles\x12\xCD\x01\x0A\x0DMakeDirectory\x12..google.cloud.dataform.v1.MakeDirectoryRequest\x1A/.google.cloud.dataform.v1.MakeDirectoryResponse\"[\x82\xD3\xE4\x93\x02U\"P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:makeDirectory:\x01*\x12\xD5\x01\x0A\x0FRemoveDirectory\x120.google.cloud.dataform.v1.RemoveDirectoryRequest\x1A1.google.cloud.dataform.v1.RemoveDirectoryResponse\"]\x82\xD3\xE4\x93\x02W\"R/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeDirectory:\x01*\x12\xCD\x01\x0A\x0DMoveDirectory\x12..google.cloud.dataform.v1.MoveDirectoryRequest\x1A/.google.cloud.dataform.v1.MoveDirectoryResponse\"[\x82\xD3\xE4\x93\x02U\"P/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveDirectory:\x01*\x12\xB6\x01\x0A\x08ReadFile\x12).google.cloud.dataform.v1.ReadFileRequest\x1A*.google.cloud.dataform.v1.ReadFileResponse\"S\x82\xD3\xE4\x93\x02M\x12K/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:readFile\x12\xC1\x01\x0A\x0ARemoveFile\x12+.google.cloud.dataform.v1.RemoveFileRequest\x1A,.google.cloud.dataform.v1.RemoveFileResponse\"X\x82\xD3\xE4\x93\x02R\"M/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:removeFile:\x01*\x12\xB9\x01\x0A\x08MoveFile\x12).google.cloud.dataform.v1.MoveFileRequest\x1A*.google.cloud.dataform.v1.MoveFileResponse\"V\x82\xD3\xE4\x93\x02P\"K/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:moveFile:\x01*\x12\xBD\x01\x0A\x09WriteFile\x12*.google.cloud.dataform.v1.WriteFileRequest\x1A+.google.cloud.dataform.v1.WriteFileResponse\"W\x82\xD3\xE4\x93\x02Q\"L/v1/{workspace=projects/*/locations/*/repositories/*/workspaces/*}:writeFile:\x01*\x12\xD3\x01\x0A\x12ListReleaseConfigs\x123.google.cloud.dataform.v1.ListReleaseConfigsRequest\x1A4.google.cloud.dataform.v1.ListReleaseConfigsResponse\"R\xDAA\x06parent\x82\xD3\xE4\x93\x02C\x12A/v1/{parent=projects/*/locations/*/repositories/*}/releaseConfigs\x12\xC0\x01\x0A\x10GetReleaseConfig\x121.google.cloud.dataform.v1.GetReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"P\xDAA\x04name\x82\xD3\xE4\x93\x02C\x12A/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}\x12\xFA\x01\x0A\x13CreateReleaseConfig\x124.google.cloud.dataform.v1.CreateReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"\x83\x01\xDAA'parent,release_config,release_config_id\x82\xD3\xE4\x93\x02S\"A/v1/{parent=projects/*/locations/*/repositories/*}/releaseConfigs:\x0Erelease_config\x12\xFC\x01\x0A\x13UpdateReleaseConfig\x124.google.cloud.dataform.v1.UpdateReleaseConfigRequest\x1A'.google.cloud.dataform.v1.ReleaseConfig\"\x85\x01\xDAA\x1Arelease_config,update_mask\x82\xD3\xE4\x93\x02b2P/v1/{release_config.name=projects/*/locations/*/repositories/*/releaseConfigs/*}:\x0Erelease_config\x12\xB5\x01\x0A\x13DeleteReleaseConfig\x124.google.cloud.dataform.v1.DeleteReleaseConfigRequest\x1A\x16.google.protobuf.Empty\"P\xDAA\x04name\x82\xD3\xE4\x93\x02C*A/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}\x12\xE3\x01\x0A\x16ListCompilationResults\x127.google.cloud.dataform.v1.ListCompilationResultsRequest\x1A8.google.cloud.dataform.v1.ListCompilationResultsResponse\"V\xDAA\x06parent\x82\xD3\xE4\x93\x02G\x12E/v1/{parent=projects/*/locations/*/repositories/*}/compilationResults\x12\xD0\x01\x0A\x14GetCompilationResult\x125.google.cloud.dataform.v1.GetCompilationResultRequest\x1A+.google.cloud.dataform.v1.CompilationResult\"T\xDAA\x04name\x82\xD3\xE4\x93\x02G\x12E/v1/{name=projects/*/locations/*/repositories/*/compilationResults/*}\x12\xFF\x01\x0A\x17CreateCompilationResult\x128.google.cloud.dataform.v1.CreateCompilationResultRequest\x1A+.google.cloud.dataform.v1.CompilationResult\"}\xDAA\x19parent,compilation_result\x82\xD3\xE4\x93\x02[\"E/v1/{parent=projects/*/locations/*/repositories/*}/compilationResults:\x12compilation_result\x12\xF5\x01\x0A\x1DQueryCompilationResultActions\x12>.google.cloud.dataform.v1.QueryCompilationResultActionsRequest\x1A?.google.cloud.dataform.v1.QueryCompilationResultActionsResponse\"S\x82\xD3\xE4\x93\x02M\x12K/v1/{name=projects/*/locations/*/repositories/*/compilationResults/*}:query\x12\xD7\x01\x0A\x13ListWorkflowConfigs\x124.google.cloud.dataform.v1.ListWorkflowConfigsRequest\x1A5.google.cloud.dataform.v1.ListWorkflowConfigsResponse\"S\xDAA\x06parent\x82\xD3\xE4\x93\x02D\x12B/v1/{parent=projects/*/locations/*/repositories/*}/workflowConfigs\x12\xC4\x01\x0A\x11GetWorkflowConfig\x122.google.cloud.dataform.v1.GetWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D\x12B/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}\x12\x81\x02\x0A\x14CreateWorkflowConfig\x125.google.cloud.dataform.v1.CreateWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"\x87\x01\xDAA)parent,workflow_config,workflow_config_id\x82\xD3\xE4\x93\x02U\"B/v1/{parent=projects/*/locations/*/repositories/*}/workflowConfigs:\x0Fworkflow_config\x12\x83\x02\x0A\x14UpdateWorkflowConfig\x125.google.cloud.dataform.v1.UpdateWorkflowConfigRequest\x1A(.google.cloud.dataform.v1.WorkflowConfig\"\x89\x01\xDAA\x1Bworkflow_config,update_mask\x82\xD3\xE4\x93\x02e2R/v1/{workflow_config.name=projects/*/locations/*/repositories/*/workflowConfigs/*}:\x0Fworkflow_config\x12\xB8\x01\x0A\x14DeleteWorkflowConfig\x125.google.cloud.dataform.v1.DeleteWorkflowConfigRequest\x1A\x16.google.protobuf.Empty\"Q\xDAA\x04name\x82\xD3\xE4\x93\x02D*B/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}\x12\xE7\x01\x0A\x17ListWorkflowInvocations\x128.google.cloud.dataform.v1.ListWorkflowInvocationsRequest\x1A9.google.cloud.dataform.v1.ListWorkflowInvocationsResponse\"W\xDAA\x06parent\x82\xD3\xE4\x93\x02H\x12F/v1/{parent=projects/*/locations/*/repositories/*}/workflowInvocations\x12\xD4\x01\x0A\x15GetWorkflowInvocation\x126.google.cloud.dataform.v1.GetWorkflowInvocationRequest\x1A,.google.cloud.dataform.v1.WorkflowInvocation\"U\xDAA\x04name\x82\xD3\xE4\x93\x02H\x12F/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}\x12\x86\x02\x0A\x18CreateWorkflowInvocation\x129.google.cloud.dataform.v1.CreateWorkflowInvocationRequest\x1A,.google.cloud.dataform.v1.WorkflowInvocation\"\x80\x01\xDAA\x1Aparent,workflow_invocation\x82\xD3\xE4\x93\x02]\"F/v1/{parent=projects/*/locations/*/repositories/*}/workflowInvocations:\x13workflow_invocation\x12\xC4\x01\x0A\x18DeleteWorkflowInvocation\x129.google.cloud.dataform.v1.DeleteWorkflowInvocationRequest\x1A\x16.google.protobuf.Empty\"U\xDAA\x04name\x82\xD3\xE4\x93\x02H*F/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}\x12\xEB\x01\x0A\x18CancelWorkflowInvocation\x129.google.cloud.dataform.v1.CancelWorkflowInvocationRequest\x1A:.google.cloud.dataform.v1.CancelWorkflowInvocationResponse\"X\x82\xD3\xE4\x93\x02R\"M/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:cancel:\x01*\x12\xF9\x01\x0A\x1EQueryWorkflowInvocationActions\x12?.google.cloud.dataform.v1.QueryWorkflowInvocationActionsRequest\x1A@.google.cloud.dataform.v1.QueryWorkflowInvocationActionsResponse\"T\x82\xD3\xE4\x93\x02N\x12L/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:query\x12\x92\x01\x0A\x09GetConfig\x12*.google.cloud.dataform.v1.GetConfigRequest\x1A .google.cloud.dataform.v1.Config\"7\xDAA\x04name\x82\xD3\xE4\x93\x02*\x12(/v1/{name=projects/*/locations/*/config}\x12\xB5\x01\x0A\x0CUpdateConfig\x12-.google.cloud.dataform.v1.UpdateConfigRequest\x1A .google.cloud.dataform.v1.Config\"T\xDAA\x12config,update_mask\x82\xD3\xE4\x93\x0292//v1/{config.name=projects/*/locations/*/config}:\x06config\x12\xF7\x02\x0A\x0CGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1A\x15.google.iam.v1.Policy\"\xAB\x02\xDAA\x08resource\x82\xD3\xE4\x93\x02\x99\x02\x12A/v1/{resource=projects/*/locations/*/repositories/*}:getIamPolicyZP\x12N/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:getIamPolicyZ>\x12setName($name); + + // Call the API and handle any network failures. + try { + $dataformClient->cancelOperation($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $name = '[NAME]'; + + cancel_operation_sample($name); +} +// [END dataform_v1_generated_Dataform_CancelOperation_sync] diff --git a/Dataform/samples/V1/DataformClient/create_folder.php b/Dataform/samples/V1/DataformClient/create_folder.php new file mode 100644 index 000000000000..93e90ff47cb6 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/create_folder.php @@ -0,0 +1,77 @@ +setDisplayName($folderDisplayName); + $request = (new CreateFolderRequest()) + ->setParent($formattedParent) + ->setFolder($folder); + + // Call the API and handle any network failures. + try { + /** @var Folder $response */ + $response = $dataformClient->createFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = DataformClient::locationName('[PROJECT]', '[LOCATION]'); + $folderDisplayName = '[DISPLAY_NAME]'; + + create_folder_sample($formattedParent, $folderDisplayName); +} +// [END dataform_v1_generated_Dataform_CreateFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/create_team_folder.php b/Dataform/samples/V1/DataformClient/create_team_folder.php new file mode 100644 index 000000000000..b7092eb2f014 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/create_team_folder.php @@ -0,0 +1,77 @@ +setDisplayName($teamFolderDisplayName); + $request = (new CreateTeamFolderRequest()) + ->setParent($formattedParent) + ->setTeamFolder($teamFolder); + + // Call the API and handle any network failures. + try { + /** @var TeamFolder $response */ + $response = $dataformClient->createTeamFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedParent = DataformClient::locationName('[PROJECT]', '[LOCATION]'); + $teamFolderDisplayName = '[DISPLAY_NAME]'; + + create_team_folder_sample($formattedParent, $teamFolderDisplayName); +} +// [END dataform_v1_generated_Dataform_CreateTeamFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/delete_folder.php b/Dataform/samples/V1/DataformClient/delete_folder.php new file mode 100644 index 000000000000..ac49b71a3d5f --- /dev/null +++ b/Dataform/samples/V1/DataformClient/delete_folder.php @@ -0,0 +1,69 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + $dataformClient->deleteFolder($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + + delete_folder_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_DeleteFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/delete_folder_tree.php b/Dataform/samples/V1/DataformClient/delete_folder_tree.php new file mode 100644 index 000000000000..f2bdc981ded1 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/delete_folder_tree.php @@ -0,0 +1,82 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $dataformClient->deleteFolderTree($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + printf('Operation completed successfully.' . PHP_EOL); + } else { + /** @var Status $error */ + $error = $response->getError(); + printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + + delete_folder_tree_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_DeleteFolderTree_sync] diff --git a/Dataform/samples/V1/DataformClient/delete_operation.php b/Dataform/samples/V1/DataformClient/delete_operation.php new file mode 100644 index 000000000000..ba2360391e47 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/delete_operation.php @@ -0,0 +1,71 @@ +setName($name); + + // Call the API and handle any network failures. + try { + $dataformClient->deleteOperation($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $name = '[NAME]'; + + delete_operation_sample($name); +} +// [END dataform_v1_generated_Dataform_DeleteOperation_sync] diff --git a/Dataform/samples/V1/DataformClient/delete_team_folder.php b/Dataform/samples/V1/DataformClient/delete_team_folder.php new file mode 100644 index 000000000000..114efeeae892 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/delete_team_folder.php @@ -0,0 +1,69 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + $dataformClient->deleteTeamFolder($request); + printf('Call completed successfully.' . PHP_EOL); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + + delete_team_folder_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_DeleteTeamFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/delete_team_folder_tree.php b/Dataform/samples/V1/DataformClient/delete_team_folder_tree.php new file mode 100644 index 000000000000..f013a8225a38 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/delete_team_folder_tree.php @@ -0,0 +1,82 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $dataformClient->deleteTeamFolderTree($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + printf('Operation completed successfully.' . PHP_EOL); + } else { + /** @var Status $error */ + $error = $response->getError(); + printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + + delete_team_folder_tree_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_DeleteTeamFolderTree_sync] diff --git a/Dataform/samples/V1/DataformClient/get_folder.php b/Dataform/samples/V1/DataformClient/get_folder.php new file mode 100644 index 000000000000..f13b99a2769b --- /dev/null +++ b/Dataform/samples/V1/DataformClient/get_folder.php @@ -0,0 +1,71 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var Folder $response */ + $response = $dataformClient->getFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + + get_folder_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_GetFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/get_iam_policy.php b/Dataform/samples/V1/DataformClient/get_iam_policy.php index 0177dd43c53a..f2d9e3a00893 100644 --- a/Dataform/samples/V1/DataformClient/get_iam_policy.php +++ b/Dataform/samples/V1/DataformClient/get_iam_policy.php @@ -29,8 +29,9 @@ use Google\Cloud\Iam\V1\Policy; /** - * Gets the access control policy for a resource. Returns an empty policy -if the resource exists and does not have a policy set. + * Gets the access control policy for a resource. + * Returns an empty policy if the resource exists and does not have a policy + * set. * * @param string $resource REQUIRED: The resource for which the policy is being requested. * See the operation documentation for the appropriate value for this field. diff --git a/Dataform/samples/V1/DataformClient/get_operation.php b/Dataform/samples/V1/DataformClient/get_operation.php new file mode 100644 index 000000000000..4c3c465c9d30 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/get_operation.php @@ -0,0 +1,72 @@ +setName($name); + + // Call the API and handle any network failures. + try { + /** @var Operation $response */ + $response = $dataformClient->getOperation($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $name = '[NAME]'; + + get_operation_sample($name); +} +// [END dataform_v1_generated_Dataform_GetOperation_sync] diff --git a/Dataform/samples/V1/DataformClient/get_team_folder.php b/Dataform/samples/V1/DataformClient/get_team_folder.php new file mode 100644 index 000000000000..ad99e78e1a1b --- /dev/null +++ b/Dataform/samples/V1/DataformClient/get_team_folder.php @@ -0,0 +1,71 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var TeamFolder $response */ + $response = $dataformClient->getTeamFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + + get_team_folder_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_GetTeamFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/list_locations.php b/Dataform/samples/V1/DataformClient/list_locations.php index e5be77ce8de5..60c4ddb8b9b7 100644 --- a/Dataform/samples/V1/DataformClient/list_locations.php +++ b/Dataform/samples/V1/DataformClient/list_locations.php @@ -31,6 +31,22 @@ /** * Lists information about the supported locations for this service. + +This method lists locations based on the resource scope provided in +the [ListLocationsRequest.name] field: + +* **Global locations**: If `name` is empty, the method lists the +public locations available to all projects. * **Project-specific +locations**: If `name` follows the format +`projects/{project}`, the method lists locations visible to that +specific project. This includes public, private, or other +project-specific locations enabled for the project. + +For gRPC and client library implementations, the resource name is +passed as the `name` field. For direct service calls, the resource +name is +incorporated into the request path based on the specific service +implementation and version. * * This sample has been automatically generated and should be regarded as a code * template only. It will require modifications to work: diff --git a/Dataform/samples/V1/DataformClient/list_operations.php b/Dataform/samples/V1/DataformClient/list_operations.php new file mode 100644 index 000000000000..c0dac88777de --- /dev/null +++ b/Dataform/samples/V1/DataformClient/list_operations.php @@ -0,0 +1,79 @@ +setName($name) + ->setFilter($filter); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $dataformClient->listOperations($request); + + /** @var Operation $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $name = '[NAME]'; + $filter = '[FILTER]'; + + list_operations_sample($name, $filter); +} +// [END dataform_v1_generated_Dataform_ListOperations_sync] diff --git a/Dataform/samples/V1/DataformClient/move_folder.php b/Dataform/samples/V1/DataformClient/move_folder.php new file mode 100644 index 000000000000..41e9c97a9d6c --- /dev/null +++ b/Dataform/samples/V1/DataformClient/move_folder.php @@ -0,0 +1,80 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $dataformClient->moveFolder($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + printf('Operation completed successfully.' . PHP_EOL); + } else { + /** @var Status $error */ + $error = $response->getError(); + printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + + move_folder_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_MoveFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/move_repository.php b/Dataform/samples/V1/DataformClient/move_repository.php new file mode 100644 index 000000000000..f5335db69c30 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/move_repository.php @@ -0,0 +1,80 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $dataformClient->moveRepository($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + printf('Operation completed successfully.' . PHP_EOL); + } else { + /** @var Status $error */ + $error = $response->getError(); + printf('Operation failed with error data: %s' . PHP_EOL, $error->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedName = DataformClient::repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + + move_repository_sample($formattedName); +} +// [END dataform_v1_generated_Dataform_MoveRepository_sync] diff --git a/Dataform/samples/V1/DataformClient/query_folder_contents.php b/Dataform/samples/V1/DataformClient/query_folder_contents.php new file mode 100644 index 000000000000..9b10da65c540 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/query_folder_contents.php @@ -0,0 +1,77 @@ +setFolder($formattedFolder); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $dataformClient->queryFolderContents($request); + + /** @var FolderContentsEntry $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedFolder = DataformClient::folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + + query_folder_contents_sample($formattedFolder); +} +// [END dataform_v1_generated_Dataform_QueryFolderContents_sync] diff --git a/Dataform/samples/V1/DataformClient/query_team_folder_contents.php b/Dataform/samples/V1/DataformClient/query_team_folder_contents.php new file mode 100644 index 000000000000..184da10ce1ea --- /dev/null +++ b/Dataform/samples/V1/DataformClient/query_team_folder_contents.php @@ -0,0 +1,77 @@ +setTeamFolder($formattedTeamFolder); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $dataformClient->queryTeamFolderContents($request); + + /** @var TeamFolderContentsEntry $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedTeamFolder = DataformClient::teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + + query_team_folder_contents_sample($formattedTeamFolder); +} +// [END dataform_v1_generated_Dataform_QueryTeamFolderContents_sync] diff --git a/Dataform/samples/V1/DataformClient/query_user_root_contents.php b/Dataform/samples/V1/DataformClient/query_user_root_contents.php new file mode 100644 index 000000000000..d6480fc8b1d8 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/query_user_root_contents.php @@ -0,0 +1,79 @@ +setLocation($formattedLocation); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $dataformClient->queryUserRootContents($request); + + /** @var RootContentsEntry $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedLocation = DataformClient::locationName('[PROJECT]', '[LOCATION]'); + + query_user_root_contents_sample($formattedLocation); +} +// [END dataform_v1_generated_Dataform_QueryUserRootContents_sync] diff --git a/Dataform/samples/V1/DataformClient/search_team_folders.php b/Dataform/samples/V1/DataformClient/search_team_folders.php new file mode 100644 index 000000000000..69d005e5a311 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/search_team_folders.php @@ -0,0 +1,78 @@ +setLocation($formattedLocation); + + // Call the API and handle any network failures. + try { + /** @var PagedListResponse $response */ + $response = $dataformClient->searchTeamFolders($request); + + /** @var TeamFolderSearchResult $element */ + foreach ($response as $element) { + printf('Element data: %s' . PHP_EOL, $element->serializeToJsonString()); + } + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $formattedLocation = DataformClient::locationName('[PROJECT]', '[LOCATION]'); + + search_team_folders_sample($formattedLocation); +} +// [END dataform_v1_generated_Dataform_SearchTeamFolders_sync] diff --git a/Dataform/samples/V1/DataformClient/set_iam_policy.php b/Dataform/samples/V1/DataformClient/set_iam_policy.php index 757df638f557..abd94be1be3b 100644 --- a/Dataform/samples/V1/DataformClient/set_iam_policy.php +++ b/Dataform/samples/V1/DataformClient/set_iam_policy.php @@ -29,11 +29,10 @@ use Google\Cloud\Iam\V1\SetIamPolicyRequest; /** - * Sets the access control policy on the specified resource. Replaces -any existing policy. - -Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` -errors. + * Sets the access control policy on the specified resource. Replaces any + * existing policy. + * + * Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. * * @param string $resource REQUIRED: The resource for which the policy is being specified. * See the operation documentation for the appropriate value for this field. diff --git a/Dataform/samples/V1/DataformClient/test_iam_permissions.php b/Dataform/samples/V1/DataformClient/test_iam_permissions.php index 25fa4e339d0c..0e21b673156e 100644 --- a/Dataform/samples/V1/DataformClient/test_iam_permissions.php +++ b/Dataform/samples/V1/DataformClient/test_iam_permissions.php @@ -29,13 +29,13 @@ use Google\Cloud\Iam\V1\TestIamPermissionsResponse; /** - * Returns permissions that a caller has on the specified resource. If the -resource does not exist, this will return an empty set of -permissions, not a `NOT_FOUND` error. - -Note: This operation is designed to be used for building -permission-aware UIs and command-line tools, not for authorization -checking. This operation may "fail open" without warning. + * Returns permissions that a caller has on the specified resource. + * If the resource does not exist, this will return an empty set of + * permissions, not a `NOT_FOUND` error. + * + * Note: This operation is designed to be used for building permission-aware + * UIs and command-line tools, not for authorization checking. This operation + * may "fail open" without warning. * * @param string $resource REQUIRED: The resource for which the policy detail is being requested. * See the operation documentation for the appropriate value for this field. diff --git a/Dataform/samples/V1/DataformClient/update_folder.php b/Dataform/samples/V1/DataformClient/update_folder.php new file mode 100644 index 000000000000..f4404fc4d507 --- /dev/null +++ b/Dataform/samples/V1/DataformClient/update_folder.php @@ -0,0 +1,72 @@ +setDisplayName($folderDisplayName); + $request = (new UpdateFolderRequest()) + ->setFolder($folder); + + // Call the API and handle any network failures. + try { + /** @var Folder $response */ + $response = $dataformClient->updateFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $folderDisplayName = '[DISPLAY_NAME]'; + + update_folder_sample($folderDisplayName); +} +// [END dataform_v1_generated_Dataform_UpdateFolder_sync] diff --git a/Dataform/samples/V1/DataformClient/update_team_folder.php b/Dataform/samples/V1/DataformClient/update_team_folder.php new file mode 100644 index 000000000000..f4a7e9af6a0f --- /dev/null +++ b/Dataform/samples/V1/DataformClient/update_team_folder.php @@ -0,0 +1,72 @@ +setDisplayName($teamFolderDisplayName); + $request = (new UpdateTeamFolderRequest()) + ->setTeamFolder($teamFolder); + + // Call the API and handle any network failures. + try { + /** @var TeamFolder $response */ + $response = $dataformClient->updateTeamFolder($request); + printf('Response data: %s' . PHP_EOL, $response->serializeToJsonString()); + } catch (ApiException $ex) { + printf('Call failed with message: %s' . PHP_EOL, $ex->getMessage()); + } +} + +/** + * Helper to execute the sample. + * + * This sample has been automatically generated and should be regarded as a code + * template only. It will require modifications to work: + * - It may require correct/in-range values for request initialization. + * - It may require specifying regional endpoints when creating the service client, + * please see the apiEndpoint client configuration option for more details. + */ +function callSample(): void +{ + $teamFolderDisplayName = '[DISPLAY_NAME]'; + + update_team_folder_sample($teamFolderDisplayName); +} +// [END dataform_v1_generated_Dataform_UpdateTeamFolder_sync] diff --git a/Dataform/src/V1/Client/DataformClient.php b/Dataform/src/V1/Client/DataformClient.php index 91a214edbb1e..2d9922ffb8a4 100644 --- a/Dataform/src/V1/Client/DataformClient.php +++ b/Dataform/src/V1/Client/DataformClient.php @@ -27,6 +27,7 @@ use Google\ApiCore\ApiException; use Google\ApiCore\CredentialsWrapper; use Google\ApiCore\GapicClientTrait; +use Google\ApiCore\OperationResponse; use Google\ApiCore\Options\ClientOptions; use Google\ApiCore\PagedListResponse; use Google\ApiCore\ResourceHelperTrait; @@ -45,13 +46,19 @@ use Google\Cloud\Dataform\V1\ComputeRepositoryAccessTokenStatusResponse; use Google\Cloud\Dataform\V1\Config; use Google\Cloud\Dataform\V1\CreateCompilationResultRequest; +use Google\Cloud\Dataform\V1\CreateFolderRequest; use Google\Cloud\Dataform\V1\CreateReleaseConfigRequest; use Google\Cloud\Dataform\V1\CreateRepositoryRequest; +use Google\Cloud\Dataform\V1\CreateTeamFolderRequest; use Google\Cloud\Dataform\V1\CreateWorkflowConfigRequest; use Google\Cloud\Dataform\V1\CreateWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\CreateWorkspaceRequest; +use Google\Cloud\Dataform\V1\DeleteFolderRequest; +use Google\Cloud\Dataform\V1\DeleteFolderTreeRequest; use Google\Cloud\Dataform\V1\DeleteReleaseConfigRequest; use Google\Cloud\Dataform\V1\DeleteRepositoryRequest; +use Google\Cloud\Dataform\V1\DeleteTeamFolderRequest; +use Google\Cloud\Dataform\V1\DeleteTeamFolderTreeRequest; use Google\Cloud\Dataform\V1\DeleteWorkflowConfigRequest; use Google\Cloud\Dataform\V1\DeleteWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\DeleteWorkspaceRequest; @@ -64,10 +71,13 @@ use Google\Cloud\Dataform\V1\FetchRemoteBranchesRequest; use Google\Cloud\Dataform\V1\FetchRemoteBranchesResponse; use Google\Cloud\Dataform\V1\FetchRepositoryHistoryRequest; +use Google\Cloud\Dataform\V1\Folder; use Google\Cloud\Dataform\V1\GetCompilationResultRequest; use Google\Cloud\Dataform\V1\GetConfigRequest; +use Google\Cloud\Dataform\V1\GetFolderRequest; use Google\Cloud\Dataform\V1\GetReleaseConfigRequest; use Google\Cloud\Dataform\V1\GetRepositoryRequest; +use Google\Cloud\Dataform\V1\GetTeamFolderRequest; use Google\Cloud\Dataform\V1\GetWorkflowConfigRequest; use Google\Cloud\Dataform\V1\GetWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\GetWorkspaceRequest; @@ -85,13 +95,18 @@ use Google\Cloud\Dataform\V1\MoveDirectoryResponse; use Google\Cloud\Dataform\V1\MoveFileRequest; use Google\Cloud\Dataform\V1\MoveFileResponse; +use Google\Cloud\Dataform\V1\MoveFolderRequest; +use Google\Cloud\Dataform\V1\MoveRepositoryRequest; use Google\Cloud\Dataform\V1\PullGitCommitsRequest; use Google\Cloud\Dataform\V1\PullGitCommitsResponse; use Google\Cloud\Dataform\V1\PushGitCommitsRequest; use Google\Cloud\Dataform\V1\PushGitCommitsResponse; use Google\Cloud\Dataform\V1\QueryCompilationResultActionsRequest; use Google\Cloud\Dataform\V1\QueryDirectoryContentsRequest; +use Google\Cloud\Dataform\V1\QueryFolderContentsRequest; use Google\Cloud\Dataform\V1\QueryRepositoryDirectoryContentsRequest; +use Google\Cloud\Dataform\V1\QueryTeamFolderContentsRequest; +use Google\Cloud\Dataform\V1\QueryUserRootContentsRequest; use Google\Cloud\Dataform\V1\QueryWorkflowInvocationActionsRequest; use Google\Cloud\Dataform\V1\ReadFileRequest; use Google\Cloud\Dataform\V1\ReadFileResponse; @@ -106,9 +121,13 @@ use Google\Cloud\Dataform\V1\ResetWorkspaceChangesRequest; use Google\Cloud\Dataform\V1\ResetWorkspaceChangesResponse; use Google\Cloud\Dataform\V1\SearchFilesRequest; +use Google\Cloud\Dataform\V1\SearchTeamFoldersRequest; +use Google\Cloud\Dataform\V1\TeamFolder; use Google\Cloud\Dataform\V1\UpdateConfigRequest; +use Google\Cloud\Dataform\V1\UpdateFolderRequest; use Google\Cloud\Dataform\V1\UpdateReleaseConfigRequest; use Google\Cloud\Dataform\V1\UpdateRepositoryRequest; +use Google\Cloud\Dataform\V1\UpdateTeamFolderRequest; use Google\Cloud\Dataform\V1\UpdateWorkflowConfigRequest; use Google\Cloud\Dataform\V1\WorkflowConfig; use Google\Cloud\Dataform\V1\WorkflowInvocation; @@ -123,6 +142,12 @@ use Google\Cloud\Location\GetLocationRequest; use Google\Cloud\Location\ListLocationsRequest; use Google\Cloud\Location\Location; +use Google\LongRunning\CancelOperationRequest; +use Google\LongRunning\Client\OperationsClient; +use Google\LongRunning\DeleteOperationRequest; +use Google\LongRunning\GetOperationRequest; +use Google\LongRunning\ListOperationsRequest; +use Google\LongRunning\Operation; use GuzzleHttp\Promise\PromiseInterface; use Psr\Log\LoggerInterface; @@ -143,13 +168,19 @@ * @method PromiseInterface commitWorkspaceChangesAsync(CommitWorkspaceChangesRequest $request, array $optionalArgs = []) * @method PromiseInterface computeRepositoryAccessTokenStatusAsync(ComputeRepositoryAccessTokenStatusRequest $request, array $optionalArgs = []) * @method PromiseInterface createCompilationResultAsync(CreateCompilationResultRequest $request, array $optionalArgs = []) + * @method PromiseInterface createFolderAsync(CreateFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface createReleaseConfigAsync(CreateReleaseConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface createRepositoryAsync(CreateRepositoryRequest $request, array $optionalArgs = []) + * @method PromiseInterface createTeamFolderAsync(CreateTeamFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface createWorkflowConfigAsync(CreateWorkflowConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface createWorkflowInvocationAsync(CreateWorkflowInvocationRequest $request, array $optionalArgs = []) * @method PromiseInterface createWorkspaceAsync(CreateWorkspaceRequest $request, array $optionalArgs = []) + * @method PromiseInterface deleteFolderAsync(DeleteFolderRequest $request, array $optionalArgs = []) + * @method PromiseInterface deleteFolderTreeAsync(DeleteFolderTreeRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteReleaseConfigAsync(DeleteReleaseConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteRepositoryAsync(DeleteRepositoryRequest $request, array $optionalArgs = []) + * @method PromiseInterface deleteTeamFolderAsync(DeleteTeamFolderRequest $request, array $optionalArgs = []) + * @method PromiseInterface deleteTeamFolderTreeAsync(DeleteTeamFolderTreeRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteWorkflowConfigAsync(DeleteWorkflowConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteWorkflowInvocationAsync(DeleteWorkflowInvocationRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteWorkspaceAsync(DeleteWorkspaceRequest $request, array $optionalArgs = []) @@ -160,8 +191,11 @@ * @method PromiseInterface fetchRepositoryHistoryAsync(FetchRepositoryHistoryRequest $request, array $optionalArgs = []) * @method PromiseInterface getCompilationResultAsync(GetCompilationResultRequest $request, array $optionalArgs = []) * @method PromiseInterface getConfigAsync(GetConfigRequest $request, array $optionalArgs = []) + * @method PromiseInterface getFolderAsync(GetFolderRequest $request, array $optionalArgs = []) + * @method PromiseInterface getIamPolicyAsync(GetIamPolicyRequest $request, array $optionalArgs = []) * @method PromiseInterface getReleaseConfigAsync(GetReleaseConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface getRepositoryAsync(GetRepositoryRequest $request, array $optionalArgs = []) + * @method PromiseInterface getTeamFolderAsync(GetTeamFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface getWorkflowConfigAsync(GetWorkflowConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface getWorkflowInvocationAsync(GetWorkflowInvocationRequest $request, array $optionalArgs = []) * @method PromiseInterface getWorkspaceAsync(GetWorkspaceRequest $request, array $optionalArgs = []) @@ -175,11 +209,16 @@ * @method PromiseInterface makeDirectoryAsync(MakeDirectoryRequest $request, array $optionalArgs = []) * @method PromiseInterface moveDirectoryAsync(MoveDirectoryRequest $request, array $optionalArgs = []) * @method PromiseInterface moveFileAsync(MoveFileRequest $request, array $optionalArgs = []) + * @method PromiseInterface moveFolderAsync(MoveFolderRequest $request, array $optionalArgs = []) + * @method PromiseInterface moveRepositoryAsync(MoveRepositoryRequest $request, array $optionalArgs = []) * @method PromiseInterface pullGitCommitsAsync(PullGitCommitsRequest $request, array $optionalArgs = []) * @method PromiseInterface pushGitCommitsAsync(PushGitCommitsRequest $request, array $optionalArgs = []) * @method PromiseInterface queryCompilationResultActionsAsync(QueryCompilationResultActionsRequest $request, array $optionalArgs = []) * @method PromiseInterface queryDirectoryContentsAsync(QueryDirectoryContentsRequest $request, array $optionalArgs = []) + * @method PromiseInterface queryFolderContentsAsync(QueryFolderContentsRequest $request, array $optionalArgs = []) * @method PromiseInterface queryRepositoryDirectoryContentsAsync(QueryRepositoryDirectoryContentsRequest $request, array $optionalArgs = []) + * @method PromiseInterface queryTeamFolderContentsAsync(QueryTeamFolderContentsRequest $request, array $optionalArgs = []) + * @method PromiseInterface queryUserRootContentsAsync(QueryUserRootContentsRequest $request, array $optionalArgs = []) * @method PromiseInterface queryWorkflowInvocationActionsAsync(QueryWorkflowInvocationActionsRequest $request, array $optionalArgs = []) * @method PromiseInterface readFileAsync(ReadFileRequest $request, array $optionalArgs = []) * @method PromiseInterface readRepositoryFileAsync(ReadRepositoryFileRequest $request, array $optionalArgs = []) @@ -187,16 +226,22 @@ * @method PromiseInterface removeFileAsync(RemoveFileRequest $request, array $optionalArgs = []) * @method PromiseInterface resetWorkspaceChangesAsync(ResetWorkspaceChangesRequest $request, array $optionalArgs = []) * @method PromiseInterface searchFilesAsync(SearchFilesRequest $request, array $optionalArgs = []) + * @method PromiseInterface searchTeamFoldersAsync(SearchTeamFoldersRequest $request, array $optionalArgs = []) + * @method PromiseInterface setIamPolicyAsync(SetIamPolicyRequest $request, array $optionalArgs = []) + * @method PromiseInterface testIamPermissionsAsync(TestIamPermissionsRequest $request, array $optionalArgs = []) * @method PromiseInterface updateConfigAsync(UpdateConfigRequest $request, array $optionalArgs = []) + * @method PromiseInterface updateFolderAsync(UpdateFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface updateReleaseConfigAsync(UpdateReleaseConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface updateRepositoryAsync(UpdateRepositoryRequest $request, array $optionalArgs = []) + * @method PromiseInterface updateTeamFolderAsync(UpdateTeamFolderRequest $request, array $optionalArgs = []) * @method PromiseInterface updateWorkflowConfigAsync(UpdateWorkflowConfigRequest $request, array $optionalArgs = []) * @method PromiseInterface writeFileAsync(WriteFileRequest $request, array $optionalArgs = []) + * @method PromiseInterface cancelOperationAsync(CancelOperationRequest $request, array $optionalArgs = []) + * @method PromiseInterface deleteOperationAsync(DeleteOperationRequest $request, array $optionalArgs = []) + * @method PromiseInterface getOperationAsync(GetOperationRequest $request, array $optionalArgs = []) + * @method PromiseInterface listOperationsAsync(ListOperationsRequest $request, array $optionalArgs = []) * @method PromiseInterface getLocationAsync(GetLocationRequest $request, array $optionalArgs = []) * @method PromiseInterface listLocationsAsync(ListLocationsRequest $request, array $optionalArgs = []) - * @method PromiseInterface getIamPolicyAsync(GetIamPolicyRequest $request, array $optionalArgs = []) - * @method PromiseInterface setIamPolicyAsync(SetIamPolicyRequest $request, array $optionalArgs = []) - * @method PromiseInterface testIamPermissionsAsync(TestIamPermissionsRequest $request, array $optionalArgs = []) */ final class DataformClient { @@ -228,6 +273,8 @@ final class DataformClient 'https://www.googleapis.com/auth/cloud-platform', ]; + private $operationsClient; + private static function getClientDefaults() { return [ @@ -247,6 +294,54 @@ private static function getClientDefaults() ]; } + /** + * Return an OperationsClient object with the same endpoint as $this. + * + * @return OperationsClient + */ + public function getOperationsClient() + { + return $this->operationsClient; + } + + /** + * Resume an existing long running operation that was previously started by a long + * running API method. If $methodName is not provided, or does not match a long + * running API method, then the operation can still be resumed, but the + * OperationResponse object will not deserialize the final response. + * + * @param string $operationName The name of the long running operation + * @param string $methodName The name of the method used to start the operation + * + * @return OperationResponse + */ + public function resumeOperation($operationName, $methodName = null) + { + $options = $this->descriptors[$methodName]['longRunning'] ?? []; + $operation = new OperationResponse($operationName, $this->getOperationsClient(), $options); + $operation->reload(); + return $operation; + } + + /** + * Create the default operation client for the service. + * + * @param array $options ClientOptions for the client. + * + * @return OperationsClient + */ + private function createOperationsClient(array $options) + { + // Unset client-specific configuration options + unset($options['serviceName'], $options['clientConfig'], $options['descriptorsConfigPath']); + + if (isset($options['operationsClient'])) { + return $options['operationsClient']; + } + + return new OperationsClient($options); + } + /** * Formats a string containing the fully-qualified path to represent a * compilation_result resource. @@ -338,6 +433,25 @@ public static function cryptoKeyVersionName( ]); } + /** + * Formats a string containing the fully-qualified path to represent a folder + * resource. + * + * @param string $project + * @param string $location + * @param string $folder + * + * @return string The formatted folder resource. + */ + public static function folderName(string $project, string $location, string $folder): string + { + return self::getPathTemplate('folder')->render([ + 'project' => $project, + 'location' => $location, + 'folder' => $folder, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a location * resource. @@ -440,6 +554,25 @@ public static function secretVersionName(string $project, string $secret, string ]); } + /** + * Formats a string containing the fully-qualified path to represent a team_folder + * resource. + * + * @param string $project + * @param string $location + * @param string $teamFolder + * + * @return string The formatted team_folder resource. + */ + public static function teamFolderName(string $project, string $location, string $teamFolder): string + { + return self::getPathTemplate('teamFolder')->render([ + 'project' => $project, + 'location' => $location, + 'team_folder' => $teamFolder, + ]); + } + /** * Formats a string containing the fully-qualified path to represent a * workflow_config resource. @@ -523,11 +656,13 @@ public static function workspaceName( * - config: projects/{project}/locations/{location}/config * - cryptoKey: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key} * - cryptoKeyVersion: projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version} + * - folder: projects/{project}/locations/{location}/folders/{folder} * - location: projects/{project}/locations/{location} * - notebookRuntimeTemplate: projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template} * - releaseConfig: projects/{project}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config} * - repository: projects/{project}/locations/{location}/repositories/{repository} * - secretVersion: projects/{project}/secrets/{secret}/versions/{version} + * - teamFolder: projects/{project}/locations/{location}/teamFolders/{team_folder} * - workflowConfig: projects/{project}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config} * - workflowInvocation: projects/{project}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation} * - workspace: projects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace} @@ -622,6 +757,7 @@ public function __construct(array|ClientOptions $options = []) { $clientOptions = $this->buildClientOptions($options); $this->setClientOptions($clientOptions); + $this->operationsClient = $this->createOperationsClient($clientOptions); } /** Handles execution of the async variants for each documented method. */ @@ -777,6 +913,32 @@ public function createCompilationResult( return $this->startApiCall('CreateCompilationResult', $request, $callOptions)->wait(); } + /** + * Creates a new Folder in a given project and location. + * + * The async variant is {@see DataformClient::createFolderAsync()} . + * + * @example samples/V1/DataformClient/create_folder.php + * + * @param CreateFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Folder + * + * @throws ApiException Thrown if the API call fails. + */ + public function createFolder(CreateFolderRequest $request, array $callOptions = []): Folder + { + return $this->startApiCall('CreateFolder', $request, $callOptions)->wait(); + } + /** * Creates a new ReleaseConfig in a given Repository. * @@ -829,6 +991,32 @@ public function createRepository(CreateRepositoryRequest $request, array $callOp return $this->startApiCall('CreateRepository', $request, $callOptions)->wait(); } + /** + * Creates a new TeamFolder in a given project and location. + * + * The async variant is {@see DataformClient::createTeamFolderAsync()} . + * + * @example samples/V1/DataformClient/create_team_folder.php + * + * @param CreateTeamFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return TeamFolder + * + * @throws ApiException Thrown if the API call fails. + */ + public function createTeamFolder(CreateTeamFolderRequest $request, array $callOptions = []): TeamFolder + { + return $this->startApiCall('CreateTeamFolder', $request, $callOptions)->wait(); + } + /** * Creates a new WorkflowConfig in a given Repository. * @@ -909,6 +1097,57 @@ public function createWorkspace(CreateWorkspaceRequest $request, array $callOpti return $this->startApiCall('CreateWorkspace', $request, $callOptions)->wait(); } + /** + * Deletes a single Folder. + * + * The async variant is {@see DataformClient::deleteFolderAsync()} . + * + * @example samples/V1/DataformClient/delete_folder.php + * + * @param DeleteFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @throws ApiException Thrown if the API call fails. + */ + public function deleteFolder(DeleteFolderRequest $request, array $callOptions = []): void + { + $this->startApiCall('DeleteFolder', $request, $callOptions)->wait(); + } + + /** + * Deletes a Folder with its contents (Folders, Repositories, Workspaces, + * ReleaseConfigs, and WorkflowConfigs). + * + * The async variant is {@see DataformClient::deleteFolderTreeAsync()} . + * + * @example samples/V1/DataformClient/delete_folder_tree.php + * + * @param DeleteFolderTreeRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return OperationResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function deleteFolderTree(DeleteFolderTreeRequest $request, array $callOptions = []): OperationResponse + { + return $this->startApiCall('DeleteFolderTree', $request, $callOptions)->wait(); + } + /** * Deletes a single ReleaseConfig. * @@ -957,6 +1196,59 @@ public function deleteRepository(DeleteRepositoryRequest $request, array $callOp $this->startApiCall('DeleteRepository', $request, $callOptions)->wait(); } + /** + * Deletes a single TeamFolder. + * + * The async variant is {@see DataformClient::deleteTeamFolderAsync()} . + * + * @example samples/V1/DataformClient/delete_team_folder.php + * + * @param DeleteTeamFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @throws ApiException Thrown if the API call fails. + */ + public function deleteTeamFolder(DeleteTeamFolderRequest $request, array $callOptions = []): void + { + $this->startApiCall('DeleteTeamFolder', $request, $callOptions)->wait(); + } + + /** + * Deletes a TeamFolder with its contents (Folders, Repositories, Workspaces, + * ReleaseConfigs, and WorkflowConfigs). + * + * The async variant is {@see DataformClient::deleteTeamFolderTreeAsync()} . + * + * @example samples/V1/DataformClient/delete_team_folder_tree.php + * + * @param DeleteTeamFolderTreeRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return OperationResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function deleteTeamFolderTree( + DeleteTeamFolderTreeRequest $request, + array $callOptions = [] + ): OperationResponse { + return $this->startApiCall('DeleteTeamFolderTree', $request, $callOptions)->wait(); + } + /** * Deletes a single WorkflowConfig. * @@ -1222,6 +1514,60 @@ public function getConfig(GetConfigRequest $request, array $callOptions = []): C return $this->startApiCall('GetConfig', $request, $callOptions)->wait(); } + /** + * Fetches a single Folder. + * + * The async variant is {@see DataformClient::getFolderAsync()} . + * + * @example samples/V1/DataformClient/get_folder.php + * + * @param GetFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Folder + * + * @throws ApiException Thrown if the API call fails. + */ + public function getFolder(GetFolderRequest $request, array $callOptions = []): Folder + { + return $this->startApiCall('GetFolder', $request, $callOptions)->wait(); + } + + /** + * Gets the access control policy for a resource. + * Returns an empty policy if the resource exists and does not have a policy + * set. + * + * The async variant is {@see DataformClient::getIamPolicyAsync()} . + * + * @example samples/V1/DataformClient/get_iam_policy.php + * + * @param GetIamPolicyRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Policy + * + * @throws ApiException Thrown if the API call fails. + */ + public function getIamPolicy(GetIamPolicyRequest $request, array $callOptions = []): Policy + { + return $this->startApiCall('GetIamPolicy', $request, $callOptions)->wait(); + } + /** * Fetches a single ReleaseConfig. * @@ -1274,6 +1620,32 @@ public function getRepository(GetRepositoryRequest $request, array $callOptions return $this->startApiCall('GetRepository', $request, $callOptions)->wait(); } + /** + * Fetches a single TeamFolder. + * + * The async variant is {@see DataformClient::getTeamFolderAsync()} . + * + * @example samples/V1/DataformClient/get_team_folder.php + * + * @param GetTeamFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return TeamFolder + * + * @throws ApiException Thrown if the API call fails. + */ + public function getTeamFolder(GetTeamFolderRequest $request, array $callOptions = []): TeamFolder + { + return $this->startApiCall('GetTeamFolder', $request, $callOptions)->wait(); + } + /** * Fetches a single WorkflowConfig. * @@ -1625,14 +1997,14 @@ public function moveFile(MoveFileRequest $request, array $callOptions = []): Mov } /** - * Pulls Git commits from the Repository's remote into a Workspace. + * Moves a Folder to a new Folder, TeamFolder, or the root location. * - * The async variant is {@see DataformClient::pullGitCommitsAsync()} . + * The async variant is {@see DataformClient::moveFolderAsync()} . * - * @example samples/V1/DataformClient/pull_git_commits.php + * @example samples/V1/DataformClient/move_folder.php * - * @param PullGitCommitsRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param MoveFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -1641,23 +2013,23 @@ public function moveFile(MoveFileRequest $request, array $callOptions = []): Mov * {@see RetrySettings} for example usage. * } * - * @return PullGitCommitsResponse + * @return OperationResponse * * @throws ApiException Thrown if the API call fails. */ - public function pullGitCommits(PullGitCommitsRequest $request, array $callOptions = []): PullGitCommitsResponse + public function moveFolder(MoveFolderRequest $request, array $callOptions = []): OperationResponse { - return $this->startApiCall('PullGitCommits', $request, $callOptions)->wait(); + return $this->startApiCall('MoveFolder', $request, $callOptions)->wait(); } /** - * Pushes Git commits from a Workspace to the Repository's remote. + * Moves a Repository to a new location. * - * The async variant is {@see DataformClient::pushGitCommitsAsync()} . + * The async variant is {@see DataformClient::moveRepositoryAsync()} . * - * @example samples/V1/DataformClient/push_git_commits.php + * @example samples/V1/DataformClient/move_repository.php * - * @param PushGitCommitsRequest $request A request to house fields associated with the call. + * @param MoveRepositoryRequest $request A request to house fields associated with the call. * @param array $callOptions { * Optional. * @@ -1667,25 +2039,77 @@ public function pullGitCommits(PullGitCommitsRequest $request, array $callOption * {@see RetrySettings} for example usage. * } * - * @return PushGitCommitsResponse + * @return OperationResponse * * @throws ApiException Thrown if the API call fails. */ - public function pushGitCommits(PushGitCommitsRequest $request, array $callOptions = []): PushGitCommitsResponse + public function moveRepository(MoveRepositoryRequest $request, array $callOptions = []): OperationResponse { - return $this->startApiCall('PushGitCommits', $request, $callOptions)->wait(); + return $this->startApiCall('MoveRepository', $request, $callOptions)->wait(); } /** - * Returns CompilationResultActions in a given CompilationResult. + * Pulls Git commits from the Repository's remote into a Workspace. * - * The async variant is {@see DataformClient::queryCompilationResultActionsAsync()} - * . + * The async variant is {@see DataformClient::pullGitCommitsAsync()} . * - * @example samples/V1/DataformClient/query_compilation_result_actions.php + * @example samples/V1/DataformClient/pull_git_commits.php * - * @param QueryCompilationResultActionsRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param PullGitCommitsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PullGitCommitsResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function pullGitCommits(PullGitCommitsRequest $request, array $callOptions = []): PullGitCommitsResponse + { + return $this->startApiCall('PullGitCommits', $request, $callOptions)->wait(); + } + + /** + * Pushes Git commits from a Workspace to the Repository's remote. + * + * The async variant is {@see DataformClient::pushGitCommitsAsync()} . + * + * @example samples/V1/DataformClient/push_git_commits.php + * + * @param PushGitCommitsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PushGitCommitsResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function pushGitCommits(PushGitCommitsRequest $request, array $callOptions = []): PushGitCommitsResponse + { + return $this->startApiCall('PushGitCommits', $request, $callOptions)->wait(); + } + + /** + * Returns CompilationResultActions in a given CompilationResult. + * + * The async variant is {@see DataformClient::queryCompilationResultActionsAsync()} + * . + * + * @example samples/V1/DataformClient/query_compilation_result_actions.php + * + * @param QueryCompilationResultActionsRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -1733,6 +2157,32 @@ public function queryDirectoryContents( return $this->startApiCall('QueryDirectoryContents', $request, $callOptions); } + /** + * Returns the contents of a given Folder. + * + * The async variant is {@see DataformClient::queryFolderContentsAsync()} . + * + * @example samples/V1/DataformClient/query_folder_contents.php + * + * @param QueryFolderContentsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function queryFolderContents(QueryFolderContentsRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('QueryFolderContents', $request, $callOptions); + } + /** * Returns the contents of a given Repository directory. The Repository must * not have a value for `git_remote_settings.url`. @@ -1763,6 +2213,64 @@ public function queryRepositoryDirectoryContents( return $this->startApiCall('QueryRepositoryDirectoryContents', $request, $callOptions); } + /** + * Returns the contents of a given TeamFolder. + * + * The async variant is {@see DataformClient::queryTeamFolderContentsAsync()} . + * + * @example samples/V1/DataformClient/query_team_folder_contents.php + * + * @param QueryTeamFolderContentsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function queryTeamFolderContents( + QueryTeamFolderContentsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('QueryTeamFolderContents', $request, $callOptions); + } + + /** + * Returns the contents of a caller's root folder in a given location. + * The root folder contains all resources that are created by the user and not + * contained in any other folder. + * + * The async variant is {@see DataformClient::queryUserRootContentsAsync()} . + * + * @example samples/V1/DataformClient/query_user_root_contents.php + * + * @param QueryUserRootContentsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function queryUserRootContents( + QueryUserRootContentsRequest $request, + array $callOptions = [] + ): PagedListResponse { + return $this->startApiCall('QueryUserRootContents', $request, $callOptions); + } + /** * Returns WorkflowInvocationActions in a given WorkflowInvocation. * @@ -1953,6 +2461,96 @@ public function searchFiles(SearchFilesRequest $request, array $callOptions = [] return $this->startApiCall('SearchFiles', $request, $callOptions); } + /** + * Returns all TeamFolders in a given location that the caller has access to + * and match the provided filter. + * + * The async variant is {@see DataformClient::searchTeamFoldersAsync()} . + * + * @example samples/V1/DataformClient/search_team_folders.php + * + * @param SearchTeamFoldersRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function searchTeamFolders(SearchTeamFoldersRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('SearchTeamFolders', $request, $callOptions); + } + + /** + * Sets the access control policy on the specified resource. Replaces any + * existing policy. + * + * Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors. + * + * The async variant is {@see DataformClient::setIamPolicyAsync()} . + * + * @example samples/V1/DataformClient/set_iam_policy.php + * + * @param SetIamPolicyRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Policy + * + * @throws ApiException Thrown if the API call fails. + */ + public function setIamPolicy(SetIamPolicyRequest $request, array $callOptions = []): Policy + { + return $this->startApiCall('SetIamPolicy', $request, $callOptions)->wait(); + } + + /** + * Returns permissions that a caller has on the specified resource. + * If the resource does not exist, this will return an empty set of + * permissions, not a `NOT_FOUND` error. + * + * Note: This operation is designed to be used for building permission-aware + * UIs and command-line tools, not for authorization checking. This operation + * may "fail open" without warning. + * + * The async variant is {@see DataformClient::testIamPermissionsAsync()} . + * + * @example samples/V1/DataformClient/test_iam_permissions.php + * + * @param TestIamPermissionsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return TestIamPermissionsResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function testIamPermissions( + TestIamPermissionsRequest $request, + array $callOptions = [] + ): TestIamPermissionsResponse { + return $this->startApiCall('TestIamPermissions', $request, $callOptions)->wait(); + } + /** * Update default config for a given project and location. * @@ -1984,6 +2582,32 @@ public function updateConfig(UpdateConfigRequest $request, array $callOptions = return $this->startApiCall('UpdateConfig', $request, $callOptions)->wait(); } + /** + * Updates a single Folder. + * + * The async variant is {@see DataformClient::updateFolderAsync()} . + * + * @example samples/V1/DataformClient/update_folder.php + * + * @param UpdateFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return Folder + * + * @throws ApiException Thrown if the API call fails. + */ + public function updateFolder(UpdateFolderRequest $request, array $callOptions = []): Folder + { + return $this->startApiCall('UpdateFolder', $request, $callOptions)->wait(); + } + /** * Updates a single ReleaseConfig. * @@ -2046,6 +2670,32 @@ public function updateRepository(UpdateRepositoryRequest $request, array $callOp return $this->startApiCall('UpdateRepository', $request, $callOptions)->wait(); } + /** + * Updates a single TeamFolder. + * + * The async variant is {@see DataformClient::updateTeamFolderAsync()} . + * + * @example samples/V1/DataformClient/update_team_folder.php + * + * @param UpdateTeamFolderRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return TeamFolder + * + * @throws ApiException Thrown if the API call fails. + */ + public function updateTeamFolder(UpdateTeamFolderRequest $request, array $callOptions = []): TeamFolder + { + return $this->startApiCall('UpdateTeamFolder', $request, $callOptions)->wait(); + } + /** * Updates a single WorkflowConfig. * @@ -2104,14 +2754,24 @@ public function writeFile(WriteFileRequest $request, array $callOptions = []): W } /** - * Gets information about a location. + * Starts asynchronous cancellation on a long-running operation. The server + * makes a best effort to cancel the operation, but success is not + * guaranteed. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. Clients can use + * [Operations.GetOperation][google.longrunning.Operations.GetOperation] or + * other methods to check whether the cancellation succeeded or whether the + * operation completed despite cancellation. On successful cancellation, + * the operation is not deleted; instead, it becomes an operation with + * an [Operation.error][google.longrunning.Operation.error] value with a + * [google.rpc.Status.code][google.rpc.Status.code] of `1`, corresponding to + * `Code.CANCELLED`. * - * The async variant is {@see DataformClient::getLocationAsync()} . + * The async variant is {@see DataformClient::cancelOperationAsync()} . * - * @example samples/V1/DataformClient/get_location.php + * @example samples/V1/DataformClient/cancel_operation.php * - * @param GetLocationRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param CancelOperationRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -2120,24 +2780,25 @@ public function writeFile(WriteFileRequest $request, array $callOptions = []): W * {@see RetrySettings} for example usage. * } * - * @return Location - * * @throws ApiException Thrown if the API call fails. */ - public function getLocation(GetLocationRequest $request, array $callOptions = []): Location + public function cancelOperation(CancelOperationRequest $request, array $callOptions = []): void { - return $this->startApiCall('GetLocation', $request, $callOptions)->wait(); + $this->startApiCall('CancelOperation', $request, $callOptions)->wait(); } /** - * Lists information about the supported locations for this service. + * Deletes a long-running operation. This method indicates that the client is + * no longer interested in the operation result. It does not cancel the + * operation. If the server doesn't support this method, it returns + * `google.rpc.Code.UNIMPLEMENTED`. * - * The async variant is {@see DataformClient::listLocationsAsync()} . + * The async variant is {@see DataformClient::deleteOperationAsync()} . * - * @example samples/V1/DataformClient/list_locations.php + * @example samples/V1/DataformClient/delete_operation.php * - * @param ListLocationsRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param DeleteOperationRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -2146,24 +2807,23 @@ public function getLocation(GetLocationRequest $request, array $callOptions = [] * {@see RetrySettings} for example usage. * } * - * @return PagedListResponse - * * @throws ApiException Thrown if the API call fails. */ - public function listLocations(ListLocationsRequest $request, array $callOptions = []): PagedListResponse + public function deleteOperation(DeleteOperationRequest $request, array $callOptions = []): void { - return $this->startApiCall('ListLocations', $request, $callOptions); + $this->startApiCall('DeleteOperation', $request, $callOptions)->wait(); } /** - * Gets the access control policy for a resource. Returns an empty policy - if the resource exists and does not have a policy set. + * Gets the latest state of a long-running operation. Clients can use this + * method to poll the operation result at intervals as recommended by the API + * service. * - * The async variant is {@see DataformClient::getIamPolicyAsync()} . + * The async variant is {@see DataformClient::getOperationAsync()} . * - * @example samples/V1/DataformClient/get_iam_policy.php + * @example samples/V1/DataformClient/get_operation.php * - * @param GetIamPolicyRequest $request A request to house fields associated with the call. + * @param GetOperationRequest $request A request to house fields associated with the call. * @param array $callOptions { * Optional. * @@ -2173,28 +2833,51 @@ public function listLocations(ListLocationsRequest $request, array $callOptions * {@see RetrySettings} for example usage. * } * - * @return Policy + * @return Operation * * @throws ApiException Thrown if the API call fails. */ - public function getIamPolicy(GetIamPolicyRequest $request, array $callOptions = []): Policy + public function getOperation(GetOperationRequest $request, array $callOptions = []): Operation { - return $this->startApiCall('GetIamPolicy', $request, $callOptions)->wait(); + return $this->startApiCall('GetOperation', $request, $callOptions)->wait(); } /** - * Sets the access control policy on the specified resource. Replaces - any existing policy. + * Lists operations that match the specified filter in the request. If the + * server doesn't support this method, it returns `UNIMPLEMENTED`. + * + * The async variant is {@see DataformClient::listOperationsAsync()} . + * + * @example samples/V1/DataformClient/list_operations.php + * + * @param ListOperationsRequest $request A request to house fields associated with the call. + * @param array $callOptions { + * Optional. + * + * @type RetrySettings|array $retrySettings + * Retry settings to use for this call. Can be a {@see RetrySettings} object, or an + * associative array of retry settings parameters. See the documentation on + * {@see RetrySettings} for example usage. + * } + * + * @return PagedListResponse + * + * @throws ApiException Thrown if the API call fails. + */ + public function listOperations(ListOperationsRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListOperations', $request, $callOptions); + } - Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` - errors. + /** + * Gets information about a location. * - * The async variant is {@see DataformClient::setIamPolicyAsync()} . + * The async variant is {@see DataformClient::getLocationAsync()} . * - * @example samples/V1/DataformClient/set_iam_policy.php + * @example samples/V1/DataformClient/get_location.php * - * @param SetIamPolicyRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param GetLocationRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -2203,30 +2886,40 @@ public function getIamPolicy(GetIamPolicyRequest $request, array $callOptions = * {@see RetrySettings} for example usage. * } * - * @return Policy + * @return Location * * @throws ApiException Thrown if the API call fails. */ - public function setIamPolicy(SetIamPolicyRequest $request, array $callOptions = []): Policy + public function getLocation(GetLocationRequest $request, array $callOptions = []): Location { - return $this->startApiCall('SetIamPolicy', $request, $callOptions)->wait(); + return $this->startApiCall('GetLocation', $request, $callOptions)->wait(); } /** - * Returns permissions that a caller has on the specified resource. If the - resource does not exist, this will return an empty set of - permissions, not a `NOT_FOUND` error. + * Lists information about the supported locations for this service. + + This method lists locations based on the resource scope provided in + the [ListLocationsRequest.name] field: - Note: This operation is designed to be used for building - permission-aware UIs and command-line tools, not for authorization - checking. This operation may "fail open" without warning. + * **Global locations**: If `name` is empty, the method lists the + public locations available to all projects. * **Project-specific + locations**: If `name` follows the format + `projects/{project}`, the method lists locations visible to that + specific project. This includes public, private, or other + project-specific locations enabled for the project. + + For gRPC and client library implementations, the resource name is + passed as the `name` field. For direct service calls, the resource + name is + incorporated into the request path based on the specific service + implementation and version. * - * The async variant is {@see DataformClient::testIamPermissionsAsync()} . + * The async variant is {@see DataformClient::listLocationsAsync()} . * - * @example samples/V1/DataformClient/test_iam_permissions.php + * @example samples/V1/DataformClient/list_locations.php * - * @param TestIamPermissionsRequest $request A request to house fields associated with the call. - * @param array $callOptions { + * @param ListLocationsRequest $request A request to house fields associated with the call. + * @param array $callOptions { * Optional. * * @type RetrySettings|array $retrySettings @@ -2235,14 +2928,12 @@ public function setIamPolicy(SetIamPolicyRequest $request, array $callOptions = * {@see RetrySettings} for example usage. * } * - * @return TestIamPermissionsResponse + * @return PagedListResponse * * @throws ApiException Thrown if the API call fails. */ - public function testIamPermissions( - TestIamPermissionsRequest $request, - array $callOptions = [] - ): TestIamPermissionsResponse { - return $this->startApiCall('TestIamPermissions', $request, $callOptions)->wait(); + public function listLocations(ListLocationsRequest $request, array $callOptions = []): PagedListResponse + { + return $this->startApiCall('ListLocations', $request, $callOptions); } } diff --git a/Dataform/src/V1/CompilationResult.php b/Dataform/src/V1/CompilationResult.php index 237775440c1c..764e19b40e77 100644 --- a/Dataform/src/V1/CompilationResult.php +++ b/Dataform/src/V1/CompilationResult.php @@ -67,6 +67,14 @@ class CompilationResult extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional string internal_metadata = 11 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $internal_metadata = null; + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `CompilationResult` resource is `user_scoped` only if it is sourced + * from a workspace. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $private_resource_metadata = null; protected $source; /** @@ -107,6 +115,10 @@ class CompilationResult extends \Google\Protobuf\Internal\Message * Output only. All the metadata information that is used internally to serve * the resource. For example: timestamps, flags, status fields, etc. The * format of this field is a JSON string. + * @type \Google\Cloud\Dataform\V1\PrivateResourceMetadata $private_resource_metadata + * Output only. Metadata indicating whether this resource is user-scoped. + * `CompilationResult` resource is `user_scoped` only if it is sourced + * from a workspace. * } */ public function __construct($data = NULL) { @@ -475,6 +487,46 @@ public function setInternalMetadata($var) return $this; } + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `CompilationResult` resource is `user_scoped` only if it is sourced + * from a workspace. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataform\V1\PrivateResourceMetadata|null + */ + public function getPrivateResourceMetadata() + { + return $this->private_resource_metadata; + } + + public function hasPrivateResourceMetadata() + { + return isset($this->private_resource_metadata); + } + + public function clearPrivateResourceMetadata() + { + unset($this->private_resource_metadata); + } + + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `CompilationResult` resource is `user_scoped` only if it is sourced + * from a workspace. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 12 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataform\V1\PrivateResourceMetadata $var + * @return $this + */ + public function setPrivateResourceMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\PrivateResourceMetadata::class); + $this->private_resource_metadata = $var; + + return $this; + } + /** * @return string */ diff --git a/Dataform/src/V1/CompilationResultAction/Relation.php b/Dataform/src/V1/CompilationResultAction/Relation.php index 9b9934317568..86c8d4ccbfb9 100644 --- a/Dataform/src/V1/CompilationResultAction/Relation.php +++ b/Dataform/src/V1/CompilationResultAction/Relation.php @@ -104,6 +104,36 @@ class Relation extends \Google\Protobuf\Internal\Message * Generated from protobuf field map additional_options = 14; */ private $additional_options; + /** + * Optional. The connection specifying the credentials to be used to read + * and write to external storage, such as Cloud Storage. The connection can + * have the form `{project}.{location}.{connection_id}` or + * `projects/{project}/locations/{location}/connections/{connection_id}`, + * or be set to DEFAULT. + * + * Generated from protobuf field string connection = 15 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $connection = ''; + /** + * Optional. The table format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.TableFormat table_format = 16 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $table_format = 0; + /** + * Optional. The file format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.FileFormat file_format = 17 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $file_format = 0; + /** + * Optional. The fully qualified location prefix of the external folder + * where table data is stored. The URI should be in the format + * `gs://bucket/path_to_table/`. + * + * Generated from protobuf field string storage_uri = 18 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $storage_uri = ''; /** * Constructor. @@ -144,6 +174,20 @@ class Relation extends \Google\Protobuf\Internal\Message * options clause of a create table/view statement. See * https://cloud.google.com/bigquery/docs/reference/standard-sql/data-definition-language * for more information on which options are supported. + * @type string $connection + * Optional. The connection specifying the credentials to be used to read + * and write to external storage, such as Cloud Storage. The connection can + * have the form `{project}.{location}.{connection_id}` or + * `projects/{project}/locations/{location}/connections/{connection_id}`, + * or be set to DEFAULT. + * @type int $table_format + * Optional. The table format for the BigQuery table. + * @type int $file_format + * Optional. The file format for the BigQuery table. + * @type string $storage_uri + * Optional. The fully qualified location prefix of the external folder + * where table data is stored. The URI should be in the format + * `gs://bucket/path_to_table/`. * } */ public function __construct($data = NULL) { @@ -545,5 +589,121 @@ public function setAdditionalOptions($var) return $this; } + /** + * Optional. The connection specifying the credentials to be used to read + * and write to external storage, such as Cloud Storage. The connection can + * have the form `{project}.{location}.{connection_id}` or + * `projects/{project}/locations/{location}/connections/{connection_id}`, + * or be set to DEFAULT. + * + * Generated from protobuf field string connection = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getConnection() + { + return $this->connection; + } + + /** + * Optional. The connection specifying the credentials to be used to read + * and write to external storage, such as Cloud Storage. The connection can + * have the form `{project}.{location}.{connection_id}` or + * `projects/{project}/locations/{location}/connections/{connection_id}`, + * or be set to DEFAULT. + * + * Generated from protobuf field string connection = 15 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setConnection($var) + { + GPBUtil::checkString($var, True); + $this->connection = $var; + + return $this; + } + + /** + * Optional. The table format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.TableFormat table_format = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getTableFormat() + { + return $this->table_format; + } + + /** + * Optional. The table format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.TableFormat table_format = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setTableFormat($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\CompilationResultAction\Relation\TableFormat::class); + $this->table_format = $var; + + return $this; + } + + /** + * Optional. The file format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.FileFormat file_format = 17 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getFileFormat() + { + return $this->file_format; + } + + /** + * Optional. The file format for the BigQuery table. + * + * Generated from protobuf field .google.cloud.dataform.v1.CompilationResultAction.Relation.FileFormat file_format = 17 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setFileFormat($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\CompilationResultAction\Relation\FileFormat::class); + $this->file_format = $var; + + return $this; + } + + /** + * Optional. The fully qualified location prefix of the external folder + * where table data is stored. The URI should be in the format + * `gs://bucket/path_to_table/`. + * + * Generated from protobuf field string storage_uri = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getStorageUri() + { + return $this->storage_uri; + } + + /** + * Optional. The fully qualified location prefix of the external folder + * where table data is stored. The URI should be in the format + * `gs://bucket/path_to_table/`. + * + * Generated from protobuf field string storage_uri = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setStorageUri($var) + { + GPBUtil::checkString($var, True); + $this->storage_uri = $var; + + return $this; + } + } diff --git a/Dataform/src/V1/CompilationResultAction/Relation/FileFormat.php b/Dataform/src/V1/CompilationResultAction/Relation/FileFormat.php new file mode 100644 index 000000000000..e1db409ee5b6 --- /dev/null +++ b/Dataform/src/V1/CompilationResultAction/Relation/FileFormat.php @@ -0,0 +1,54 @@ +google.cloud.dataform.v1.CompilationResultAction.Relation.FileFormat + */ +class FileFormat +{ + /** + * Default value. + * + * Generated from protobuf enum FILE_FORMAT_UNSPECIFIED = 0; + */ + const FILE_FORMAT_UNSPECIFIED = 0; + /** + * Apache Parquet format. + * + * Generated from protobuf enum PARQUET = 1; + */ + const PARQUET = 1; + + private static $valueToName = [ + self::FILE_FORMAT_UNSPECIFIED => 'FILE_FORMAT_UNSPECIFIED', + self::PARQUET => 'PARQUET', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/CompilationResultAction/Relation/TableFormat.php b/Dataform/src/V1/CompilationResultAction/Relation/TableFormat.php new file mode 100644 index 000000000000..aa422b3a8ade --- /dev/null +++ b/Dataform/src/V1/CompilationResultAction/Relation/TableFormat.php @@ -0,0 +1,54 @@ +google.cloud.dataform.v1.CompilationResultAction.Relation.TableFormat + */ +class TableFormat +{ + /** + * Default value. + * + * Generated from protobuf enum TABLE_FORMAT_UNSPECIFIED = 0; + */ + const TABLE_FORMAT_UNSPECIFIED = 0; + /** + * Apache Iceberg format. + * + * Generated from protobuf enum ICEBERG = 1; + */ + const ICEBERG = 1; + + private static $valueToName = [ + self::TABLE_FORMAT_UNSPECIFIED => 'TABLE_FORMAT_UNSPECIFIED', + self::ICEBERG => 'ICEBERG', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/ComputeRepositoryAccessTokenStatusResponse/TokenStatus.php b/Dataform/src/V1/ComputeRepositoryAccessTokenStatusResponse/TokenStatus.php index a0c71237d8f0..1c7a8c0b78d4 100644 --- a/Dataform/src/V1/ComputeRepositoryAccessTokenStatusResponse/TokenStatus.php +++ b/Dataform/src/V1/ComputeRepositoryAccessTokenStatusResponse/TokenStatus.php @@ -38,12 +38,19 @@ class TokenStatus * Generated from protobuf enum VALID = 3; */ const VALID = 3; + /** + * The token is not accessible due to permission issues. + * + * Generated from protobuf enum PERMISSION_DENIED = 4; + */ + const PERMISSION_DENIED = 4; private static $valueToName = [ self::TOKEN_STATUS_UNSPECIFIED => 'TOKEN_STATUS_UNSPECIFIED', self::NOT_FOUND => 'NOT_FOUND', self::INVALID => 'INVALID', self::VALID => 'VALID', + self::PERMISSION_DENIED => 'PERMISSION_DENIED', ]; public static function name($value) diff --git a/Dataform/src/V1/Config.php b/Dataform/src/V1/Config.php index 20071f332731..ac1170ec6718 100644 --- a/Dataform/src/V1/Config.php +++ b/Dataform/src/V1/Config.php @@ -28,6 +28,14 @@ class Config extends \Google\Protobuf\Internal\Message * Generated from protobuf field string default_kms_key_name = 2 [(.google.api.field_behavior) = OPTIONAL, (.google.api.resource_reference) = { */ protected $default_kms_key_name = ''; + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $internal_metadata = null; /** * Constructor. @@ -40,6 +48,10 @@ class Config extends \Google\Protobuf\Internal\Message * @type string $default_kms_key_name * Optional. The default KMS key that is used if no encryption key is provided * when a repository is created. + * @type string $internal_metadata + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. * } */ public function __construct($data = NULL) { @@ -101,5 +113,45 @@ public function setDefaultKmsKeyName($var) return $this; } + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getInternalMetadata() + { + return isset($this->internal_metadata) ? $this->internal_metadata : ''; + } + + public function hasInternalMetadata() + { + return isset($this->internal_metadata); + } + + public function clearInternalMetadata() + { + unset($this->internal_metadata); + } + + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setInternalMetadata($var) + { + GPBUtil::checkString($var, True); + $this->internal_metadata = $var; + + return $this; + } + } diff --git a/Dataform/src/V1/CreateFolderRequest.php b/Dataform/src/V1/CreateFolderRequest.php new file mode 100644 index 000000000000..0ddf4cd305a7 --- /dev/null +++ b/Dataform/src/V1/CreateFolderRequest.php @@ -0,0 +1,132 @@ +google.cloud.dataform.v1.CreateFolderRequest + */ +class CreateFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The location in which to create the Folder. Must be in the format + * `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The Folder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $folder = null; + + /** + * @param string $parent Required. The location in which to create the Folder. Must be in the format + * `projects/*/locations/*`. Please see + * {@see DataformClient::locationName()} for help formatting this field. + * @param \Google\Cloud\Dataform\V1\Folder $folder Required. The Folder to create. + * + * @return \Google\Cloud\Dataform\V1\CreateFolderRequest + * + * @experimental + */ + public static function build(string $parent, \Google\Cloud\Dataform\V1\Folder $folder): self + { + return (new self()) + ->setParent($parent) + ->setFolder($folder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The location in which to create the Folder. Must be in the format + * `projects/{@*}locations/*`. + * @type \Google\Cloud\Dataform\V1\Folder $folder + * Required. The Folder to create. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The location in which to create the Folder. Must be in the format + * `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The location in which to create the Folder. Must be in the format + * `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The Folder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataform\V1\Folder|null + */ + public function getFolder() + { + return $this->folder; + } + + public function hasFolder() + { + return isset($this->folder); + } + + public function clearFolder() + { + unset($this->folder); + } + + /** + * Required. The Folder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataform\V1\Folder $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Folder::class); + $this->folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/CreateTeamFolderRequest.php b/Dataform/src/V1/CreateTeamFolderRequest.php new file mode 100644 index 000000000000..7c96464372d5 --- /dev/null +++ b/Dataform/src/V1/CreateTeamFolderRequest.php @@ -0,0 +1,132 @@ +google.cloud.dataform.v1.CreateTeamFolderRequest + */ +class CreateTeamFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The location in which to create the TeamFolder. Must be in the + * format `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $parent = ''; + /** + * Required. The TeamFolder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $team_folder = null; + + /** + * @param string $parent Required. The location in which to create the TeamFolder. Must be in the + * format `projects/*/locations/*`. Please see + * {@see DataformClient::locationName()} for help formatting this field. + * @param \Google\Cloud\Dataform\V1\TeamFolder $teamFolder Required. The TeamFolder to create. + * + * @return \Google\Cloud\Dataform\V1\CreateTeamFolderRequest + * + * @experimental + */ + public static function build(string $parent, \Google\Cloud\Dataform\V1\TeamFolder $teamFolder): self + { + return (new self()) + ->setParent($parent) + ->setTeamFolder($teamFolder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $parent + * Required. The location in which to create the TeamFolder. Must be in the + * format `projects/{@*}locations/*`. + * @type \Google\Cloud\Dataform\V1\TeamFolder $team_folder + * Required. The TeamFolder to create. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The location in which to create the TeamFolder. Must be in the + * format `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getParent() + { + return $this->parent; + } + + /** + * Required. The location in which to create the TeamFolder. Must be in the + * format `projects/{@*}locations/*`. + * + * Generated from protobuf field string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setParent($var) + { + GPBUtil::checkString($var, True); + $this->parent = $var; + + return $this; + } + + /** + * Required. The TeamFolder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataform\V1\TeamFolder|null + */ + public function getTeamFolder() + { + return $this->team_folder; + } + + public function hasTeamFolder() + { + return isset($this->team_folder); + } + + public function clearTeamFolder() + { + unset($this->team_folder); + } + + /** + * Required. The TeamFolder to create. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataform\V1\TeamFolder $var + * @return $this + */ + public function setTeamFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\TeamFolder::class); + $this->team_folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DeleteFolderRequest.php b/Dataform/src/V1/DeleteFolderRequest.php new file mode 100644 index 000000000000..5ac67e50550a --- /dev/null +++ b/Dataform/src/V1/DeleteFolderRequest.php @@ -0,0 +1,81 @@ +google.cloud.dataform.v1.DeleteFolderRequest + */ +class DeleteFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The Folder's name. Please see + * {@see DataformClient::folderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\DeleteFolderRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The Folder's name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DeleteFolderTreeMetadata.php b/Dataform/src/V1/DeleteFolderTreeMetadata.php new file mode 100644 index 000000000000..a15720bb8203 --- /dev/null +++ b/Dataform/src/V1/DeleteFolderTreeMetadata.php @@ -0,0 +1,232 @@ +google.cloud.dataform.v1.DeleteFolderTreeMetadata + */ +class DeleteFolderTreeMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_time = null; + /** + * Output only. Resource name of the target of the operation. + * Format: projects/{project}/locations/{location}/folders/{folder} or + * projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $target = ''; + /** + * Output only. The state of the operation. + * + * Generated from protobuf field .google.cloud.dataform.v1.DeleteFolderTreeMetadata.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $state = 0; + /** + * Output only. Percent complete of the operation [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $percent_complete = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The time the operation was created. + * @type \Google\Protobuf\Timestamp $end_time + * Output only. The time the operation finished running. + * @type string $target + * Output only. Resource name of the target of the operation. + * Format: projects/{project}/locations/{location}/folders/{folder} or + * projects/{project}/locations/{location}/teamFolders/{team_folder} + * @type int $state + * Output only. The state of the operation. + * @type int $percent_complete + * Output only. Percent complete of the operation [0, 100]. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEndTime() + { + return $this->end_time; + } + + public function hasEndTime() + { + return isset($this->end_time); + } + + public function clearEndTime() + { + unset($this->end_time); + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->end_time = $var; + + return $this; + } + + /** + * Output only. Resource name of the target of the operation. + * Format: projects/{project}/locations/{location}/folders/{folder} or + * projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTarget() + { + return $this->target; + } + + /** + * Output only. Resource name of the target of the operation. + * Format: projects/{project}/locations/{location}/folders/{folder} or + * projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTarget($var) + { + GPBUtil::checkString($var, True); + $this->target = $var; + + return $this; + } + + /** + * Output only. The state of the operation. + * + * Generated from protobuf field .google.cloud.dataform.v1.DeleteFolderTreeMetadata.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getState() + { + return $this->state; + } + + /** + * Output only. The state of the operation. + * + * Generated from protobuf field .google.cloud.dataform.v1.DeleteFolderTreeMetadata.State state = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setState($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\DeleteFolderTreeMetadata\State::class); + $this->state = $var; + + return $this; + } + + /** + * Output only. Percent complete of the operation [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getPercentComplete() + { + return $this->percent_complete; + } + + /** + * Output only. Percent complete of the operation [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setPercentComplete($var) + { + GPBUtil::checkInt32($var); + $this->percent_complete = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DeleteFolderTreeMetadata/State.php b/Dataform/src/V1/DeleteFolderTreeMetadata/State.php new file mode 100644 index 000000000000..5dbd201944f3 --- /dev/null +++ b/Dataform/src/V1/DeleteFolderTreeMetadata/State.php @@ -0,0 +1,76 @@ +google.cloud.dataform.v1.DeleteFolderTreeMetadata.State + */ +class State +{ + /** + * The state is unspecified. + * + * Generated from protobuf enum STATE_UNSPECIFIED = 0; + */ + const STATE_UNSPECIFIED = 0; + /** + * The operation was initialized and recorded by the server, but not yet + * started. + * + * Generated from protobuf enum INITIALIZED = 1; + */ + const INITIALIZED = 1; + /** + * The operation is in progress. + * + * Generated from protobuf enum IN_PROGRESS = 2; + */ + const IN_PROGRESS = 2; + /** + * The operation has completed successfully. + * + * Generated from protobuf enum SUCCEEDED = 3; + */ + const SUCCEEDED = 3; + /** + * The operation has failed. + * + * Generated from protobuf enum FAILED = 4; + */ + const FAILED = 4; + + private static $valueToName = [ + self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', + self::INITIALIZED => 'INITIALIZED', + self::IN_PROGRESS => 'IN_PROGRESS', + self::SUCCEEDED => 'SUCCEEDED', + self::FAILED => 'FAILED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/DeleteFolderTreeRequest.php b/Dataform/src/V1/DeleteFolderTreeRequest.php new file mode 100644 index 000000000000..449bb44ac25d --- /dev/null +++ b/Dataform/src/V1/DeleteFolderTreeRequest.php @@ -0,0 +1,148 @@ +google.cloud.dataform.v1.DeleteFolderTreeRequest + */ +class DeleteFolderTreeRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The Folder's name. + * Format: projects/{project}/locations/{location}/folders/{folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $force = false; + + /** + * @param string $name Required. The Folder's name. + * Format: projects/{project}/locations/{location}/folders/{folder} + * Please see {@see DataformClient::folderName()} for help formatting this field. + * @param bool $force Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * @return \Google\Cloud\Dataform\V1\DeleteFolderTreeRequest + * + * @experimental + */ + public static function build(string $name, bool $force): self + { + return (new self()) + ->setName($name) + ->setForce($force); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The Folder's name. + * Format: projects/{project}/locations/{location}/folders/{folder} + * @type bool $force + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The Folder's name. + * Format: projects/{project}/locations/{location}/folders/{folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The Folder's name. + * Format: projects/{project}/locations/{location}/folders/{folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getForce() + { + return $this->force; + } + + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setForce($var) + { + GPBUtil::checkBool($var); + $this->force = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DeleteRepositoryRequest.php b/Dataform/src/V1/DeleteRepositoryRequest.php index 766640739a21..59733be1474b 100644 --- a/Dataform/src/V1/DeleteRepositoryRequest.php +++ b/Dataform/src/V1/DeleteRepositoryRequest.php @@ -22,9 +22,12 @@ class DeleteRepositoryRequest extends \Google\Protobuf\Internal\Message */ protected $name = ''; /** - * Optional. If set to true, any child resources of this repository will also - * be deleted. (Otherwise, the request will only succeed if the repository has - * no child resources.) + * Optional. If set to true, child resources of this repository (compilation + * results and workflow invocations) will also be deleted. Otherwise, the + * request will only succeed if the repository has no child resources. + * **Note:** *This flag doesn't support deletion of workspaces, release + * configs or workflow configs. If any of such resources exists in the + * repository, the request will fail.*. * * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; */ @@ -53,9 +56,12 @@ public static function build(string $name): self * @type string $name * Required. The repository's name. * @type bool $force - * Optional. If set to true, any child resources of this repository will also - * be deleted. (Otherwise, the request will only succeed if the repository has - * no child resources.) + * Optional. If set to true, child resources of this repository (compilation + * results and workflow invocations) will also be deleted. Otherwise, the + * request will only succeed if the repository has no child resources. + * **Note:** *This flag doesn't support deletion of workspaces, release + * configs or workflow configs. If any of such resources exists in the + * repository, the request will fail.*. * } */ public function __construct($data = NULL) { @@ -90,9 +96,12 @@ public function setName($var) } /** - * Optional. If set to true, any child resources of this repository will also - * be deleted. (Otherwise, the request will only succeed if the repository has - * no child resources.) + * Optional. If set to true, child resources of this repository (compilation + * results and workflow invocations) will also be deleted. Otherwise, the + * request will only succeed if the repository has no child resources. + * **Note:** *This flag doesn't support deletion of workspaces, release + * configs or workflow configs. If any of such resources exists in the + * repository, the request will fail.*. * * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; * @return bool @@ -103,9 +112,12 @@ public function getForce() } /** - * Optional. If set to true, any child resources of this repository will also - * be deleted. (Otherwise, the request will only succeed if the repository has - * no child resources.) + * Optional. If set to true, child resources of this repository (compilation + * results and workflow invocations) will also be deleted. Otherwise, the + * request will only succeed if the repository has no child resources. + * **Note:** *This flag doesn't support deletion of workspaces, release + * configs or workflow configs. If any of such resources exists in the + * repository, the request will fail.*. * * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; * @param bool $var diff --git a/Dataform/src/V1/DeleteTeamFolderRequest.php b/Dataform/src/V1/DeleteTeamFolderRequest.php new file mode 100644 index 000000000000..616b62b04361 --- /dev/null +++ b/Dataform/src/V1/DeleteTeamFolderRequest.php @@ -0,0 +1,81 @@ +google.cloud.dataform.v1.DeleteTeamFolderRequest + */ +class DeleteTeamFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The TeamFolder's name. Please see + * {@see DataformClient::teamFolderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\DeleteTeamFolderRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The TeamFolder's name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DeleteTeamFolderTreeRequest.php b/Dataform/src/V1/DeleteTeamFolderTreeRequest.php new file mode 100644 index 000000000000..27c7f20215a6 --- /dev/null +++ b/Dataform/src/V1/DeleteTeamFolderTreeRequest.php @@ -0,0 +1,148 @@ +google.cloud.dataform.v1.DeleteTeamFolderTreeRequest + */ +class DeleteTeamFolderTreeRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The TeamFolder's name. + * Format: projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $force = false; + + /** + * @param string $name Required. The TeamFolder's name. + * Format: projects/{project}/locations/{location}/teamFolders/{team_folder} + * Please see {@see DataformClient::teamFolderName()} for help formatting this field. + * @param bool $force Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * @return \Google\Cloud\Dataform\V1\DeleteTeamFolderTreeRequest + * + * @experimental + */ + public static function build(string $name, bool $force): self + { + return (new self()) + ->setName($name) + ->setForce($force); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The TeamFolder's name. + * Format: projects/{project}/locations/{location}/teamFolders/{team_folder} + * @type bool $force + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The TeamFolder's name. + * Format: projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The TeamFolder's name. + * Format: projects/{project}/locations/{location}/teamFolders/{team_folder} + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getForce() + { + return $this->force; + } + + /** + * Optional. If `false` (default): The operation will fail if any + * Repository within the folder hierarchy has associated Release Configs or + * Workflow Configs. + * If `true`: The operation will attempt to delete everything, including any + * Release Configs and Workflow Configs linked to Repositories within the + * folder hierarchy. This permanently removes schedules and resources. + * + * Generated from protobuf field bool force = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setForce($var) + { + GPBUtil::checkBool($var); + $this->force = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/DirectoryContentsView.php b/Dataform/src/V1/DirectoryContentsView.php new file mode 100644 index 000000000000..d9c24b5868d0 --- /dev/null +++ b/Dataform/src/V1/DirectoryContentsView.php @@ -0,0 +1,62 @@ +google.cloud.dataform.v1.DirectoryContentsView + */ +class DirectoryContentsView +{ + /** + * The default / unset value. Defaults to DIRECTORY_CONTENTS_VIEW_BASIC. + * + * Generated from protobuf enum DIRECTORY_CONTENTS_VIEW_UNSPECIFIED = 0; + */ + const DIRECTORY_CONTENTS_VIEW_UNSPECIFIED = 0; + /** + * Includes only the file or directory name. This is the default behavior. + * + * Generated from protobuf enum DIRECTORY_CONTENTS_VIEW_BASIC = 1; + */ + const DIRECTORY_CONTENTS_VIEW_BASIC = 1; + /** + * Includes all metadata for each file or directory. Currently not supported + * by CMEK-protected workspaces. + * + * Generated from protobuf enum DIRECTORY_CONTENTS_VIEW_METADATA = 2; + */ + const DIRECTORY_CONTENTS_VIEW_METADATA = 2; + + private static $valueToName = [ + self::DIRECTORY_CONTENTS_VIEW_UNSPECIFIED => 'DIRECTORY_CONTENTS_VIEW_UNSPECIFIED', + self::DIRECTORY_CONTENTS_VIEW_BASIC => 'DIRECTORY_CONTENTS_VIEW_BASIC', + self::DIRECTORY_CONTENTS_VIEW_METADATA => 'DIRECTORY_CONTENTS_VIEW_METADATA', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/DirectoryEntry.php b/Dataform/src/V1/DirectoryEntry.php index ea32a5a651d2..ffbd681be53c 100644 --- a/Dataform/src/V1/DirectoryEntry.php +++ b/Dataform/src/V1/DirectoryEntry.php @@ -15,6 +15,12 @@ */ class DirectoryEntry extends \Google\Protobuf\Internal\Message { + /** + * Entry with metadata. + * + * Generated from protobuf field .google.cloud.dataform.v1.FilesystemEntryMetadata metadata = 3; + */ + protected $metadata = null; protected $entry; /** @@ -27,6 +33,8 @@ class DirectoryEntry extends \Google\Protobuf\Internal\Message * A file in the directory. * @type string $directory * A child directory in the directory. + * @type \Google\Cloud\Dataform\V1\FilesystemEntryMetadata $metadata + * Entry with metadata. * } */ public function __construct($data = NULL) { @@ -96,6 +104,42 @@ public function setDirectory($var) return $this; } + /** + * Entry with metadata. + * + * Generated from protobuf field .google.cloud.dataform.v1.FilesystemEntryMetadata metadata = 3; + * @return \Google\Cloud\Dataform\V1\FilesystemEntryMetadata|null + */ + public function getMetadata() + { + return $this->metadata; + } + + public function hasMetadata() + { + return isset($this->metadata); + } + + public function clearMetadata() + { + unset($this->metadata); + } + + /** + * Entry with metadata. + * + * Generated from protobuf field .google.cloud.dataform.v1.FilesystemEntryMetadata metadata = 3; + * @param \Google\Cloud\Dataform\V1\FilesystemEntryMetadata $var + * @return $this + */ + public function setMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\FilesystemEntryMetadata::class); + $this->metadata = $var; + + return $this; + } + /** * @return string */ diff --git a/Dataform/src/V1/FilesystemEntryMetadata.php b/Dataform/src/V1/FilesystemEntryMetadata.php new file mode 100644 index 000000000000..f8e2c08a9424 --- /dev/null +++ b/Dataform/src/V1/FilesystemEntryMetadata.php @@ -0,0 +1,115 @@ +google.cloud.dataform.v1.FilesystemEntryMetadata + */ +class FilesystemEntryMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. Provides the size of the entry in bytes. For directories, this + * will be 0. + * + * Generated from protobuf field int64 size_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $size_bytes = 0; + /** + * Output only. Represents the time of the last modification of the entry. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type int|string $size_bytes + * Output only. Provides the size of the entry in bytes. For directories, this + * will be 0. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. Represents the time of the last modification of the entry. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Output only. Provides the size of the entry in bytes. For directories, this + * will be 0. + * + * Generated from protobuf field int64 size_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int|string + */ + public function getSizeBytes() + { + return $this->size_bytes; + } + + /** + * Output only. Provides the size of the entry in bytes. For directories, this + * will be 0. + * + * Generated from protobuf field int64 size_bytes = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int|string $var + * @return $this + */ + public function setSizeBytes($var) + { + GPBUtil::checkInt64($var); + $this->size_bytes = $var; + + return $this; + } + + /** + * Output only. Represents the time of the last modification of the entry. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. Represents the time of the last modification of the entry. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/Folder.php b/Dataform/src/V1/Folder.php new file mode 100644 index 000000000000..b2ce61c21a3d --- /dev/null +++ b/Dataform/src/V1/Folder.php @@ -0,0 +1,386 @@ +google.cloud.dataform.v1.Folder + */ +class Folder extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Required. The Folder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $display_name = ''; + /** + * Optional. The containing Folder resource name. This should take + * the format: projects/{project}/locations/{location}/folders/{folder}, + * projects/{project}/locations/{location}/teamFolders/{teamFolder}, or just + * projects/{project}/locations/{location} if this is a root Folder. This + * field can only be updated through MoveFolder. + * + * Generated from protobuf field string containing_folder = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $containing_folder = ''; + /** + * Output only. The resource name of the TeamFolder that this Folder is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Folder is not associated with a TeamFolder and is a + * UserFolder. + * + * Generated from protobuf field string team_folder_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $team_folder_name = ''; + /** + * Output only. The timestamp of when the Folder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The timestamp of when the Folder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $internal_metadata = null; + /** + * Output only. The IAM principal identifier of the creator of the Folder. + * + * Generated from protobuf field optional string creator_iam_principal = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $creator_iam_principal = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. The Folder's name. + * @type string $display_name + * Required. The Folder's user-friendly name. + * @type string $containing_folder + * Optional. The containing Folder resource name. This should take + * the format: projects/{project}/locations/{location}/folders/{folder}, + * projects/{project}/locations/{location}/teamFolders/{teamFolder}, or just + * projects/{project}/locations/{location} if this is a root Folder. This + * field can only be updated through MoveFolder. + * @type string $team_folder_name + * Output only. The resource name of the TeamFolder that this Folder is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Folder is not associated with a TeamFolder and is a + * UserFolder. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The timestamp of when the Folder was created. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The timestamp of when the Folder was last updated. + * @type string $internal_metadata + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * @type string $creator_iam_principal + * Output only. The IAM principal identifier of the creator of the Folder. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Required. The Folder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Required. The Folder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->display_name = $var; + + return $this; + } + + /** + * Optional. The containing Folder resource name. This should take + * the format: projects/{project}/locations/{location}/folders/{folder}, + * projects/{project}/locations/{location}/teamFolders/{teamFolder}, or just + * projects/{project}/locations/{location} if this is a root Folder. This + * field can only be updated through MoveFolder. + * + * Generated from protobuf field string containing_folder = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getContainingFolder() + { + return $this->containing_folder; + } + + /** + * Optional. The containing Folder resource name. This should take + * the format: projects/{project}/locations/{location}/folders/{folder}, + * projects/{project}/locations/{location}/teamFolders/{teamFolder}, or just + * projects/{project}/locations/{location} if this is a root Folder. This + * field can only be updated through MoveFolder. + * + * Generated from protobuf field string containing_folder = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setContainingFolder($var) + { + GPBUtil::checkString($var, True); + $this->containing_folder = $var; + + return $this; + } + + /** + * Output only. The resource name of the TeamFolder that this Folder is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Folder is not associated with a TeamFolder and is a + * UserFolder. + * + * Generated from protobuf field string team_folder_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTeamFolderName() + { + return $this->team_folder_name; + } + + /** + * Output only. The resource name of the TeamFolder that this Folder is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Folder is not associated with a TeamFolder and is a + * UserFolder. + * + * Generated from protobuf field string team_folder_name = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTeamFolderName($var) + { + GPBUtil::checkString($var, True); + $this->team_folder_name = $var; + + return $this; + } + + /** + * Output only. The timestamp of when the Folder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The timestamp of when the Folder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The timestamp of when the Folder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The timestamp of when the Folder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getInternalMetadata() + { + return isset($this->internal_metadata) ? $this->internal_metadata : ''; + } + + public function hasInternalMetadata() + { + return isset($this->internal_metadata); + } + + public function clearInternalMetadata() + { + unset($this->internal_metadata); + } + + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 7 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setInternalMetadata($var) + { + GPBUtil::checkString($var, True); + $this->internal_metadata = $var; + + return $this; + } + + /** + * Output only. The IAM principal identifier of the creator of the Folder. + * + * Generated from protobuf field optional string creator_iam_principal = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getCreatorIamPrincipal() + { + return isset($this->creator_iam_principal) ? $this->creator_iam_principal : ''; + } + + public function hasCreatorIamPrincipal() + { + return isset($this->creator_iam_principal); + } + + public function clearCreatorIamPrincipal() + { + unset($this->creator_iam_principal); + } + + /** + * Output only. The IAM principal identifier of the creator of the Folder. + * + * Generated from protobuf field optional string creator_iam_principal = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setCreatorIamPrincipal($var) + { + GPBUtil::checkString($var, True); + $this->creator_iam_principal = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/GetFolderRequest.php b/Dataform/src/V1/GetFolderRequest.php new file mode 100644 index 000000000000..416137ded0a2 --- /dev/null +++ b/Dataform/src/V1/GetFolderRequest.php @@ -0,0 +1,81 @@ +google.cloud.dataform.v1.GetFolderRequest + */ +class GetFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The Folder's name. Please see + * {@see DataformClient::folderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\GetFolderRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The Folder's name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The Folder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/GetTeamFolderRequest.php b/Dataform/src/V1/GetTeamFolderRequest.php new file mode 100644 index 000000000000..84ade79beeef --- /dev/null +++ b/Dataform/src/V1/GetTeamFolderRequest.php @@ -0,0 +1,81 @@ +google.cloud.dataform.v1.GetTeamFolderRequest + */ +class GetTeamFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * @param string $name Required. The TeamFolder's name. Please see + * {@see DataformClient::teamFolderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\GetTeamFolderRequest + * + * @experimental + */ + public static function build(string $name): self + { + return (new self()) + ->setName($name); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The TeamFolder's name. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/InvocationConfig.php b/Dataform/src/V1/InvocationConfig.php index 402ad9e7e717..cf7a84b89b6d 100644 --- a/Dataform/src/V1/InvocationConfig.php +++ b/Dataform/src/V1/InvocationConfig.php @@ -55,6 +55,14 @@ class InvocationConfig extends \Google\Protobuf\Internal\Message * Generated from protobuf field string service_account = 6 [(.google.api.field_behavior) = OPTIONAL]; */ protected $service_account = ''; + /** + * Optional. Specifies the priority for query execution in BigQuery. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#queries. + * + * Generated from protobuf field optional .google.cloud.dataform.v1.InvocationConfig.QueryPriority query_priority = 9 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $query_priority = null; /** * Constructor. @@ -76,6 +84,10 @@ class InvocationConfig extends \Google\Protobuf\Internal\Message * Optional. When set to true, any incremental tables will be fully refreshed. * @type string $service_account * Optional. The service account to run workflow invocations under. + * @type int $query_priority + * Optional. Specifies the priority for query execution in BigQuery. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#queries. * } */ public function __construct($data = NULL) { @@ -243,5 +255,45 @@ public function setServiceAccount($var) return $this; } + /** + * Optional. Specifies the priority for query execution in BigQuery. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#queries. + * + * Generated from protobuf field optional .google.cloud.dataform.v1.InvocationConfig.QueryPriority query_priority = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getQueryPriority() + { + return isset($this->query_priority) ? $this->query_priority : 0; + } + + public function hasQueryPriority() + { + return isset($this->query_priority); + } + + public function clearQueryPriority() + { + unset($this->query_priority); + } + + /** + * Optional. Specifies the priority for query execution in BigQuery. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#queries. + * + * Generated from protobuf field optional .google.cloud.dataform.v1.InvocationConfig.QueryPriority query_priority = 9 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setQueryPriority($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\InvocationConfig\QueryPriority::class); + $this->query_priority = $var; + + return $this; + } + } diff --git a/Dataform/src/V1/InvocationConfig/QueryPriority.php b/Dataform/src/V1/InvocationConfig/QueryPriority.php new file mode 100644 index 000000000000..8700ea6f2491 --- /dev/null +++ b/Dataform/src/V1/InvocationConfig/QueryPriority.php @@ -0,0 +1,65 @@ +google.cloud.dataform.v1.InvocationConfig.QueryPriority + */ +class QueryPriority +{ + /** + * Default value. This value is unused. + * + * Generated from protobuf enum QUERY_PRIORITY_UNSPECIFIED = 0; + */ + const QUERY_PRIORITY_UNSPECIFIED = 0; + /** + * Query will be executed in BigQuery with interactive priority. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#queries. + * + * Generated from protobuf enum INTERACTIVE = 1; + */ + const INTERACTIVE = 1; + /** + * Query will be executed in BigQuery with batch priority. + * More information can be found at + * https://cloud.google.com/bigquery/docs/running-queries#batchqueries. + * + * Generated from protobuf enum BATCH = 2; + */ + const BATCH = 2; + + private static $valueToName = [ + self::QUERY_PRIORITY_UNSPECIFIED => 'QUERY_PRIORITY_UNSPECIFIED', + self::INTERACTIVE => 'INTERACTIVE', + self::BATCH => 'BATCH', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/MoveFolderMetadata.php b/Dataform/src/V1/MoveFolderMetadata.php new file mode 100644 index 000000000000..cab19da8e0e6 --- /dev/null +++ b/Dataform/src/V1/MoveFolderMetadata.php @@ -0,0 +1,224 @@ +google.cloud.dataform.v1.MoveFolderMetadata + */ +class MoveFolderMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_time = null; + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $target = ''; + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveFolderMetadata.State state = 4; + */ + protected $state = 0; + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + */ + protected $percent_complete = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The time the operation was created. + * @type \Google\Protobuf\Timestamp $end_time + * Output only. The time the operation finished running. + * @type string $target + * Output only. Server-defined resource path for the target of the operation. + * @type int $state + * The state of the move. + * @type int $percent_complete + * Percent complete of the move [0, 100]. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEndTime() + { + return $this->end_time; + } + + public function hasEndTime() + { + return isset($this->end_time); + } + + public function clearEndTime() + { + unset($this->end_time); + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->end_time = $var; + + return $this; + } + + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTarget() + { + return $this->target; + } + + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTarget($var) + { + GPBUtil::checkString($var, True); + $this->target = $var; + + return $this; + } + + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveFolderMetadata.State state = 4; + * @return int + */ + public function getState() + { + return $this->state; + } + + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveFolderMetadata.State state = 4; + * @param int $var + * @return $this + */ + public function setState($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\MoveFolderMetadata\State::class); + $this->state = $var; + + return $this; + } + + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + * @return int + */ + public function getPercentComplete() + { + return $this->percent_complete; + } + + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + * @param int $var + * @return $this + */ + public function setPercentComplete($var) + { + GPBUtil::checkInt32($var); + $this->percent_complete = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/MoveFolderMetadata/State.php b/Dataform/src/V1/MoveFolderMetadata/State.php new file mode 100644 index 000000000000..d98339bceeda --- /dev/null +++ b/Dataform/src/V1/MoveFolderMetadata/State.php @@ -0,0 +1,75 @@ +google.cloud.dataform.v1.MoveFolderMetadata.State + */ +class State +{ + /** + * The state is unspecified. + * + * Generated from protobuf enum STATE_UNSPECIFIED = 0; + */ + const STATE_UNSPECIFIED = 0; + /** + * The move was initialized and recorded by the server, but not yet started. + * + * Generated from protobuf enum INITIALIZED = 1; + */ + const INITIALIZED = 1; + /** + * The move is in progress. + * + * Generated from protobuf enum IN_PROGRESS = 2; + */ + const IN_PROGRESS = 2; + /** + * The move has completed successfully. + * + * Generated from protobuf enum SUCCESS = 3; + */ + const SUCCESS = 3; + /** + * The move has failed. + * + * Generated from protobuf enum FAILED = 4; + */ + const FAILED = 4; + + private static $valueToName = [ + self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', + self::INITIALIZED => 'INITIALIZED', + self::IN_PROGRESS => 'IN_PROGRESS', + self::SUCCESS => 'SUCCESS', + self::FAILED => 'FAILED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/MoveFolderRequest.php b/Dataform/src/V1/MoveFolderRequest.php new file mode 100644 index 000000000000..56774a00c066 --- /dev/null +++ b/Dataform/src/V1/MoveFolderRequest.php @@ -0,0 +1,137 @@ +google.cloud.dataform.v1.MoveFolderRequest + */ +class MoveFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The full resource name of the Folder to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * Folder to. Can be in the format of: "" to move into the root User folder, + * `projects/{@*}locations/{@*}folders/*`, `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $destination_containing_folder = null; + + /** + * @param string $name Required. The full resource name of the Folder to move. Please see + * {@see DataformClient::folderName()} for help formatting this field. + * @param string $destinationContainingFolder Optional. The name of the Folder, TeamFolder, or root location to move the + * Folder to. Can be in the format of: "" to move into the root User folder, + * `projects/*/locations/*/folders/*`, `projects/*/locations/*/teamFolders/*` + * + * @return \Google\Cloud\Dataform\V1\MoveFolderRequest + * + * @experimental + */ + public static function build(string $name, string $destinationContainingFolder): self + { + return (new self()) + ->setName($name) + ->setDestinationContainingFolder($destinationContainingFolder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The full resource name of the Folder to move. + * @type string $destination_containing_folder + * Optional. The name of the Folder, TeamFolder, or root location to move the + * Folder to. Can be in the format of: "" to move into the root User folder, + * `projects/{@*}locations/{@*}folders/*`, `projects/{@*}locations/{@*}teamFolders/*` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The full resource name of the Folder to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The full resource name of the Folder to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * Folder to. Can be in the format of: "" to move into the root User folder, + * `projects/{@*}locations/{@*}folders/*`, `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getDestinationContainingFolder() + { + return isset($this->destination_containing_folder) ? $this->destination_containing_folder : ''; + } + + public function hasDestinationContainingFolder() + { + return isset($this->destination_containing_folder); + } + + public function clearDestinationContainingFolder() + { + unset($this->destination_containing_folder); + } + + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * Folder to. Can be in the format of: "" to move into the root User folder, + * `projects/{@*}locations/{@*}folders/*`, `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setDestinationContainingFolder($var) + { + GPBUtil::checkString($var, True); + $this->destination_containing_folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/MoveRepositoryMetadata.php b/Dataform/src/V1/MoveRepositoryMetadata.php new file mode 100644 index 000000000000..01a0bee6eb8c --- /dev/null +++ b/Dataform/src/V1/MoveRepositoryMetadata.php @@ -0,0 +1,224 @@ +google.cloud.dataform.v1.MoveRepositoryMetadata + */ +class MoveRepositoryMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $end_time = null; + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $target = ''; + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveRepositoryMetadata.State state = 4; + */ + protected $state = 0; + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + */ + protected $percent_complete = 0; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The time the operation was created. + * @type \Google\Protobuf\Timestamp $end_time + * Output only. The time the operation finished running. + * @type string $target + * Output only. Server-defined resource path for the target of the operation. + * @type int $state + * The state of the move. + * @type int $percent_complete + * Percent complete of the move [0, 100]. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The time the operation was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getEndTime() + { + return $this->end_time; + } + + public function hasEndTime() + { + return isset($this->end_time); + } + + public function clearEndTime() + { + unset($this->end_time); + } + + /** + * Output only. The time the operation finished running. + * + * Generated from protobuf field .google.protobuf.Timestamp end_time = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setEndTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->end_time = $var; + + return $this; + } + + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTarget() + { + return $this->target; + } + + /** + * Output only. Server-defined resource path for the target of the operation. + * + * Generated from protobuf field string target = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTarget($var) + { + GPBUtil::checkString($var, True); + $this->target = $var; + + return $this; + } + + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveRepositoryMetadata.State state = 4; + * @return int + */ + public function getState() + { + return $this->state; + } + + /** + * The state of the move. + * + * Generated from protobuf field .google.cloud.dataform.v1.MoveRepositoryMetadata.State state = 4; + * @param int $var + * @return $this + */ + public function setState($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\MoveRepositoryMetadata\State::class); + $this->state = $var; + + return $this; + } + + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + * @return int + */ + public function getPercentComplete() + { + return $this->percent_complete; + } + + /** + * Percent complete of the move [0, 100]. + * + * Generated from protobuf field int32 percent_complete = 5; + * @param int $var + * @return $this + */ + public function setPercentComplete($var) + { + GPBUtil::checkInt32($var); + $this->percent_complete = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/MoveRepositoryMetadata/State.php b/Dataform/src/V1/MoveRepositoryMetadata/State.php new file mode 100644 index 000000000000..5412853c5921 --- /dev/null +++ b/Dataform/src/V1/MoveRepositoryMetadata/State.php @@ -0,0 +1,75 @@ +google.cloud.dataform.v1.MoveRepositoryMetadata.State + */ +class State +{ + /** + * The state is unspecified. + * + * Generated from protobuf enum STATE_UNSPECIFIED = 0; + */ + const STATE_UNSPECIFIED = 0; + /** + * The move was initialized and recorded by the server, but not yet started. + * + * Generated from protobuf enum INITIALIZED = 1; + */ + const INITIALIZED = 1; + /** + * The move is in progress. + * + * Generated from protobuf enum IN_PROGRESS = 2; + */ + const IN_PROGRESS = 2; + /** + * The move has completed successfully. + * + * Generated from protobuf enum SUCCESS = 3; + */ + const SUCCESS = 3; + /** + * The move has failed. + * + * Generated from protobuf enum FAILED = 4; + */ + const FAILED = 4; + + private static $valueToName = [ + self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', + self::INITIALIZED => 'INITIALIZED', + self::IN_PROGRESS => 'IN_PROGRESS', + self::SUCCESS => 'SUCCESS', + self::FAILED => 'FAILED', + ]; + + public static function name($value) + { + if (!isset(self::$valueToName[$value])) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no name defined for value %s', __CLASS__, $value)); + } + return self::$valueToName[$value]; + } + + + public static function value($name) + { + $const = __CLASS__ . '::' . strtoupper($name); + if (!defined($const)) { + throw new UnexpectedValueException(sprintf( + 'Enum %s has no value defined for name %s', __CLASS__, $name)); + } + return constant($const); + } +} + diff --git a/Dataform/src/V1/MoveRepositoryRequest.php b/Dataform/src/V1/MoveRepositoryRequest.php new file mode 100644 index 000000000000..cb9471035409 --- /dev/null +++ b/Dataform/src/V1/MoveRepositoryRequest.php @@ -0,0 +1,142 @@ +google.cloud.dataform.v1.MoveRepositoryRequest + */ +class MoveRepositoryRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The full resource name of the repository to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * repository to. Can be in the format of: "" to move into the root User + * folder, `projects/{@*}locations/{@*}folders/*`, + * `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $destination_containing_folder = null; + + /** + * @param string $name Required. The full resource name of the repository to move. Please see + * {@see DataformClient::repositoryName()} for help formatting this field. + * @param string $destinationContainingFolder Optional. The name of the Folder, TeamFolder, or root location to move the + * repository to. Can be in the format of: "" to move into the root User + * folder, `projects/*/locations/*/folders/*`, + * `projects/*/locations/*/teamFolders/*` + * + * @return \Google\Cloud\Dataform\V1\MoveRepositoryRequest + * + * @experimental + */ + public static function build(string $name, string $destinationContainingFolder): self + { + return (new self()) + ->setName($name) + ->setDestinationContainingFolder($destinationContainingFolder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The full resource name of the repository to move. + * @type string $destination_containing_folder + * Optional. The name of the Folder, TeamFolder, or root location to move the + * repository to. Can be in the format of: "" to move into the root User + * folder, `projects/{@*}locations/{@*}folders/*`, + * `projects/{@*}locations/{@*}teamFolders/*` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. The full resource name of the repository to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Required. The full resource name of the repository to move. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * repository to. Can be in the format of: "" to move into the root User + * folder, `projects/{@*}locations/{@*}folders/*`, + * `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getDestinationContainingFolder() + { + return isset($this->destination_containing_folder) ? $this->destination_containing_folder : ''; + } + + public function hasDestinationContainingFolder() + { + return isset($this->destination_containing_folder); + } + + public function clearDestinationContainingFolder() + { + unset($this->destination_containing_folder); + } + + /** + * Optional. The name of the Folder, TeamFolder, or root location to move the + * repository to. Can be in the format of: "" to move into the root User + * folder, `projects/{@*}locations/{@*}folders/*`, + * `projects/{@*}locations/{@*}teamFolders/*` + * + * Generated from protobuf field optional string destination_containing_folder = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setDestinationContainingFolder($var) + { + GPBUtil::checkString($var, True); + $this->destination_containing_folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/PrivateResourceMetadata.php b/Dataform/src/V1/PrivateResourceMetadata.php new file mode 100644 index 000000000000..057b57e4e913 --- /dev/null +++ b/Dataform/src/V1/PrivateResourceMetadata.php @@ -0,0 +1,71 @@ +google.cloud.dataform.v1.PrivateResourceMetadata + */ +class PrivateResourceMetadata extends \Google\Protobuf\Internal\Message +{ + /** + * Output only. If true, this resource is user-scoped, meaning it is either a + * workspace or sourced from a workspace. + * + * Generated from protobuf field bool user_scoped = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $user_scoped = false; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type bool $user_scoped + * Output only. If true, this resource is user-scoped, meaning it is either a + * workspace or sourced from a workspace. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Output only. If true, this resource is user-scoped, meaning it is either a + * workspace or sourced from a workspace. + * + * Generated from protobuf field bool user_scoped = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return bool + */ + public function getUserScoped() + { + return $this->user_scoped; + } + + /** + * Output only. If true, this resource is user-scoped, meaning it is either a + * workspace or sourced from a workspace. + * + * Generated from protobuf field bool user_scoped = 1 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param bool $var + * @return $this + */ + public function setUserScoped($var) + { + GPBUtil::checkBool($var); + $this->user_scoped = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryDirectoryContentsRequest.php b/Dataform/src/V1/QueryDirectoryContentsRequest.php index de3406335901..0ebc5d354cba 100644 --- a/Dataform/src/V1/QueryDirectoryContentsRequest.php +++ b/Dataform/src/V1/QueryDirectoryContentsRequest.php @@ -46,6 +46,15 @@ class QueryDirectoryContentsRequest extends \Google\Protobuf\Internal\Message * Generated from protobuf field string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; */ protected $page_token = ''; + /** + * Optional. Specifies the metadata to return for each directory entry. + * If unspecified, the default is `DIRECTORY_CONTENTS_VIEW_BASIC`. + * Currently the `DIRECTORY_CONTENTS_VIEW_METADATA` view is not supported by + * CMEK-protected workspaces. + * + * Generated from protobuf field .google.cloud.dataform.v1.DirectoryContentsView view = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $view = 0; /** * Constructor. @@ -68,6 +77,11 @@ class QueryDirectoryContentsRequest extends \Google\Protobuf\Internal\Message * When paginating, all other parameters provided to * `QueryDirectoryContents`, with the exception of `page_size`, must match the * call that provided the page token. + * @type int $view + * Optional. Specifies the metadata to return for each directory entry. + * If unspecified, the default is `DIRECTORY_CONTENTS_VIEW_BASIC`. + * Currently the `DIRECTORY_CONTENTS_VIEW_METADATA` view is not supported by + * CMEK-protected workspaces. * } */ public function __construct($data = NULL) { @@ -193,5 +207,37 @@ public function setPageToken($var) return $this; } + /** + * Optional. Specifies the metadata to return for each directory entry. + * If unspecified, the default is `DIRECTORY_CONTENTS_VIEW_BASIC`. + * Currently the `DIRECTORY_CONTENTS_VIEW_METADATA` view is not supported by + * CMEK-protected workspaces. + * + * Generated from protobuf field .google.cloud.dataform.v1.DirectoryContentsView view = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getView() + { + return $this->view; + } + + /** + * Optional. Specifies the metadata to return for each directory entry. + * If unspecified, the default is `DIRECTORY_CONTENTS_VIEW_BASIC`. + * Currently the `DIRECTORY_CONTENTS_VIEW_METADATA` view is not supported by + * CMEK-protected workspaces. + * + * Generated from protobuf field .google.cloud.dataform.v1.DirectoryContentsView view = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setView($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\Dataform\V1\DirectoryContentsView::class); + $this->view = $var; + + return $this; + } + } diff --git a/Dataform/src/V1/QueryFolderContentsRequest.php b/Dataform/src/V1/QueryFolderContentsRequest.php new file mode 100644 index 000000000000..e6337277c427 --- /dev/null +++ b/Dataform/src/V1/QueryFolderContentsRequest.php @@ -0,0 +1,282 @@ +google.cloud.dataform.v1.QueryFolderContentsRequest + */ +class QueryFolderContentsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the folder whose contents to list. + * Format: projects/{@*}locations/{@*}folders/* + * + * Generated from protobuf field string folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $folder = ''; + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. Page token received from a previous `QueryFolderContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryFolderContents`, with the exception of `page_size`, must match the + * call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), create_time, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + + /** + * @param string $folder Required. Name of the folder whose contents to list. + * Format: projects/*/locations/*/folders/* + * Please see {@see DataformClient::folderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\QueryFolderContentsRequest + * + * @experimental + */ + public static function build(string $folder): self + { + return (new self()) + ->setFolder($folder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $folder + * Required. Name of the folder whose contents to list. + * Format: projects/{@*}locations/{@*}folders/* + * @type int $page_size + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * @type string $page_token + * Optional. Page token received from a previous `QueryFolderContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryFolderContents`, with the exception of `page_size`, must match the + * call that provided the page token. + * @type string $order_by + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), create_time, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * @type string $filter + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the folder whose contents to list. + * Format: projects/{@*}locations/{@*}folders/* + * + * Generated from protobuf field string folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getFolder() + { + return $this->folder; + } + + /** + * Required. Name of the folder whose contents to list. + * Format: projects/{@*}locations/{@*}folders/* + * + * Generated from protobuf field string folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkString($var, True); + $this->folder = $var; + + return $this; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. Page token received from a previous `QueryFolderContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryFolderContents`, with the exception of `page_size`, must match the + * call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. Page token received from a previous `QueryFolderContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryFolderContents`, with the exception of `page_size`, must match the + * call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), create_time, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), create_time, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryFolderContentsResponse.php b/Dataform/src/V1/QueryFolderContentsResponse.php new file mode 100644 index 000000000000..c054782f22c3 --- /dev/null +++ b/Dataform/src/V1/QueryFolderContentsResponse.php @@ -0,0 +1,105 @@ +google.cloud.dataform.v1.QueryFolderContentsResponse + */ +class QueryFolderContentsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryFolderContentsResponse.FolderContentsEntry entries = 1; + */ + private $entries; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\QueryFolderContentsResponse\FolderContentsEntry[] $entries + * List of entries in the folder. + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryFolderContentsResponse.FolderContentsEntry entries = 1; + * @return RepeatedField<\Google\Cloud\Dataform\V1\QueryFolderContentsResponse\FolderContentsEntry> + */ + public function getEntries() + { + return $this->entries; + } + + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryFolderContentsResponse.FolderContentsEntry entries = 1; + * @param \Google\Cloud\Dataform\V1\QueryFolderContentsResponse\FolderContentsEntry[] $var + * @return $this + */ + public function setEntries($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataform\V1\QueryFolderContentsResponse\FolderContentsEntry::class); + $this->entries = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryFolderContentsResponse/FolderContentsEntry.php b/Dataform/src/V1/QueryFolderContentsResponse/FolderContentsEntry.php new file mode 100644 index 000000000000..1173ae00905a --- /dev/null +++ b/Dataform/src/V1/QueryFolderContentsResponse/FolderContentsEntry.php @@ -0,0 +1,108 @@ +google.cloud.dataform.v1.QueryFolderContentsResponse.FolderContentsEntry + */ +class FolderContentsEntry extends \Google\Protobuf\Internal\Message +{ + protected $entry; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\Folder $folder + * A subfolder. + * @type \Google\Cloud\Dataform\V1\Repository $repository + * A repository. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @return \Google\Cloud\Dataform\V1\Folder|null + */ + public function getFolder() + { + return $this->readOneof(1); + } + + public function hasFolder() + { + return $this->hasOneof(1); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @param \Google\Cloud\Dataform\V1\Folder $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Folder::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @return \Google\Cloud\Dataform\V1\Repository|null + */ + public function getRepository() + { + return $this->readOneof(2); + } + + public function hasRepository() + { + return $this->hasOneof(2); + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @param \Google\Cloud\Dataform\V1\Repository $var + * @return $this + */ + public function setRepository($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Repository::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getEntry() + { + return $this->whichOneof("entry"); + } + +} + diff --git a/Dataform/src/V1/QueryTeamFolderContentsRequest.php b/Dataform/src/V1/QueryTeamFolderContentsRequest.php new file mode 100644 index 000000000000..513ea04b682f --- /dev/null +++ b/Dataform/src/V1/QueryTeamFolderContentsRequest.php @@ -0,0 +1,282 @@ +google.cloud.dataform.v1.QueryTeamFolderContentsRequest + */ +class QueryTeamFolderContentsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Name of the team_folder whose contents to list. + * Format: `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field string team_folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $team_folder = ''; + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. Page token received from a previous `QueryTeamFolderContents` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryTeamFolderContents`, with the exception of `page_size`, must match + * the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: `display_name` (default), `create_time`, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + + /** + * @param string $teamFolder Required. Name of the team_folder whose contents to list. + * Format: `projects/*/locations/*/teamFolders/*`. Please see + * {@see DataformClient::teamFolderName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\QueryTeamFolderContentsRequest + * + * @experimental + */ + public static function build(string $teamFolder): self + { + return (new self()) + ->setTeamFolder($teamFolder); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $team_folder + * Required. Name of the team_folder whose contents to list. + * Format: `projects/{@*}locations/{@*}teamFolders/*`. + * @type int $page_size + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * @type string $page_token + * Optional. Page token received from a previous `QueryTeamFolderContents` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryTeamFolderContents`, with the exception of `page_size`, must match + * the call that provided the page token. + * @type string $order_by + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: `display_name` (default), `create_time`, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * @type string $filter + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. Name of the team_folder whose contents to list. + * Format: `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field string team_folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getTeamFolder() + { + return $this->team_folder; + } + + /** + * Required. Name of the team_folder whose contents to list. + * Format: `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field string team_folder = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setTeamFolder($var) + { + GPBUtil::checkString($var, True); + $this->team_folder = $var; + + return $this; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. Page token received from a previous `QueryTeamFolderContents` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryTeamFolderContents`, with the exception of `page_size`, must match + * the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. Page token received from a previous `QueryTeamFolderContents` + * call. Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryTeamFolderContents`, with the exception of `page_size`, must match + * the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: `display_name` (default), `create_time`, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: `display_name` (default), `create_time`, + * last_modified_time. + * Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryTeamFolderContentsResponse.php b/Dataform/src/V1/QueryTeamFolderContentsResponse.php new file mode 100644 index 000000000000..1f6e075ad3e1 --- /dev/null +++ b/Dataform/src/V1/QueryTeamFolderContentsResponse.php @@ -0,0 +1,105 @@ +google.cloud.dataform.v1.QueryTeamFolderContentsResponse + */ +class QueryTeamFolderContentsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * List of entries in the TeamFolder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryTeamFolderContentsResponse.TeamFolderContentsEntry entries = 1; + */ + private $entries; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse\TeamFolderContentsEntry[] $entries + * List of entries in the TeamFolder. + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * List of entries in the TeamFolder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryTeamFolderContentsResponse.TeamFolderContentsEntry entries = 1; + * @return RepeatedField<\Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse\TeamFolderContentsEntry> + */ + public function getEntries() + { + return $this->entries; + } + + /** + * List of entries in the TeamFolder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryTeamFolderContentsResponse.TeamFolderContentsEntry entries = 1; + * @param \Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse\TeamFolderContentsEntry[] $var + * @return $this + */ + public function setEntries($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse\TeamFolderContentsEntry::class); + $this->entries = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryTeamFolderContentsResponse/TeamFolderContentsEntry.php b/Dataform/src/V1/QueryTeamFolderContentsResponse/TeamFolderContentsEntry.php new file mode 100644 index 000000000000..73585d7013d7 --- /dev/null +++ b/Dataform/src/V1/QueryTeamFolderContentsResponse/TeamFolderContentsEntry.php @@ -0,0 +1,108 @@ +google.cloud.dataform.v1.QueryTeamFolderContentsResponse.TeamFolderContentsEntry + */ +class TeamFolderContentsEntry extends \Google\Protobuf\Internal\Message +{ + protected $entry; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\Folder $folder + * A subfolder. + * @type \Google\Cloud\Dataform\V1\Repository $repository + * A repository. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @return \Google\Cloud\Dataform\V1\Folder|null + */ + public function getFolder() + { + return $this->readOneof(1); + } + + public function hasFolder() + { + return $this->hasOneof(1); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @param \Google\Cloud\Dataform\V1\Folder $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Folder::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @return \Google\Cloud\Dataform\V1\Repository|null + */ + public function getRepository() + { + return $this->readOneof(2); + } + + public function hasRepository() + { + return $this->hasOneof(2); + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @param \Google\Cloud\Dataform\V1\Repository $var + * @return $this + */ + public function setRepository($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Repository::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getEntry() + { + return $this->whichOneof("entry"); + } + +} + diff --git a/Dataform/src/V1/QueryUserRootContentsRequest.php b/Dataform/src/V1/QueryUserRootContentsRequest.php new file mode 100644 index 000000000000..d67d77387316 --- /dev/null +++ b/Dataform/src/V1/QueryUserRootContentsRequest.php @@ -0,0 +1,278 @@ +google.cloud.dataform.v1.QueryUserRootContentsRequest + */ +class QueryUserRootContentsRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Location of the user root folder whose contents to list. + * Format: projects/{@*}locations/* + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $location = ''; + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. Page token received from a previous `QueryUserRootContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryUserRootFolderContents`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), created_at, + * last_modified_at. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + + /** + * @param string $location Required. Location of the user root folder whose contents to list. + * Format: projects/*/locations/* + * Please see {@see DataformClient::locationName()} for help formatting this field. + * + * @return \Google\Cloud\Dataform\V1\QueryUserRootContentsRequest + * + * @experimental + */ + public static function build(string $location): self + { + return (new self()) + ->setLocation($location); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $location + * Required. Location of the user root folder whose contents to list. + * Format: projects/{@*}locations/* + * @type int $page_size + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * @type string $page_token + * Optional. Page token received from a previous `QueryUserRootContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryUserRootFolderContents`, with the exception of `page_size`, must + * match the call that provided the page token. + * @type string $order_by + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), created_at, + * last_modified_at. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * @type string $filter + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. Location of the user root folder whose contents to list. + * Format: projects/{@*}locations/* + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getLocation() + { + return $this->location; + } + + /** + * Required. Location of the user root folder whose contents to list. + * Format: projects/{@*}locations/* + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setLocation($var) + { + GPBUtil::checkString($var, True); + $this->location = $var; + + return $this; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum number of paths to return. The server may return fewer + * items than requested. If unspecified, the server will pick an appropriate + * default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. Page token received from a previous `QueryUserRootContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryUserRootFolderContents`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. Page token received from a previous `QueryUserRootContents` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `QueryUserRootFolderContents`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), created_at, + * last_modified_at. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Field to additionally sort results by. + * Will order Folders before Repositories, and then by `order_by` in ascending + * order. Supported keywords: display_name (default), created_at, + * last_modified_at. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryUserRootContentsResponse.php b/Dataform/src/V1/QueryUserRootContentsResponse.php new file mode 100644 index 000000000000..9b0629ce8dce --- /dev/null +++ b/Dataform/src/V1/QueryUserRootContentsResponse.php @@ -0,0 +1,105 @@ +google.cloud.dataform.v1.QueryUserRootContentsResponse + */ +class QueryUserRootContentsResponse extends \Google\Protobuf\Internal\Message +{ + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryUserRootContentsResponse.RootContentsEntry entries = 1; + */ + private $entries; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\QueryUserRootContentsResponse\RootContentsEntry[] $entries + * List of entries in the folder. + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryUserRootContentsResponse.RootContentsEntry entries = 1; + * @return RepeatedField<\Google\Cloud\Dataform\V1\QueryUserRootContentsResponse\RootContentsEntry> + */ + public function getEntries() + { + return $this->entries; + } + + /** + * List of entries in the folder. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.QueryUserRootContentsResponse.RootContentsEntry entries = 1; + * @param \Google\Cloud\Dataform\V1\QueryUserRootContentsResponse\RootContentsEntry[] $var + * @return $this + */ + public function setEntries($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataform\V1\QueryUserRootContentsResponse\RootContentsEntry::class); + $this->entries = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/QueryUserRootContentsResponse/RootContentsEntry.php b/Dataform/src/V1/QueryUserRootContentsResponse/RootContentsEntry.php new file mode 100644 index 000000000000..c00b2b2018c1 --- /dev/null +++ b/Dataform/src/V1/QueryUserRootContentsResponse/RootContentsEntry.php @@ -0,0 +1,108 @@ +google.cloud.dataform.v1.QueryUserRootContentsResponse.RootContentsEntry + */ +class RootContentsEntry extends \Google\Protobuf\Internal\Message +{ + protected $entry; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\Folder $folder + * A subfolder. + * @type \Google\Cloud\Dataform\V1\Repository $repository + * A repository. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @return \Google\Cloud\Dataform\V1\Folder|null + */ + public function getFolder() + { + return $this->readOneof(1); + } + + public function hasFolder() + { + return $this->hasOneof(1); + } + + /** + * A subfolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 1; + * @param \Google\Cloud\Dataform\V1\Folder $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Folder::class); + $this->writeOneof(1, $var); + + return $this; + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @return \Google\Cloud\Dataform\V1\Repository|null + */ + public function getRepository() + { + return $this->readOneof(2); + } + + public function hasRepository() + { + return $this->hasOneof(2); + } + + /** + * A repository. + * + * Generated from protobuf field .google.cloud.dataform.v1.Repository repository = 2; + * @param \Google\Cloud\Dataform\V1\Repository $var + * @return $this + */ + public function setRepository($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Repository::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getEntry() + { + return $this->whichOneof("entry"); + } + +} + diff --git a/Dataform/src/V1/Repository.php b/Dataform/src/V1/Repository.php index b82e83f204ca..9ba215fd29eb 100644 --- a/Dataform/src/V1/Repository.php +++ b/Dataform/src/V1/Repository.php @@ -21,6 +21,25 @@ class Repository extends \Google\Protobuf\Internal\Message * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; */ protected $name = ''; + /** + * Optional. The name of the containing folder of the repository. + * The field is immutable and it can be modified via a MoveRepository + * operation. + * Format: `projects/{@*}locations/{@*}folders/*`. or + * `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field optional string containing_folder = 16 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $containing_folder = null; + /** + * Output only. The resource name of the TeamFolder that this Repository is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Repository is not associated with a TeamFolder. + * + * Generated from protobuf field optional string team_folder_name = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $team_folder_name = null; /** * Output only. The timestamp of when the repository was created. * @@ -110,6 +129,17 @@ class Repository extends \Google\Protobuf\Internal\Message * * @type string $name * Identifier. The repository's name. + * @type string $containing_folder + * Optional. The name of the containing folder of the repository. + * The field is immutable and it can be modified via a MoveRepository + * operation. + * Format: `projects/{@*}locations/{@*}folders/*`. or + * `projects/{@*}locations/{@*}teamFolders/*`. + * @type string $team_folder_name + * Output only. The resource name of the TeamFolder that this Repository is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Repository is not associated with a TeamFolder. * @type \Google\Protobuf\Timestamp $create_time * Output only. The timestamp of when the repository was created. * @type string $display_name @@ -179,6 +209,92 @@ public function setName($var) return $this; } + /** + * Optional. The name of the containing folder of the repository. + * The field is immutable and it can be modified via a MoveRepository + * operation. + * Format: `projects/{@*}locations/{@*}folders/*`. or + * `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field optional string containing_folder = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getContainingFolder() + { + return isset($this->containing_folder) ? $this->containing_folder : ''; + } + + public function hasContainingFolder() + { + return isset($this->containing_folder); + } + + public function clearContainingFolder() + { + unset($this->containing_folder); + } + + /** + * Optional. The name of the containing folder of the repository. + * The field is immutable and it can be modified via a MoveRepository + * operation. + * Format: `projects/{@*}locations/{@*}folders/*`. or + * `projects/{@*}locations/{@*}teamFolders/*`. + * + * Generated from protobuf field optional string containing_folder = 16 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setContainingFolder($var) + { + GPBUtil::checkString($var, True); + $this->containing_folder = $var; + + return $this; + } + + /** + * Output only. The resource name of the TeamFolder that this Repository is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Repository is not associated with a TeamFolder. + * + * Generated from protobuf field optional string team_folder_name = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getTeamFolderName() + { + return isset($this->team_folder_name) ? $this->team_folder_name : ''; + } + + public function hasTeamFolderName() + { + return isset($this->team_folder_name); + } + + public function clearTeamFolderName() + { + unset($this->team_folder_name); + } + + /** + * Output only. The resource name of the TeamFolder that this Repository is + * associated with. This should take the format: + * projects/{project}/locations/{location}/teamFolders/{teamFolder}. If this + * is not set, the Repository is not associated with a TeamFolder. + * + * Generated from protobuf field optional string team_folder_name = 18 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setTeamFolderName($var) + { + GPBUtil::checkString($var, True); + $this->team_folder_name = $var; + + return $this; + } + /** * Output only. The timestamp of when the repository was created. * diff --git a/Dataform/src/V1/SearchTeamFoldersRequest.php b/Dataform/src/V1/SearchTeamFoldersRequest.php new file mode 100644 index 000000000000..05db4668a6ae --- /dev/null +++ b/Dataform/src/V1/SearchTeamFoldersRequest.php @@ -0,0 +1,259 @@ +google.cloud.dataform.v1.SearchTeamFoldersRequest + */ +class SearchTeamFoldersRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Location in which to query TeamFolders. + * Format: `projects/{@*}locations/*`. + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $location = ''; + /** + * Optional. Maximum number of TeamFolders to return. The server may return + * fewer items than requested. If unspecified, the server will pick an + * appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_size = 0; + /** + * Optional. Page token received from a previous `SearchTeamFolders` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `SearchTeamFolders`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $page_token = ''; + /** + * Optional. Field to additionally sort results by. + * Supported keywords: `display_name` (default), `create_time`, + * `last_modified_time`. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $order_by = ''; + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $filter = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $location + * Required. Location in which to query TeamFolders. + * Format: `projects/{@*}locations/*`. + * @type int $page_size + * Optional. Maximum number of TeamFolders to return. The server may return + * fewer items than requested. If unspecified, the server will pick an + * appropriate default. + * @type string $page_token + * Optional. Page token received from a previous `SearchTeamFolders` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `SearchTeamFolders`, with the exception of `page_size`, must + * match the call that provided the page token. + * @type string $order_by + * Optional. Field to additionally sort results by. + * Supported keywords: `display_name` (default), `create_time`, + * `last_modified_time`. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * @type string $filter + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Required. Location in which to query TeamFolders. + * Format: `projects/{@*}locations/*`. + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getLocation() + { + return $this->location; + } + + /** + * Required. Location in which to query TeamFolders. + * Format: `projects/{@*}locations/*`. + * + * Generated from protobuf field string location = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setLocation($var) + { + GPBUtil::checkString($var, True); + $this->location = $var; + + return $this; + } + + /** + * Optional. Maximum number of TeamFolders to return. The server may return + * fewer items than requested. If unspecified, the server will pick an + * appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return int + */ + public function getPageSize() + { + return $this->page_size; + } + + /** + * Optional. Maximum number of TeamFolders to return. The server may return + * fewer items than requested. If unspecified, the server will pick an + * appropriate default. + * + * Generated from protobuf field int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param int $var + * @return $this + */ + public function setPageSize($var) + { + GPBUtil::checkInt32($var); + $this->page_size = $var; + + return $this; + } + + /** + * Optional. Page token received from a previous `SearchTeamFolders` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `SearchTeamFolders`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPageToken() + { + return $this->page_token; + } + + /** + * Optional. Page token received from a previous `SearchTeamFolders` call. + * Provide this to retrieve the subsequent page. + * When paginating, all other parameters provided to + * `SearchTeamFolders`, with the exception of `page_size`, must + * match the call that provided the page token. + * + * Generated from protobuf field string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPageToken($var) + { + GPBUtil::checkString($var, True); + $this->page_token = $var; + + return $this; + } + + /** + * Optional. Field to additionally sort results by. + * Supported keywords: `display_name` (default), `create_time`, + * `last_modified_time`. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getOrderBy() + { + return $this->order_by; + } + + /** + * Optional. Field to additionally sort results by. + * Supported keywords: `display_name` (default), `create_time`, + * `last_modified_time`. Examples: + * - `orderBy="display_name"` + * - `orderBy="display_name desc"` + * + * Generated from protobuf field string order_by = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setOrderBy($var) + { + GPBUtil::checkString($var, True); + $this->order_by = $var; + + return $this; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getFilter() + { + return $this->filter; + } + + /** + * Optional. Optional filtering for the returned list. Filtering is currently + * only supported on the `display_name` field. + * Example: + * - `filter="display_name="MyFolder""` + * + * Generated from protobuf field string filter = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setFilter($var) + { + GPBUtil::checkString($var, True); + $this->filter = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/SearchTeamFoldersResponse.php b/Dataform/src/V1/SearchTeamFoldersResponse.php new file mode 100644 index 000000000000..e3da62fe6078 --- /dev/null +++ b/Dataform/src/V1/SearchTeamFoldersResponse.php @@ -0,0 +1,105 @@ +google.cloud.dataform.v1.SearchTeamFoldersResponse + */ +class SearchTeamFoldersResponse extends \Google\Protobuf\Internal\Message +{ + /** + * List of TeamFolders that match the search query. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.SearchTeamFoldersResponse.TeamFolderSearchResult results = 1; + */ + private $results; + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + */ + protected $next_page_token = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\SearchTeamFoldersResponse\TeamFolderSearchResult[] $results + * List of TeamFolders that match the search query. + * @type string $next_page_token + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * List of TeamFolders that match the search query. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.SearchTeamFoldersResponse.TeamFolderSearchResult results = 1; + * @return RepeatedField<\Google\Cloud\Dataform\V1\SearchTeamFoldersResponse\TeamFolderSearchResult> + */ + public function getResults() + { + return $this->results; + } + + /** + * List of TeamFolders that match the search query. + * + * Generated from protobuf field repeated .google.cloud.dataform.v1.SearchTeamFoldersResponse.TeamFolderSearchResult results = 1; + * @param \Google\Cloud\Dataform\V1\SearchTeamFoldersResponse\TeamFolderSearchResult[] $var + * @return $this + */ + public function setResults($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::MESSAGE, \Google\Cloud\Dataform\V1\SearchTeamFoldersResponse\TeamFolderSearchResult::class); + $this->results = $arr; + + return $this; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @return string + */ + public function getNextPageToken() + { + return $this->next_page_token; + } + + /** + * A token, which can be sent as `page_token` to retrieve the next page. + * If this field is omitted, there are no subsequent pages. + * + * Generated from protobuf field string next_page_token = 2; + * @param string $var + * @return $this + */ + public function setNextPageToken($var) + { + GPBUtil::checkString($var, True); + $this->next_page_token = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/SearchTeamFoldersResponse/TeamFolderSearchResult.php b/Dataform/src/V1/SearchTeamFoldersResponse/TeamFolderSearchResult.php new file mode 100644 index 000000000000..cba7e67e139e --- /dev/null +++ b/Dataform/src/V1/SearchTeamFoldersResponse/TeamFolderSearchResult.php @@ -0,0 +1,75 @@ +google.cloud.dataform.v1.SearchTeamFoldersResponse.TeamFolderSearchResult + */ +class TeamFolderSearchResult extends \Google\Protobuf\Internal\Message +{ + protected $entry; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Cloud\Dataform\V1\TeamFolder $team_folder + * A TeamFolder resource that is in the project / location. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * A TeamFolder resource that is in the project / location. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2; + * @return \Google\Cloud\Dataform\V1\TeamFolder|null + */ + public function getTeamFolder() + { + return $this->readOneof(2); + } + + public function hasTeamFolder() + { + return $this->hasOneof(2); + } + + /** + * A TeamFolder resource that is in the project / location. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2; + * @param \Google\Cloud\Dataform\V1\TeamFolder $var + * @return $this + */ + public function setTeamFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\TeamFolder::class); + $this->writeOneof(2, $var); + + return $this; + } + + /** + * @return string + */ + public function getEntry() + { + return $this->whichOneof("entry"); + } + +} + diff --git a/Dataform/src/V1/TeamFolder.php b/Dataform/src/V1/TeamFolder.php new file mode 100644 index 000000000000..9d34ef327424 --- /dev/null +++ b/Dataform/src/V1/TeamFolder.php @@ -0,0 +1,287 @@ +google.cloud.dataform.v1.TeamFolder + */ +class TeamFolder extends \Google\Protobuf\Internal\Message +{ + /** + * Identifier. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + */ + protected $name = ''; + /** + * Required. The TeamFolder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $display_name = ''; + /** + * Output only. The timestamp of when the TeamFolder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $create_time = null; + /** + * Output only. The timestamp of when the TeamFolder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $update_time = null; + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $internal_metadata = null; + /** + * Output only. The IAM principal identifier of the creator of the TeamFolder. + * + * Generated from protobuf field optional string creator_iam_principal = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $creator_iam_principal = null; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Identifier. The TeamFolder's name. + * @type string $display_name + * Required. The TeamFolder's user-friendly name. + * @type \Google\Protobuf\Timestamp $create_time + * Output only. The timestamp of when the TeamFolder was created. + * @type \Google\Protobuf\Timestamp $update_time + * Output only. The timestamp of when the TeamFolder was last updated. + * @type string $internal_metadata + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * @type string $creator_iam_principal + * Output only. The IAM principal identifier of the creator of the TeamFolder. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Identifier. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @return string + */ + public function getName() + { + return $this->name; + } + + /** + * Identifier. The TeamFolder's name. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = IDENTIFIER]; + * @param string $var + * @return $this + */ + public function setName($var) + { + GPBUtil::checkString($var, True); + $this->name = $var; + + return $this; + } + + /** + * Required. The TeamFolder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getDisplayName() + { + return $this->display_name; + } + + /** + * Required. The TeamFolder's user-friendly name. + * + * Generated from protobuf field string display_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setDisplayName($var) + { + GPBUtil::checkString($var, True); + $this->display_name = $var; + + return $this; + } + + /** + * Output only. The timestamp of when the TeamFolder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCreateTime() + { + return $this->create_time; + } + + public function hasCreateTime() + { + return isset($this->create_time); + } + + public function clearCreateTime() + { + unset($this->create_time); + } + + /** + * Output only. The timestamp of when the TeamFolder was created. + * + * Generated from protobuf field .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCreateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->create_time = $var; + + return $this; + } + + /** + * Output only. The timestamp of when the TeamFolder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getUpdateTime() + { + return $this->update_time; + } + + public function hasUpdateTime() + { + return isset($this->update_time); + } + + public function clearUpdateTime() + { + unset($this->update_time); + } + + /** + * Output only. The timestamp of when the TeamFolder was last updated. + * + * Generated from protobuf field .google.protobuf.Timestamp update_time = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setUpdateTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->update_time = $var; + + return $this; + } + + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getInternalMetadata() + { + return isset($this->internal_metadata) ? $this->internal_metadata : ''; + } + + public function hasInternalMetadata() + { + return isset($this->internal_metadata); + } + + public function clearInternalMetadata() + { + unset($this->internal_metadata); + } + + /** + * Output only. All the metadata information that is used internally to serve + * the resource. For example: timestamps, flags, status fields, etc. The + * format of this field is a JSON string. + * + * Generated from protobuf field optional string internal_metadata = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setInternalMetadata($var) + { + GPBUtil::checkString($var, True); + $this->internal_metadata = $var; + + return $this; + } + + /** + * Output only. The IAM principal identifier of the creator of the TeamFolder. + * + * Generated from protobuf field optional string creator_iam_principal = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return string + */ + public function getCreatorIamPrincipal() + { + return isset($this->creator_iam_principal) ? $this->creator_iam_principal : ''; + } + + public function hasCreatorIamPrincipal() + { + return isset($this->creator_iam_principal); + } + + public function clearCreatorIamPrincipal() + { + unset($this->creator_iam_principal); + } + + /** + * Output only. The IAM principal identifier of the creator of the TeamFolder. + * + * Generated from protobuf field optional string creator_iam_principal = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param string $var + * @return $this + */ + public function setCreatorIamPrincipal($var) + { + GPBUtil::checkString($var, True); + $this->creator_iam_principal = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/UpdateFolderRequest.php b/Dataform/src/V1/UpdateFolderRequest.php new file mode 100644 index 000000000000..80f42ebbc6fd --- /dev/null +++ b/Dataform/src/V1/UpdateFolderRequest.php @@ -0,0 +1,151 @@ +google.cloud.dataform.v1.UpdateFolderRequest + */ +class UpdateFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields that can be updated, will be updated. A few fields cannot be + * updated and will be ignored if specified in the update_mask (e.g. + * parent_name, team_folder_name). + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + /** + * Required. The updated Folder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $folder = null; + + /** + * @param \Google\Cloud\Dataform\V1\Folder $folder Required. The updated Folder. + * @param \Google\Protobuf\FieldMask $updateMask Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields that can be updated, will be updated. A few fields cannot be + * updated and will be ignored if specified in the update_mask (e.g. + * parent_name, team_folder_name). + * + * @return \Google\Cloud\Dataform\V1\UpdateFolderRequest + * + * @experimental + */ + public static function build(\Google\Cloud\Dataform\V1\Folder $folder, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setFolder($folder) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields that can be updated, will be updated. A few fields cannot be + * updated and will be ignored if specified in the update_mask (e.g. + * parent_name, team_folder_name). + * @type \Google\Cloud\Dataform\V1\Folder $folder + * Required. The updated Folder. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields that can be updated, will be updated. A few fields cannot be + * updated and will be ignored if specified in the update_mask (e.g. + * parent_name, team_folder_name). + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields that can be updated, will be updated. A few fields cannot be + * updated and will be ignored if specified in the update_mask (e.g. + * parent_name, team_folder_name). + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + + /** + * Required. The updated Folder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataform\V1\Folder|null + */ + public function getFolder() + { + return $this->folder; + } + + public function hasFolder() + { + return isset($this->folder); + } + + public function clearFolder() + { + unset($this->folder); + } + + /** + * Required. The updated Folder. + * + * Generated from protobuf field .google.cloud.dataform.v1.Folder folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataform\V1\Folder $var + * @return $this + */ + public function setFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\Folder::class); + $this->folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/UpdateTeamFolderRequest.php b/Dataform/src/V1/UpdateTeamFolderRequest.php new file mode 100644 index 000000000000..386d88c4b2b7 --- /dev/null +++ b/Dataform/src/V1/UpdateTeamFolderRequest.php @@ -0,0 +1,141 @@ +google.cloud.dataform.v1.UpdateTeamFolderRequest + */ +class UpdateTeamFolderRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields will be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $update_mask = null; + /** + * Required. The updated TeamFolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $team_folder = null; + + /** + * @param \Google\Cloud\Dataform\V1\TeamFolder $teamFolder Required. The updated TeamFolder. + * @param \Google\Protobuf\FieldMask $updateMask Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields will be updated. + * + * @return \Google\Cloud\Dataform\V1\UpdateTeamFolderRequest + * + * @experimental + */ + public static function build(\Google\Cloud\Dataform\V1\TeamFolder $teamFolder, \Google\Protobuf\FieldMask $updateMask): self + { + return (new self()) + ->setTeamFolder($teamFolder) + ->setUpdateMask($updateMask); + } + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type \Google\Protobuf\FieldMask $update_mask + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields will be updated. + * @type \Google\Cloud\Dataform\V1\TeamFolder $team_folder + * Required. The updated TeamFolder. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Dataform\V1\Dataform::initOnce(); + parent::__construct($data); + } + + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields will be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\FieldMask|null + */ + public function getUpdateMask() + { + return $this->update_mask; + } + + public function hasUpdateMask() + { + return isset($this->update_mask); + } + + public function clearUpdateMask() + { + unset($this->update_mask); + } + + /** + * Optional. Specifies the fields to be updated in the Folder. If left unset, + * all fields will be updated. + * + * Generated from protobuf field .google.protobuf.FieldMask update_mask = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\FieldMask $var + * @return $this + */ + public function setUpdateMask($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\FieldMask::class); + $this->update_mask = $var; + + return $this; + } + + /** + * Required. The updated TeamFolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Cloud\Dataform\V1\TeamFolder|null + */ + public function getTeamFolder() + { + return $this->team_folder; + } + + public function hasTeamFolder() + { + return isset($this->team_folder); + } + + public function clearTeamFolder() + { + unset($this->team_folder); + } + + /** + * Required. The updated TeamFolder. + * + * Generated from protobuf field .google.cloud.dataform.v1.TeamFolder team_folder = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param \Google\Cloud\Dataform\V1\TeamFolder $var + * @return $this + */ + public function setTeamFolder($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\TeamFolder::class); + $this->team_folder = $var; + + return $this; + } + +} + diff --git a/Dataform/src/V1/WorkflowInvocation.php b/Dataform/src/V1/WorkflowInvocation.php index d841c5eeafbf..72c84712767e 100644 --- a/Dataform/src/V1/WorkflowInvocation.php +++ b/Dataform/src/V1/WorkflowInvocation.php @@ -61,6 +61,14 @@ class WorkflowInvocation extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional string internal_metadata = 9 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $internal_metadata = null; + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `WorkflowInvocation` resource is `user_scoped` only if it is sourced + * from a compilation result and the compilation result is user-scoped. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $private_resource_metadata = null; protected $compilation_source; /** @@ -94,6 +102,10 @@ class WorkflowInvocation extends \Google\Protobuf\Internal\Message * Output only. All the metadata information that is used internally to serve * the resource. For example: timestamps, flags, status fields, etc. The * format of this field is a JSON string. + * @type \Google\Cloud\Dataform\V1\PrivateResourceMetadata $private_resource_metadata + * Output only. Metadata indicating whether this resource is user-scoped. + * `WorkflowInvocation` resource is `user_scoped` only if it is sourced + * from a compilation result and the compilation result is user-scoped. * } */ public function __construct($data = NULL) { @@ -399,6 +411,46 @@ public function setInternalMetadata($var) return $this; } + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `WorkflowInvocation` resource is `user_scoped` only if it is sourced + * from a compilation result and the compilation result is user-scoped. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataform\V1\PrivateResourceMetadata|null + */ + public function getPrivateResourceMetadata() + { + return $this->private_resource_metadata; + } + + public function hasPrivateResourceMetadata() + { + return isset($this->private_resource_metadata); + } + + public function clearPrivateResourceMetadata() + { + unset($this->private_resource_metadata); + } + + /** + * Output only. Metadata indicating whether this resource is user-scoped. + * `WorkflowInvocation` resource is `user_scoped` only if it is sourced + * from a compilation result and the compilation result is user-scoped. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 10 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataform\V1\PrivateResourceMetadata $var + * @return $this + */ + public function setPrivateResourceMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\PrivateResourceMetadata::class); + $this->private_resource_metadata = $var; + + return $this; + } + /** * @return string */ diff --git a/Dataform/src/V1/Workspace.php b/Dataform/src/V1/Workspace.php index 592de187bfd4..faf340c6da16 100644 --- a/Dataform/src/V1/Workspace.php +++ b/Dataform/src/V1/Workspace.php @@ -42,6 +42,20 @@ class Workspace extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional string internal_metadata = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $internal_metadata = null; + /** + * Optional. If set to true, workspaces will not be moved if its linked + * Repository is moved. Instead, it will be deleted. + * + * Generated from protobuf field optional bool disable_moves = 6 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $disable_moves = null; + /** + * Output only. Metadata indicating whether this resource is user-scoped. For + * `Workspace` resources, the `user_scoped` field is always `true`. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $private_resource_metadata = null; /** * Constructor. @@ -60,6 +74,12 @@ class Workspace extends \Google\Protobuf\Internal\Message * Output only. All the metadata information that is used internally to serve * the resource. For example: timestamps, flags, status fields, etc. The * format of this field is a JSON string. + * @type bool $disable_moves + * Optional. If set to true, workspaces will not be moved if its linked + * Repository is moved. Instead, it will be deleted. + * @type \Google\Cloud\Dataform\V1\PrivateResourceMetadata $private_resource_metadata + * Output only. Metadata indicating whether this resource is user-scoped. For + * `Workspace` resources, the `user_scoped` field is always `true`. * } */ public function __construct($data = NULL) { @@ -207,5 +227,81 @@ public function setInternalMetadata($var) return $this; } + /** + * Optional. If set to true, workspaces will not be moved if its linked + * Repository is moved. Instead, it will be deleted. + * + * Generated from protobuf field optional bool disable_moves = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return bool + */ + public function getDisableMoves() + { + return isset($this->disable_moves) ? $this->disable_moves : false; + } + + public function hasDisableMoves() + { + return isset($this->disable_moves); + } + + public function clearDisableMoves() + { + unset($this->disable_moves); + } + + /** + * Optional. If set to true, workspaces will not be moved if its linked + * Repository is moved. Instead, it will be deleted. + * + * Generated from protobuf field optional bool disable_moves = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param bool $var + * @return $this + */ + public function setDisableMoves($var) + { + GPBUtil::checkBool($var); + $this->disable_moves = $var; + + return $this; + } + + /** + * Output only. Metadata indicating whether this resource is user-scoped. For + * `Workspace` resources, the `user_scoped` field is always `true`. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\Dataform\V1\PrivateResourceMetadata|null + */ + public function getPrivateResourceMetadata() + { + return $this->private_resource_metadata; + } + + public function hasPrivateResourceMetadata() + { + return isset($this->private_resource_metadata); + } + + public function clearPrivateResourceMetadata() + { + unset($this->private_resource_metadata); + } + + /** + * Output only. Metadata indicating whether this resource is user-scoped. For + * `Workspace` resources, the `user_scoped` field is always `true`. + * + * Generated from protobuf field .google.cloud.dataform.v1.PrivateResourceMetadata private_resource_metadata = 8 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\Dataform\V1\PrivateResourceMetadata $var + * @return $this + */ + public function setPrivateResourceMetadata($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\Dataform\V1\PrivateResourceMetadata::class); + $this->private_resource_metadata = $var; + + return $this; + } + } diff --git a/Dataform/src/V1/gapic_metadata.json b/Dataform/src/V1/gapic_metadata.json index 339652a3664c..eef79e941f70 100644 --- a/Dataform/src/V1/gapic_metadata.json +++ b/Dataform/src/V1/gapic_metadata.json @@ -35,6 +35,11 @@ "createCompilationResult" ] }, + "CreateFolder": { + "methods": [ + "createFolder" + ] + }, "CreateReleaseConfig": { "methods": [ "createReleaseConfig" @@ -45,6 +50,11 @@ "createRepository" ] }, + "CreateTeamFolder": { + "methods": [ + "createTeamFolder" + ] + }, "CreateWorkflowConfig": { "methods": [ "createWorkflowConfig" @@ -60,6 +70,16 @@ "createWorkspace" ] }, + "DeleteFolder": { + "methods": [ + "deleteFolder" + ] + }, + "DeleteFolderTree": { + "methods": [ + "deleteFolderTree" + ] + }, "DeleteReleaseConfig": { "methods": [ "deleteReleaseConfig" @@ -70,6 +90,16 @@ "deleteRepository" ] }, + "DeleteTeamFolder": { + "methods": [ + "deleteTeamFolder" + ] + }, + "DeleteTeamFolderTree": { + "methods": [ + "deleteTeamFolderTree" + ] + }, "DeleteWorkflowConfig": { "methods": [ "deleteWorkflowConfig" @@ -120,6 +150,16 @@ "getConfig" ] }, + "GetFolder": { + "methods": [ + "getFolder" + ] + }, + "GetIamPolicy": { + "methods": [ + "getIamPolicy" + ] + }, "GetReleaseConfig": { "methods": [ "getReleaseConfig" @@ -130,6 +170,11 @@ "getRepository" ] }, + "GetTeamFolder": { + "methods": [ + "getTeamFolder" + ] + }, "GetWorkflowConfig": { "methods": [ "getWorkflowConfig" @@ -195,6 +240,16 @@ "moveFile" ] }, + "MoveFolder": { + "methods": [ + "moveFolder" + ] + }, + "MoveRepository": { + "methods": [ + "moveRepository" + ] + }, "PullGitCommits": { "methods": [ "pullGitCommits" @@ -215,11 +270,26 @@ "queryDirectoryContents" ] }, + "QueryFolderContents": { + "methods": [ + "queryFolderContents" + ] + }, "QueryRepositoryDirectoryContents": { "methods": [ "queryRepositoryDirectoryContents" ] }, + "QueryTeamFolderContents": { + "methods": [ + "queryTeamFolderContents" + ] + }, + "QueryUserRootContents": { + "methods": [ + "queryUserRootContents" + ] + }, "QueryWorkflowInvocationActions": { "methods": [ "queryWorkflowInvocationActions" @@ -255,11 +325,31 @@ "searchFiles" ] }, + "SearchTeamFolders": { + "methods": [ + "searchTeamFolders" + ] + }, + "SetIamPolicy": { + "methods": [ + "setIamPolicy" + ] + }, + "TestIamPermissions": { + "methods": [ + "testIamPermissions" + ] + }, "UpdateConfig": { "methods": [ "updateConfig" ] }, + "UpdateFolder": { + "methods": [ + "updateFolder" + ] + }, "UpdateReleaseConfig": { "methods": [ "updateReleaseConfig" @@ -270,6 +360,11 @@ "updateRepository" ] }, + "UpdateTeamFolder": { + "methods": [ + "updateTeamFolder" + ] + }, "UpdateWorkflowConfig": { "methods": [ "updateWorkflowConfig" @@ -280,29 +375,34 @@ "writeFile" ] }, - "GetLocation": { + "CancelOperation": { "methods": [ - "getLocation" + "cancelOperation" ] }, - "ListLocations": { + "DeleteOperation": { "methods": [ - "listLocations" + "deleteOperation" ] }, - "GetIamPolicy": { + "GetOperation": { "methods": [ - "getIamPolicy" + "getOperation" ] }, - "SetIamPolicy": { + "ListOperations": { "methods": [ - "setIamPolicy" + "listOperations" ] }, - "TestIamPermissions": { + "GetLocation": { "methods": [ - "testIamPermissions" + "getLocation" + ] + }, + "ListLocations": { + "methods": [ + "listLocations" ] } } diff --git a/Dataform/src/V1/resources/dataform_client_config.json b/Dataform/src/V1/resources/dataform_client_config.json index 23fc9c021d2c..49882f361ea1 100644 --- a/Dataform/src/V1/resources/dataform_client_config.json +++ b/Dataform/src/V1/resources/dataform_client_config.json @@ -53,6 +53,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "CreateFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "CreateReleaseConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -63,6 +68,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "CreateTeamFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "CreateWorkflowConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -78,6 +88,16 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "DeleteFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "DeleteFolderTree": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "DeleteReleaseConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -88,6 +108,16 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "DeleteTeamFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "DeleteTeamFolderTree": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "DeleteWorkflowConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -138,6 +168,16 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "GetFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "GetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "GetReleaseConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -148,6 +188,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "GetTeamFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "GetWorkflowConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -213,6 +258,16 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "MoveFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "MoveRepository": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "PullGitCommits": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -233,11 +288,26 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "QueryFolderContents": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "QueryRepositoryDirectoryContents": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "QueryTeamFolderContents": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "QueryUserRootContents": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "QueryWorkflowInvocationActions": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -273,11 +343,31 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "SearchTeamFolders": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "SetIamPolicy": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "TestIamPermissions": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "UpdateConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "UpdateFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "UpdateReleaseConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -288,6 +378,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "UpdateTeamFolder": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "UpdateWorkflowConfig": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", @@ -298,27 +393,32 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, - "GetLocation": { + "CancelOperation": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, - "ListLocations": { + "DeleteOperation": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, - "GetIamPolicy": { + "GetOperation": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, - "SetIamPolicy": { + "ListOperations": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, - "TestIamPermissions": { + "GetLocation": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, + "ListLocations": { "timeout_millis": 60000, "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" diff --git a/Dataform/src/V1/resources/dataform_descriptor_config.php b/Dataform/src/V1/resources/dataform_descriptor_config.php index 0f44f4646bf7..1daa72932b5d 100644 --- a/Dataform/src/V1/resources/dataform_descriptor_config.php +++ b/Dataform/src/V1/resources/dataform_descriptor_config.php @@ -23,6 +23,82 @@ return [ 'interfaces' => [ 'google.cloud.dataform.v1.Dataform' => [ + 'DeleteFolderTree' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Protobuf\GPBEmpty', + 'metadataReturnType' => '\Google\Cloud\Dataform\V1\DeleteFolderTreeMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'DeleteTeamFolderTree' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Protobuf\GPBEmpty', + 'metadataReturnType' => '\Google\Cloud\Dataform\V1\DeleteFolderTreeMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'MoveFolder' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Protobuf\GPBEmpty', + 'metadataReturnType' => '\Google\Cloud\Dataform\V1\MoveFolderMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'MoveRepository' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Protobuf\GPBEmpty', + 'metadataReturnType' => '\Google\Cloud\Dataform\V1\MoveRepositoryMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'CancelWorkflowInvocation' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\CancelWorkflowInvocationResponse', @@ -83,6 +159,18 @@ ], ], ], + 'CreateFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\Folder', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], 'CreateReleaseConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\ReleaseConfig', @@ -107,6 +195,18 @@ ], ], ], + 'CreateTeamFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\TeamFolder', + 'headerParams' => [ + [ + 'keyName' => 'parent', + 'fieldAccessors' => [ + 'getParent', + ], + ], + ], + ], 'CreateWorkflowConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\WorkflowConfig', @@ -143,6 +243,18 @@ ], ], ], + 'DeleteFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Protobuf\GPBEmpty', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'DeleteReleaseConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Protobuf\GPBEmpty', @@ -167,6 +279,18 @@ ], ], ], + 'DeleteTeamFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Protobuf\GPBEmpty', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'DeleteWorkflowConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Protobuf\GPBEmpty', @@ -295,6 +419,30 @@ ], ], ], + 'GetFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\Folder', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], + 'GetIamPolicy' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Iam\V1\Policy', + 'headerParams' => [ + [ + 'keyName' => 'resource', + 'fieldAccessors' => [ + 'getResource', + ], + ], + ], + ], 'GetReleaseConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\ReleaseConfig', @@ -319,6 +467,18 @@ ], ], ], + 'GetTeamFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\TeamFolder', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'GetWorkflowConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\WorkflowConfig', @@ -587,6 +747,26 @@ ], ], ], + 'QueryFolderContents' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getEntries', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\QueryFolderContentsResponse', + 'headerParams' => [ + [ + 'keyName' => 'folder', + 'fieldAccessors' => [ + 'getFolder', + ], + ], + ], + ], 'QueryRepositoryDirectoryContents' => [ 'pageStreaming' => [ 'requestPageTokenGetMethod' => 'getPageToken', @@ -607,6 +787,46 @@ ], ], ], + 'QueryTeamFolderContents' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getEntries', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse', + 'headerParams' => [ + [ + 'keyName' => 'team_folder', + 'fieldAccessors' => [ + 'getTeamFolder', + ], + ], + ], + ], + 'QueryUserRootContents' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getEntries', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\QueryUserRootContentsResponse', + 'headerParams' => [ + [ + 'keyName' => 'location', + 'fieldAccessors' => [ + 'getLocation', + ], + ], + ], + ], 'QueryWorkflowInvocationActions' => [ 'pageStreaming' => [ 'requestPageTokenGetMethod' => 'getPageToken', @@ -707,6 +927,50 @@ ], ], ], + 'SearchTeamFolders' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getResults', + ], + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\SearchTeamFoldersResponse', + 'headerParams' => [ + [ + 'keyName' => 'location', + 'fieldAccessors' => [ + 'getLocation', + ], + ], + ], + ], + 'SetIamPolicy' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Iam\V1\Policy', + 'headerParams' => [ + [ + 'keyName' => 'resource', + 'fieldAccessors' => [ + 'getResource', + ], + ], + ], + ], + 'TestIamPermissions' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Iam\V1\TestIamPermissionsResponse', + 'headerParams' => [ + [ + 'keyName' => 'resource', + 'fieldAccessors' => [ + 'getResource', + ], + ], + ], + ], 'UpdateConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\Config', @@ -720,6 +984,19 @@ ], ], ], + 'UpdateFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\Folder', + 'headerParams' => [ + [ + 'keyName' => 'folder.name', + 'fieldAccessors' => [ + 'getFolder', + 'getName', + ], + ], + ], + ], 'UpdateReleaseConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\ReleaseConfig', @@ -746,6 +1023,19 @@ ], ], ], + 'UpdateTeamFolder' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Cloud\Dataform\V1\TeamFolder', + 'headerParams' => [ + [ + 'keyName' => 'team_folder.name', + 'fieldAccessors' => [ + 'getTeamFolder', + 'getName', + ], + ], + ], + ], 'UpdateWorkflowConfig' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, 'responseType' => 'Google\Cloud\Dataform\V1\WorkflowConfig', @@ -771,9 +1061,9 @@ ], ], ], - 'GetLocation' => [ + 'CancelOperation' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, - 'responseType' => 'Google\Cloud\Location\Location', + 'responseType' => 'Google\Protobuf\GPBEmpty', 'headerParams' => [ [ 'keyName' => 'name', @@ -782,19 +1072,45 @@ ], ], ], - 'interfaceOverride' => 'google.cloud.location.Locations', + 'interfaceOverride' => 'google.longrunning.Operations', ], - 'ListLocations' => [ + 'DeleteOperation' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\Protobuf\GPBEmpty', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + 'interfaceOverride' => 'google.longrunning.Operations', + ], + 'GetOperation' => [ + 'callType' => \Google\ApiCore\Call::UNARY_CALL, + 'responseType' => 'Google\LongRunning\Operation', + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + 'interfaceOverride' => 'google.longrunning.Operations', + ], + 'ListOperations' => [ 'pageStreaming' => [ 'requestPageTokenGetMethod' => 'getPageToken', 'requestPageTokenSetMethod' => 'setPageToken', 'requestPageSizeGetMethod' => 'getPageSize', 'requestPageSizeSetMethod' => 'setPageSize', 'responsePageTokenGetMethod' => 'getNextPageToken', - 'resourcesGetMethod' => 'getLocations', + 'resourcesGetMethod' => 'getOperations', ], 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, - 'responseType' => 'Google\Cloud\Location\ListLocationsResponse', + 'responseType' => 'Google\LongRunning\ListOperationsResponse', 'headerParams' => [ [ 'keyName' => 'name', @@ -803,57 +1119,54 @@ ], ], ], - 'interfaceOverride' => 'google.cloud.location.Locations', + 'interfaceOverride' => 'google.longrunning.Operations', ], - 'GetIamPolicy' => [ + 'GetLocation' => [ 'callType' => \Google\ApiCore\Call::UNARY_CALL, - 'responseType' => 'Google\Cloud\Iam\V1\Policy', + 'responseType' => 'Google\Cloud\Location\Location', 'headerParams' => [ [ - 'keyName' => 'resource', + 'keyName' => 'name', 'fieldAccessors' => [ - 'getResource', + 'getName', ], ], ], - 'interfaceOverride' => 'google.iam.v1.IAMPolicy', + 'interfaceOverride' => 'google.cloud.location.Locations', ], - 'SetIamPolicy' => [ - 'callType' => \Google\ApiCore\Call::UNARY_CALL, - 'responseType' => 'Google\Cloud\Iam\V1\Policy', - 'headerParams' => [ - [ - 'keyName' => 'resource', - 'fieldAccessors' => [ - 'getResource', - ], - ], + 'ListLocations' => [ + 'pageStreaming' => [ + 'requestPageTokenGetMethod' => 'getPageToken', + 'requestPageTokenSetMethod' => 'setPageToken', + 'requestPageSizeGetMethod' => 'getPageSize', + 'requestPageSizeSetMethod' => 'setPageSize', + 'responsePageTokenGetMethod' => 'getNextPageToken', + 'resourcesGetMethod' => 'getLocations', ], - 'interfaceOverride' => 'google.iam.v1.IAMPolicy', - ], - 'TestIamPermissions' => [ - 'callType' => \Google\ApiCore\Call::UNARY_CALL, - 'responseType' => 'Google\Cloud\Iam\V1\TestIamPermissionsResponse', + 'callType' => \Google\ApiCore\Call::PAGINATED_CALL, + 'responseType' => 'Google\Cloud\Location\ListLocationsResponse', 'headerParams' => [ [ - 'keyName' => 'resource', + 'keyName' => 'name', 'fieldAccessors' => [ - 'getResource', + 'getName', ], ], ], - 'interfaceOverride' => 'google.iam.v1.IAMPolicy', + 'interfaceOverride' => 'google.cloud.location.Locations', ], 'templateMap' => [ 'compilationResult' => 'projects/{project}/locations/{location}/repositories/{repository}/compilationResults/{compilation_result}', 'config' => 'projects/{project}/locations/{location}/config', 'cryptoKey' => 'projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}', 'cryptoKeyVersion' => 'projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{crypto_key}/cryptoKeyVersions/{crypto_key_version}', + 'folder' => 'projects/{project}/locations/{location}/folders/{folder}', 'location' => 'projects/{project}/locations/{location}', 'notebookRuntimeTemplate' => 'projects/{project}/locations/{location}/notebookRuntimeTemplates/{notebook_runtime_template}', 'releaseConfig' => 'projects/{project}/locations/{location}/repositories/{repository}/releaseConfigs/{release_config}', 'repository' => 'projects/{project}/locations/{location}/repositories/{repository}', 'secretVersion' => 'projects/{project}/secrets/{secret}/versions/{version}', + 'teamFolder' => 'projects/{project}/locations/{location}/teamFolders/{team_folder}', 'workflowConfig' => 'projects/{project}/locations/{location}/repositories/{repository}/workflowConfigs/{workflow_config}', 'workflowInvocation' => 'projects/{project}/locations/{location}/repositories/{repository}/workflowInvocations/{workflow_invocation}', 'workspace' => 'projects/{project}/locations/{location}/repositories/{repository}/workspaces/{workspace}', diff --git a/Dataform/src/V1/resources/dataform_rest_client_config.php b/Dataform/src/V1/resources/dataform_rest_client_config.php index 8cae5ce6020f..011deebe861d 100644 --- a/Dataform/src/V1/resources/dataform_rest_client_config.php +++ b/Dataform/src/V1/resources/dataform_rest_client_config.php @@ -82,6 +82,18 @@ ], ], ], + 'CreateFolder' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/folders', + 'body' => 'folder', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], 'CreateReleaseConfig' => [ 'method' => 'post', 'uriTemplate' => '/v1/{parent=projects/*/locations/*/repositories/*}/releaseConfigs', @@ -112,6 +124,18 @@ 'repository_id', ], ], + 'CreateTeamFolder' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{parent=projects/*/locations/*}/teamFolders', + 'body' => 'team_folder', + 'placeholders' => [ + 'parent' => [ + 'getters' => [ + 'getParent', + ], + ], + ], + ], 'CreateWorkflowConfig' => [ 'method' => 'post', 'uriTemplate' => '/v1/{parent=projects/*/locations/*/repositories/*}/workflowConfigs', @@ -154,6 +178,29 @@ 'workspace_id', ], ], + 'DeleteFolder' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/folders/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'DeleteFolderTree' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/folders/*}:deleteTree', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'DeleteReleaseConfig' => [ 'method' => 'delete', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}', @@ -176,6 +223,29 @@ ], ], ], + 'DeleteTeamFolder' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/teamFolders/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'DeleteTeamFolderTree' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/teamFolders/*}:deleteTree', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'DeleteWorkflowConfig' => [ 'method' => 'delete', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}', @@ -286,6 +356,42 @@ ], ], ], + 'GetFolder' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/folders/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'GetIamPolicy' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:getIamPolicy', + 'additionalBindings' => [ + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:getIamPolicy', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/folders/*}:getIamPolicy', + ], + [ + 'method' => 'get', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/teamFolders/*}:getIamPolicy', + ], + ], + 'placeholders' => [ + 'resource' => [ + 'getters' => [ + 'getResource', + ], + ], + ], + ], 'GetReleaseConfig' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/releaseConfigs/*}', @@ -308,6 +414,17 @@ ], ], ], + 'GetTeamFolder' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/teamFolders/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'GetWorkflowConfig' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/workflowConfigs/*}', @@ -455,6 +572,30 @@ ], ], ], + 'MoveFolder' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/folders/*}:move', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], + 'MoveRepository' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*}:move', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'PullGitCommits' => [ 'method' => 'post', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/workspaces/*}:pull', @@ -501,6 +642,17 @@ ], ], ], + 'QueryFolderContents' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{folder=projects/*/locations/*/folders/*}:queryFolderContents', + 'placeholders' => [ + 'folder' => [ + 'getters' => [ + 'getFolder', + ], + ], + ], + ], 'QueryRepositoryDirectoryContents' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*}:queryDirectoryContents', @@ -512,6 +664,28 @@ ], ], ], + 'QueryTeamFolderContents' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{team_folder=projects/*/locations/*/teamFolders/*}:queryContents', + 'placeholders' => [ + 'team_folder' => [ + 'getters' => [ + 'getTeamFolder', + ], + ], + ], + ], + 'QueryUserRootContents' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{location=projects/*/locations/*}:queryUserRootContents', + 'placeholders' => [ + 'location' => [ + 'getters' => [ + 'getLocation', + ], + ], + ], + ], 'QueryWorkflowInvocationActions' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=projects/*/locations/*/repositories/*/workflowInvocations/*}:query', @@ -592,6 +766,75 @@ ], ], ], + 'SearchTeamFolders' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{location=projects/*/locations/*}/teamFolders:search', + 'placeholders' => [ + 'location' => [ + 'getters' => [ + 'getLocation', + ], + ], + ], + ], + 'SetIamPolicy' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:setIamPolicy', + 'body' => '*', + 'additionalBindings' => [ + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:setIamPolicy', + 'body' => '*', + ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/folders/*}:setIamPolicy', + 'body' => '*', + ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/teamFolders/*}:setIamPolicy', + 'body' => '*', + ], + ], + 'placeholders' => [ + 'resource' => [ + 'getters' => [ + 'getResource', + ], + ], + ], + ], + 'TestIamPermissions' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:testIamPermissions', + 'body' => '*', + 'additionalBindings' => [ + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:testIamPermissions', + 'body' => '*', + ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/folders/*}:testIamPermissions', + 'body' => '*', + ], + [ + 'method' => 'post', + 'uriTemplate' => '/v1/{resource=projects/*/locations/*/teamFolders/*}:testIamPermissions', + 'body' => '*', + ], + ], + 'placeholders' => [ + 'resource' => [ + 'getters' => [ + 'getResource', + ], + ], + ], + ], 'UpdateConfig' => [ 'method' => 'patch', 'uriTemplate' => '/v1/{config.name=projects/*/locations/*/config}', @@ -605,6 +848,19 @@ ], ], ], + 'UpdateFolder' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{folder.name=projects/*/locations/*/folders/*}', + 'body' => 'folder', + 'placeholders' => [ + 'folder.name' => [ + 'getters' => [ + 'getFolder', + 'getName', + ], + ], + ], + ], 'UpdateReleaseConfig' => [ 'method' => 'patch', 'uriTemplate' => '/v1/{release_config.name=projects/*/locations/*/repositories/*/releaseConfigs/*}', @@ -631,6 +887,19 @@ ], ], ], + 'UpdateTeamFolder' => [ + 'method' => 'patch', + 'uriTemplate' => '/v1/{team_folder.name=projects/*/locations/*/teamFolders/*}', + 'body' => 'team_folder', + 'placeholders' => [ + 'team_folder.name' => [ + 'getters' => [ + 'getTeamFolder', + 'getName', + ], + ], + ], + ], 'UpdateWorkflowConfig' => [ 'method' => 'patch', 'uriTemplate' => '/v1/{workflow_config.name=projects/*/locations/*/repositories/*/workflowConfigs/*}', @@ -681,58 +950,48 @@ ], ], ], - 'google.iam.v1.IAMPolicy' => [ - 'GetIamPolicy' => [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:getIamPolicy', - 'additionalBindings' => [ - [ - 'method' => 'get', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:getIamPolicy', - ], - ], + 'google.longrunning.Operations' => [ + 'CancelOperation' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/operations/*}:cancel', + 'body' => '*', 'placeholders' => [ - 'resource' => [ + 'name' => [ 'getters' => [ - 'getResource', + 'getName', ], ], ], ], - 'SetIamPolicy' => [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:setIamPolicy', - 'body' => '*', - 'additionalBindings' => [ - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:setIamPolicy', - 'body' => '*', - ], - ], + 'DeleteOperation' => [ + 'method' => 'delete', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/operations/*}', 'placeholders' => [ - 'resource' => [ + 'name' => [ 'getters' => [ - 'getResource', + 'getName', ], ], ], ], - 'TestIamPermissions' => [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*}:testIamPermissions', - 'body' => '*', - 'additionalBindings' => [ - [ - 'method' => 'post', - 'uriTemplate' => '/v1/{resource=projects/*/locations/*/repositories/*/workspaces/*}:testIamPermissions', - 'body' => '*', + 'GetOperation' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/operations/*}', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], ], ], + ], + 'ListOperations' => [ + 'method' => 'get', + 'uriTemplate' => '/v1/{name=projects/*/locations/*}/operations', 'placeholders' => [ - 'resource' => [ + 'name' => [ 'getters' => [ - 'getResource', + 'getName', ], ], ], diff --git a/Dataform/tests/Unit/V1/Client/DataformClientTest.php b/Dataform/tests/Unit/V1/Client/DataformClientTest.php index 6b56ba318464..753c3674c885 100644 --- a/Dataform/tests/Unit/V1/Client/DataformClientTest.php +++ b/Dataform/tests/Unit/V1/Client/DataformClientTest.php @@ -42,13 +42,19 @@ use Google\Cloud\Dataform\V1\ComputeRepositoryAccessTokenStatusResponse; use Google\Cloud\Dataform\V1\Config; use Google\Cloud\Dataform\V1\CreateCompilationResultRequest; +use Google\Cloud\Dataform\V1\CreateFolderRequest; use Google\Cloud\Dataform\V1\CreateReleaseConfigRequest; use Google\Cloud\Dataform\V1\CreateRepositoryRequest; +use Google\Cloud\Dataform\V1\CreateTeamFolderRequest; use Google\Cloud\Dataform\V1\CreateWorkflowConfigRequest; use Google\Cloud\Dataform\V1\CreateWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\CreateWorkspaceRequest; +use Google\Cloud\Dataform\V1\DeleteFolderRequest; +use Google\Cloud\Dataform\V1\DeleteFolderTreeRequest; use Google\Cloud\Dataform\V1\DeleteReleaseConfigRequest; use Google\Cloud\Dataform\V1\DeleteRepositoryRequest; +use Google\Cloud\Dataform\V1\DeleteTeamFolderRequest; +use Google\Cloud\Dataform\V1\DeleteTeamFolderTreeRequest; use Google\Cloud\Dataform\V1\DeleteWorkflowConfigRequest; use Google\Cloud\Dataform\V1\DeleteWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\DeleteWorkspaceRequest; @@ -63,10 +69,13 @@ use Google\Cloud\Dataform\V1\FetchRemoteBranchesResponse; use Google\Cloud\Dataform\V1\FetchRepositoryHistoryRequest; use Google\Cloud\Dataform\V1\FetchRepositoryHistoryResponse; +use Google\Cloud\Dataform\V1\Folder; use Google\Cloud\Dataform\V1\GetCompilationResultRequest; use Google\Cloud\Dataform\V1\GetConfigRequest; +use Google\Cloud\Dataform\V1\GetFolderRequest; use Google\Cloud\Dataform\V1\GetReleaseConfigRequest; use Google\Cloud\Dataform\V1\GetRepositoryRequest; +use Google\Cloud\Dataform\V1\GetTeamFolderRequest; use Google\Cloud\Dataform\V1\GetWorkflowConfigRequest; use Google\Cloud\Dataform\V1\GetWorkflowInvocationRequest; use Google\Cloud\Dataform\V1\GetWorkspaceRequest; @@ -90,6 +99,8 @@ use Google\Cloud\Dataform\V1\MoveDirectoryResponse; use Google\Cloud\Dataform\V1\MoveFileRequest; use Google\Cloud\Dataform\V1\MoveFileResponse; +use Google\Cloud\Dataform\V1\MoveFolderRequest; +use Google\Cloud\Dataform\V1\MoveRepositoryRequest; use Google\Cloud\Dataform\V1\PullGitCommitsRequest; use Google\Cloud\Dataform\V1\PullGitCommitsResponse; use Google\Cloud\Dataform\V1\PushGitCommitsRequest; @@ -98,8 +109,17 @@ use Google\Cloud\Dataform\V1\QueryCompilationResultActionsResponse; use Google\Cloud\Dataform\V1\QueryDirectoryContentsRequest; use Google\Cloud\Dataform\V1\QueryDirectoryContentsResponse; +use Google\Cloud\Dataform\V1\QueryFolderContentsRequest; +use Google\Cloud\Dataform\V1\QueryFolderContentsResponse; +use Google\Cloud\Dataform\V1\QueryFolderContentsResponse\FolderContentsEntry; use Google\Cloud\Dataform\V1\QueryRepositoryDirectoryContentsRequest; use Google\Cloud\Dataform\V1\QueryRepositoryDirectoryContentsResponse; +use Google\Cloud\Dataform\V1\QueryTeamFolderContentsRequest; +use Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse; +use Google\Cloud\Dataform\V1\QueryTeamFolderContentsResponse\TeamFolderContentsEntry; +use Google\Cloud\Dataform\V1\QueryUserRootContentsRequest; +use Google\Cloud\Dataform\V1\QueryUserRootContentsResponse; +use Google\Cloud\Dataform\V1\QueryUserRootContentsResponse\RootContentsEntry; use Google\Cloud\Dataform\V1\QueryWorkflowInvocationActionsRequest; use Google\Cloud\Dataform\V1\QueryWorkflowInvocationActionsResponse; use Google\Cloud\Dataform\V1\ReadFileRequest; @@ -117,9 +137,15 @@ use Google\Cloud\Dataform\V1\SearchFilesRequest; use Google\Cloud\Dataform\V1\SearchFilesResponse; use Google\Cloud\Dataform\V1\SearchResult; +use Google\Cloud\Dataform\V1\SearchTeamFoldersRequest; +use Google\Cloud\Dataform\V1\SearchTeamFoldersResponse; +use Google\Cloud\Dataform\V1\SearchTeamFoldersResponse\TeamFolderSearchResult; +use Google\Cloud\Dataform\V1\TeamFolder; use Google\Cloud\Dataform\V1\UpdateConfigRequest; +use Google\Cloud\Dataform\V1\UpdateFolderRequest; use Google\Cloud\Dataform\V1\UpdateReleaseConfigRequest; use Google\Cloud\Dataform\V1\UpdateRepositoryRequest; +use Google\Cloud\Dataform\V1\UpdateTeamFolderRequest; use Google\Cloud\Dataform\V1\UpdateWorkflowConfigRequest; use Google\Cloud\Dataform\V1\WorkflowConfig; use Google\Cloud\Dataform\V1\WorkflowInvocation; @@ -136,6 +162,14 @@ use Google\Cloud\Location\ListLocationsRequest; use Google\Cloud\Location\ListLocationsResponse; use Google\Cloud\Location\Location; +use Google\LongRunning\CancelOperationRequest; +use Google\LongRunning\Client\OperationsClient; +use Google\LongRunning\DeleteOperationRequest; +use Google\LongRunning\GetOperationRequest; +use Google\LongRunning\ListOperationsRequest; +use Google\LongRunning\ListOperationsResponse; +use Google\LongRunning\Operation; +use Google\Protobuf\Any; use Google\Protobuf\GPBEmpty; use Google\Rpc\Code; use stdClass; @@ -543,6 +577,89 @@ public function createCompilationResultExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function createFolderTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $displayName = 'displayName1615086568'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; + $internalMetadata = 'internalMetadata-1087755663'; + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new Folder(); + $expectedResponse->setName($name); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $folder = new Folder(); + $folderDisplayName = 'folderDisplayName1703145759'; + $folder->setDisplayName($folderDisplayName); + $request = (new CreateFolderRequest())->setParent($formattedParent)->setFolder($folder); + $response = $gapicClient->createFolder($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/CreateFolder', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getFolder(); + $this->assertProtobufEquals($folder, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createFolderExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $folder = new Folder(); + $folderDisplayName = 'folderDisplayName1703145759'; + $folder->setDisplayName($folderDisplayName); + $request = (new CreateFolderRequest())->setParent($formattedParent)->setFolder($folder); + try { + $gapicClient->createFolder($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function createReleaseConfigTest() { @@ -648,6 +765,8 @@ public function createRepositoryTest() $this->assertTrue($transport->isExhausted()); // Mock response $name = 'name3373707'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; $displayName = 'displayName1615086568'; $npmrcEnvironmentVariablesSecretVersion = 'npmrcEnvironmentVariablesSecretVersion-2118517056'; $setAuthenticatedUserAdmin = true; @@ -656,6 +775,8 @@ public function createRepositoryTest() $internalMetadata = 'internalMetadata-1087755663'; $expectedResponse = new Repository(); $expectedResponse->setName($name); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); $expectedResponse->setDisplayName($displayName); $expectedResponse->setNpmrcEnvironmentVariablesSecretVersion($npmrcEnvironmentVariablesSecretVersion); $expectedResponse->setSetAuthenticatedUserAdmin($setAuthenticatedUserAdmin); @@ -729,6 +850,85 @@ public function createRepositoryExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function createTeamFolderTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $displayName = 'displayName1615086568'; + $internalMetadata = 'internalMetadata-1087755663'; + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new TeamFolder(); + $expectedResponse->setName($name); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $teamFolder = new TeamFolder(); + $teamFolderDisplayName = 'teamFolderDisplayName136139842'; + $teamFolder->setDisplayName($teamFolderDisplayName); + $request = (new CreateTeamFolderRequest())->setParent($formattedParent)->setTeamFolder($teamFolder); + $response = $gapicClient->createTeamFolder($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/CreateTeamFolder', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $actualValue = $actualRequestObject->getTeamFolder(); + $this->assertProtobufEquals($teamFolder, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function createTeamFolderExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $teamFolder = new TeamFolder(); + $teamFolderDisplayName = 'teamFolderDisplayName136139842'; + $teamFolder->setDisplayName($teamFolderDisplayName); + $request = (new CreateTeamFolderRequest())->setParent($formattedParent)->setTeamFolder($teamFolder); + try { + $gapicClient->createTeamFolder($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function createWorkflowConfigTest() { @@ -922,9 +1122,11 @@ public function createWorkspaceTest() // Mock response $name = 'name3373707'; $internalMetadata = 'internalMetadata-1087755663'; + $disableMoves = false; $expectedResponse = new Workspace(); $expectedResponse->setName($name); $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setDisableMoves($disableMoves); $transport->addResponse($expectedResponse); // Mock request $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); @@ -993,7 +1195,7 @@ public function createWorkspaceExceptionTest() } /** @test */ - public function deleteReleaseConfigTest() + public function deleteFolderTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1004,21 +1206,21 @@ public function deleteReleaseConfigTest() $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); - $request = (new DeleteReleaseConfigRequest())->setName($formattedName); - $gapicClient->deleteReleaseConfig($request); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new DeleteFolderRequest())->setName($formattedName); + $gapicClient->deleteFolder($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteReleaseConfig', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteFolder', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function deleteReleaseConfigExceptionTest() + public function deleteFolderExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1039,10 +1241,10 @@ public function deleteReleaseConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); - $request = (new DeleteReleaseConfigRequest())->setName($formattedName); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new DeleteFolderRequest())->setName($formattedName); try { - $gapicClient->deleteReleaseConfig($request); + $gapicClient->deleteFolder($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1055,38 +1257,89 @@ public function deleteReleaseConfigExceptionTest() } /** @test */ - public function deleteRepositoryTest() + public function deleteFolderTreeTest() { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); $transport = $this->createTransport(); $gapicClient = $this->createClient([ 'transport' => $transport, + 'operationsClient' => $operationsClient, ]); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/deleteFolderTreeTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); $expectedResponse = new GPBEmpty(); - $transport->addResponse($expectedResponse); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/deleteFolderTreeTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new DeleteRepositoryRequest())->setName($formattedName); - $gapicClient->deleteRepository($request); - $actualRequests = $transport->popReceivedCalls(); - $this->assertSame(1, count($actualRequests)); - $actualFuncCall = $actualRequests[0]->getFuncCall(); - $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteRepository', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new DeleteFolderTreeRequest())->setName($formattedName); + $response = $gapicClient->deleteFolderTree($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $apiRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($apiRequests)); + $operationsRequestsEmpty = $operationsTransport->popReceivedCalls(); + $this->assertSame(0, count($operationsRequestsEmpty)); + $actualApiFuncCall = $apiRequests[0]->getFuncCall(); + $actualApiRequestObject = $apiRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteFolderTree', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); - $this->assertTrue($transport->isExhausted()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/deleteFolderTreeTest'); + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + $this->assertTrue($response->isDone()); + $this->assertEquals($expectedResponse, $response->getResult()); + $apiRequestsEmpty = $transport->popReceivedCalls(); + $this->assertSame(0, count($apiRequestsEmpty)); + $operationsRequests = $operationsTransport->popReceivedCalls(); + $this->assertSame(1, count($operationsRequests)); + $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall(); + $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject(); + $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall); + $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); } /** @test */ - public function deleteRepositoryExceptionTest() + public function deleteFolderTreeExceptionTest() { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); $transport = $this->createTransport(); $gapicClient = $this->createClient([ 'transport' => $transport, + 'operationsClient' => $operationsClient, ]); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/deleteFolderTreeTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); $status = new stdClass(); $status->code = Code::DATA_LOSS; $status->details = 'internal error'; @@ -1099,25 +1352,34 @@ public function deleteRepositoryExceptionTest() ], JSON_PRETTY_PRINT ); - $transport->addResponse(null, $status); + $operationsTransport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new DeleteRepositoryRequest())->setName($formattedName); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new DeleteFolderTreeRequest())->setName($formattedName); + $response = $gapicClient->deleteFolderTree($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/deleteFolderTreeTest'); try { - $gapicClient->deleteRepository($request); - // If the $gapicClient method call did not throw, fail the test + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + // If the pollUntilComplete() method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { $this->assertEquals($status->code, $ex->getCode()); $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); } - // Call popReceivedCalls to ensure the stub is exhausted + // Call popReceivedCalls to ensure the stubs are exhausted $transport->popReceivedCalls(); + $operationsTransport->popReceivedCalls(); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); } /** @test */ - public function deleteWorkflowConfigTest() + public function deleteReleaseConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1128,26 +1390,21 @@ public function deleteWorkflowConfigTest() $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workflowConfigName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_CONFIG]' - ); - $request = (new DeleteWorkflowConfigRequest())->setName($formattedName); - $gapicClient->deleteWorkflowConfig($request); + $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); + $request = (new DeleteReleaseConfigRequest())->setName($formattedName); + $gapicClient->deleteReleaseConfig($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkflowConfig', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteReleaseConfig', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function deleteWorkflowConfigExceptionTest() + public function deleteReleaseConfigExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1168,15 +1425,10 @@ public function deleteWorkflowConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workflowConfigName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_CONFIG]' - ); - $request = (new DeleteWorkflowConfigRequest())->setName($formattedName); + $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); + $request = (new DeleteReleaseConfigRequest())->setName($formattedName); try { - $gapicClient->deleteWorkflowConfig($request); + $gapicClient->deleteReleaseConfig($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1189,7 +1441,7 @@ public function deleteWorkflowConfigExceptionTest() } /** @test */ - public function deleteWorkflowInvocationTest() + public function deleteRepositoryTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1200,26 +1452,21 @@ public function deleteWorkflowInvocationTest() $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new DeleteWorkflowInvocationRequest())->setName($formattedName); - $gapicClient->deleteWorkflowInvocation($request); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new DeleteRepositoryRequest())->setName($formattedName); + $gapicClient->deleteRepository($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkflowInvocation', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteRepository', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function deleteWorkflowInvocationExceptionTest() + public function deleteRepositoryExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1240,15 +1487,10 @@ public function deleteWorkflowInvocationExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new DeleteWorkflowInvocationRequest())->setName($formattedName); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new DeleteRepositoryRequest())->setName($formattedName); try { - $gapicClient->deleteWorkflowInvocation($request); + $gapicClient->deleteRepository($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1261,7 +1503,7 @@ public function deleteWorkflowInvocationExceptionTest() } /** @test */ - public function deleteWorkspaceTest() + public function deleteTeamFolderTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1272,21 +1514,21 @@ public function deleteWorkspaceTest() $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new DeleteWorkspaceRequest())->setName($formattedName); - $gapicClient->deleteWorkspace($request); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new DeleteTeamFolderRequest())->setName($formattedName); + $gapicClient->deleteTeamFolder($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkspace', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteTeamFolder', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function deleteWorkspaceExceptionTest() + public function deleteTeamFolderExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1307,10 +1549,10 @@ public function deleteWorkspaceExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new DeleteWorkspaceRequest())->setName($formattedName); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new DeleteTeamFolderRequest())->setName($formattedName); try { - $gapicClient->deleteWorkspace($request); + $gapicClient->deleteTeamFolder($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1323,44 +1565,89 @@ public function deleteWorkspaceExceptionTest() } /** @test */ - public function fetchFileDiffTest() + public function deleteTeamFolderTreeTest() { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); $transport = $this->createTransport(); $gapicClient = $this->createClient([ 'transport' => $transport, + 'operationsClient' => $operationsClient, ]); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); // Mock response - $formattedDiff = 'formattedDiff-1687410264'; - $expectedResponse = new FetchFileDiffResponse(); - $expectedResponse->setFormattedDiff($formattedDiff); - $transport->addResponse($expectedResponse); + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/deleteTeamFolderTreeTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $expectedResponse = new GPBEmpty(); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/deleteTeamFolderTreeTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new FetchFileDiffRequest())->setWorkspace($formattedWorkspace)->setPath($path); - $response = $gapicClient->fetchFileDiff($request); - $this->assertEquals($expectedResponse, $response); - $actualRequests = $transport->popReceivedCalls(); - $this->assertSame(1, count($actualRequests)); - $actualFuncCall = $actualRequests[0]->getFuncCall(); - $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchFileDiff', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); - $this->assertTrue($transport->isExhausted()); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new DeleteTeamFolderTreeRequest())->setName($formattedName); + $response = $gapicClient->deleteTeamFolderTree($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $apiRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($apiRequests)); + $operationsRequestsEmpty = $operationsTransport->popReceivedCalls(); + $this->assertSame(0, count($operationsRequestsEmpty)); + $actualApiFuncCall = $apiRequests[0]->getFuncCall(); + $actualApiRequestObject = $apiRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteTeamFolderTree', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/deleteTeamFolderTreeTest'); + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + $this->assertTrue($response->isDone()); + $this->assertEquals($expectedResponse, $response->getResult()); + $apiRequestsEmpty = $transport->popReceivedCalls(); + $this->assertSame(0, count($apiRequestsEmpty)); + $operationsRequests = $operationsTransport->popReceivedCalls(); + $this->assertSame(1, count($operationsRequests)); + $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall(); + $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject(); + $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall); + $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); } /** @test */ - public function fetchFileDiffExceptionTest() + public function deleteTeamFolderTreeExceptionTest() { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); $transport = $this->createTransport(); $gapicClient = $this->createClient([ 'transport' => $transport, + 'operationsClient' => $operationsClient, ]); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/deleteTeamFolderTreeTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); $status = new stdClass(); $status->code = Code::DATA_LOSS; $status->details = 'internal error'; @@ -1373,26 +1660,34 @@ public function fetchFileDiffExceptionTest() ], JSON_PRETTY_PRINT ); - $transport->addResponse(null, $status); + $operationsTransport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new FetchFileDiffRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new DeleteTeamFolderTreeRequest())->setName($formattedName); + $response = $gapicClient->deleteTeamFolderTree($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/deleteTeamFolderTreeTest'); try { - $gapicClient->fetchFileDiff($request); - // If the $gapicClient method call did not throw, fail the test + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + // If the pollUntilComplete() method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { $this->assertEquals($status->code, $ex->getCode()); $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); } - // Call popReceivedCalls to ensure the stub is exhausted + // Call popReceivedCalls to ensure the stubs are exhausted $transport->popReceivedCalls(); + $operationsTransport->popReceivedCalls(); $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); } /** @test */ - public function fetchFileGitStatusesTest() + public function deleteWorkflowConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1400,25 +1695,29 @@ public function fetchFileGitStatusesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new FetchFileGitStatusesResponse(); + $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new FetchFileGitStatusesRequest())->setName($formattedName); - $response = $gapicClient->fetchFileGitStatuses($request); - $this->assertEquals($expectedResponse, $response); + $formattedName = $gapicClient->workflowConfigName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_CONFIG]' + ); + $request = (new DeleteWorkflowConfigRequest())->setName($formattedName); + $gapicClient->deleteWorkflowConfig($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchFileGitStatuses', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkflowConfig', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function fetchFileGitStatusesExceptionTest() + public function deleteWorkflowConfigExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1439,10 +1738,15 @@ public function fetchFileGitStatusesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new FetchFileGitStatusesRequest())->setName($formattedName); + $formattedName = $gapicClient->workflowConfigName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_CONFIG]' + ); + $request = (new DeleteWorkflowConfigRequest())->setName($formattedName); try { - $gapicClient->fetchFileGitStatuses($request); + $gapicClient->deleteWorkflowConfig($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1455,7 +1759,7 @@ public function fetchFileGitStatusesExceptionTest() } /** @test */ - public function fetchGitAheadBehindTest() + public function deleteWorkflowInvocationTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1463,29 +1767,29 @@ public function fetchGitAheadBehindTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $commitsAhead = 1216483806; - $commitsBehind = 917751619; - $expectedResponse = new FetchGitAheadBehindResponse(); - $expectedResponse->setCommitsAhead($commitsAhead); - $expectedResponse->setCommitsBehind($commitsBehind); + $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new FetchGitAheadBehindRequest())->setName($formattedName); - $response = $gapicClient->fetchGitAheadBehind($request); - $this->assertEquals($expectedResponse, $response); + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new DeleteWorkflowInvocationRequest())->setName($formattedName); + $gapicClient->deleteWorkflowInvocation($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchGitAheadBehind', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkflowInvocation', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function fetchGitAheadBehindExceptionTest() + public function deleteWorkflowInvocationExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1506,10 +1810,15 @@ public function fetchGitAheadBehindExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new FetchGitAheadBehindRequest())->setName($formattedName); + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new DeleteWorkflowInvocationRequest())->setName($formattedName); try { - $gapicClient->fetchGitAheadBehind($request); + $gapicClient->deleteWorkflowInvocation($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1522,7 +1831,7 @@ public function fetchGitAheadBehindExceptionTest() } /** @test */ - public function fetchRemoteBranchesTest() + public function deleteWorkspaceTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1530,25 +1839,24 @@ public function fetchRemoteBranchesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new FetchRemoteBranchesResponse(); + $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new FetchRemoteBranchesRequest())->setName($formattedName); - $response = $gapicClient->fetchRemoteBranches($request); - $this->assertEquals($expectedResponse, $response); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new DeleteWorkspaceRequest())->setName($formattedName); + $gapicClient->deleteWorkspace($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchRemoteBranches', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/DeleteWorkspace', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function fetchRemoteBranchesExceptionTest() + public function deleteWorkspaceExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1569,10 +1877,10 @@ public function fetchRemoteBranchesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new FetchRemoteBranchesRequest())->setName($formattedName); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new DeleteWorkspaceRequest())->setName($formattedName); try { - $gapicClient->fetchRemoteBranches($request); + $gapicClient->deleteWorkspace($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1585,7 +1893,7 @@ public function fetchRemoteBranchesExceptionTest() } /** @test */ - public function fetchRepositoryHistoryTest() + public function fetchFileDiffTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1593,33 +1901,30 @@ public function fetchRepositoryHistoryTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $commitsElement = new CommitLogEntry(); - $commits = [$commitsElement]; - $expectedResponse = new FetchRepositoryHistoryResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setCommits($commits); + $formattedDiff = 'formattedDiff-1687410264'; + $expectedResponse = new FetchFileDiffResponse(); + $expectedResponse->setFormattedDiff($formattedDiff); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new FetchRepositoryHistoryRequest())->setName($formattedName); - $response = $gapicClient->fetchRepositoryHistory($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getCommits()[0], $resources[0]); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new FetchFileDiffRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $response = $gapicClient->fetchFileDiff($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchRepositoryHistory', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchFileDiff', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function fetchRepositoryHistoryExceptionTest() + public function fetchFileDiffExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1640,10 +1945,11 @@ public function fetchRepositoryHistoryExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new FetchRepositoryHistoryRequest())->setName($formattedName); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new FetchFileDiffRequest())->setWorkspace($formattedWorkspace)->setPath($path); try { - $gapicClient->fetchRepositoryHistory($request); + $gapicClient->fetchFileDiff($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1656,7 +1962,7 @@ public function fetchRepositoryHistoryExceptionTest() } /** @test */ - public function getCompilationResultTest() + public function fetchFileGitStatusesTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1664,40 +1970,25 @@ public function getCompilationResultTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $gitCommitish = 'gitCommitish-459981894'; - $name2 = 'name2-1052831874'; - $resolvedGitCommitSha = 'resolvedGitCommitSha-1974209704'; - $dataformCoreVersion = 'dataformCoreVersion1918089577'; - $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new CompilationResult(); - $expectedResponse->setGitCommitish($gitCommitish); - $expectedResponse->setName($name2); - $expectedResponse->setResolvedGitCommitSha($resolvedGitCommitSha); - $expectedResponse->setDataformCoreVersion($dataformCoreVersion); - $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse = new FetchFileGitStatusesResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->compilationResultName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[COMPILATION_RESULT]' - ); - $request = (new GetCompilationResultRequest())->setName($formattedName); - $response = $gapicClient->getCompilationResult($request); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new FetchFileGitStatusesRequest())->setName($formattedName); + $response = $gapicClient->fetchFileGitStatuses($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetCompilationResult', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchFileGitStatuses', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getCompilationResultExceptionTest() + public function fetchFileGitStatusesExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1718,15 +2009,10 @@ public function getCompilationResultExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->compilationResultName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[COMPILATION_RESULT]' - ); - $request = (new GetCompilationResultRequest())->setName($formattedName); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new FetchFileGitStatusesRequest())->setName($formattedName); try { - $gapicClient->getCompilationResult($request); + $gapicClient->fetchFileGitStatuses($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1739,7 +2025,7 @@ public function getCompilationResultExceptionTest() } /** @test */ - public function getConfigTest() + public function fetchGitAheadBehindTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1747,29 +2033,29 @@ public function getConfigTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $name2 = 'name2-1052831874'; - $defaultKmsKeyName = 'defaultKmsKeyName-635012393'; - $expectedResponse = new Config(); - $expectedResponse->setName($name2); - $expectedResponse->setDefaultKmsKeyName($defaultKmsKeyName); + $commitsAhead = 1216483806; + $commitsBehind = 917751619; + $expectedResponse = new FetchGitAheadBehindResponse(); + $expectedResponse->setCommitsAhead($commitsAhead); + $expectedResponse->setCommitsBehind($commitsBehind); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->configName('[PROJECT]', '[LOCATION]'); - $request = (new GetConfigRequest())->setName($formattedName); - $response = $gapicClient->getConfig($request); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new FetchGitAheadBehindRequest())->setName($formattedName); + $response = $gapicClient->fetchGitAheadBehind($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetConfig', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchGitAheadBehind', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getConfigExceptionTest() + public function fetchGitAheadBehindExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1790,10 +2076,10 @@ public function getConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->configName('[PROJECT]', '[LOCATION]'); - $request = (new GetConfigRequest())->setName($formattedName); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new FetchGitAheadBehindRequest())->setName($formattedName); try { - $gapicClient->getConfig($request); + $gapicClient->fetchGitAheadBehind($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1806,7 +2092,7 @@ public function getConfigExceptionTest() } /** @test */ - public function getReleaseConfigTest() + public function fetchRemoteBranchesTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1814,39 +2100,25 @@ public function getReleaseConfigTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $name2 = 'name2-1052831874'; - $gitCommitish = 'gitCommitish-459981894'; - $cronSchedule = 'cronSchedule206244136'; - $timeZone = 'timeZone36848094'; - $releaseCompilationResult = 'releaseCompilationResult1831489873'; - $disabled = true; - $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new ReleaseConfig(); - $expectedResponse->setName($name2); - $expectedResponse->setGitCommitish($gitCommitish); - $expectedResponse->setCronSchedule($cronSchedule); - $expectedResponse->setTimeZone($timeZone); - $expectedResponse->setReleaseCompilationResult($releaseCompilationResult); - $expectedResponse->setDisabled($disabled); - $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse = new FetchRemoteBranchesResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); - $request = (new GetReleaseConfigRequest())->setName($formattedName); - $response = $gapicClient->getReleaseConfig($request); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new FetchRemoteBranchesRequest())->setName($formattedName); + $response = $gapicClient->fetchRemoteBranches($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetReleaseConfig', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchRemoteBranches', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getReleaseConfigExceptionTest() + public function fetchRemoteBranchesExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1867,10 +2139,10 @@ public function getReleaseConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); - $request = (new GetReleaseConfigRequest())->setName($formattedName); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new FetchRemoteBranchesRequest())->setName($formattedName); try { - $gapicClient->getReleaseConfig($request); + $gapicClient->fetchRemoteBranches($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1883,7 +2155,7 @@ public function getReleaseConfigExceptionTest() } /** @test */ - public function getRepositoryTest() + public function fetchRepositoryHistoryTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1891,39 +2163,33 @@ public function getRepositoryTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $name2 = 'name2-1052831874'; - $displayName = 'displayName1615086568'; - $npmrcEnvironmentVariablesSecretVersion = 'npmrcEnvironmentVariablesSecretVersion-2118517056'; - $setAuthenticatedUserAdmin = true; - $serviceAccount = 'serviceAccount-1948028253'; - $kmsKeyName = 'kmsKeyName2094986649'; - $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new Repository(); - $expectedResponse->setName($name2); - $expectedResponse->setDisplayName($displayName); - $expectedResponse->setNpmrcEnvironmentVariablesSecretVersion($npmrcEnvironmentVariablesSecretVersion); - $expectedResponse->setSetAuthenticatedUserAdmin($setAuthenticatedUserAdmin); - $expectedResponse->setServiceAccount($serviceAccount); - $expectedResponse->setKmsKeyName($kmsKeyName); - $expectedResponse->setInternalMetadata($internalMetadata); + $nextPageToken = ''; + $commitsElement = new CommitLogEntry(); + $commits = [$commitsElement]; + $expectedResponse = new FetchRepositoryHistoryResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setCommits($commits); $transport->addResponse($expectedResponse); // Mock request $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new GetRepositoryRequest())->setName($formattedName); - $response = $gapicClient->getRepository($request); - $this->assertEquals($expectedResponse, $response); + $request = (new FetchRepositoryHistoryRequest())->setName($formattedName); + $response = $gapicClient->fetchRepositoryHistory($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getCommits()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetRepository', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/FetchRepositoryHistory', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getRepositoryExceptionTest() + public function fetchRepositoryHistoryExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1945,9 +2211,9 @@ public function getRepositoryExceptionTest() $transport->addResponse(null, $status); // Mock request $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new GetRepositoryRequest())->setName($formattedName); + $request = (new FetchRepositoryHistoryRequest())->setName($formattedName); try { - $gapicClient->getRepository($request); + $gapicClient->fetchRepositoryHistory($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -1960,7 +2226,7 @@ public function getRepositoryExceptionTest() } /** @test */ - public function getWorkflowConfigTest() + public function getCompilationResultTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -1968,42 +2234,40 @@ public function getWorkflowConfigTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response + $gitCommitish = 'gitCommitish-459981894'; $name2 = 'name2-1052831874'; - $releaseConfig = 'releaseConfig582587002'; - $cronSchedule = 'cronSchedule206244136'; - $timeZone = 'timeZone36848094'; - $disabled = true; + $resolvedGitCommitSha = 'resolvedGitCommitSha-1974209704'; + $dataformCoreVersion = 'dataformCoreVersion1918089577'; $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new WorkflowConfig(); + $expectedResponse = new CompilationResult(); + $expectedResponse->setGitCommitish($gitCommitish); $expectedResponse->setName($name2); - $expectedResponse->setReleaseConfig($releaseConfig); - $expectedResponse->setCronSchedule($cronSchedule); - $expectedResponse->setTimeZone($timeZone); - $expectedResponse->setDisabled($disabled); + $expectedResponse->setResolvedGitCommitSha($resolvedGitCommitSha); + $expectedResponse->setDataformCoreVersion($dataformCoreVersion); $expectedResponse->setInternalMetadata($internalMetadata); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workflowConfigName( + $formattedName = $gapicClient->compilationResultName( '[PROJECT]', '[LOCATION]', '[REPOSITORY]', - '[WORKFLOW_CONFIG]' + '[COMPILATION_RESULT]' ); - $request = (new GetWorkflowConfigRequest())->setName($formattedName); - $response = $gapicClient->getWorkflowConfig($request); + $request = (new GetCompilationResultRequest())->setName($formattedName); + $response = $gapicClient->getCompilationResult($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkflowConfig', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetCompilationResult', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getWorkflowConfigExceptionTest() + public function getCompilationResultExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2024,15 +2288,15 @@ public function getWorkflowConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workflowConfigName( + $formattedName = $gapicClient->compilationResultName( '[PROJECT]', '[LOCATION]', '[REPOSITORY]', - '[WORKFLOW_CONFIG]' + '[COMPILATION_RESULT]' ); - $request = (new GetWorkflowConfigRequest())->setName($formattedName); + $request = (new GetCompilationResultRequest())->setName($formattedName); try { - $gapicClient->getWorkflowConfig($request); + $gapicClient->getCompilationResult($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2045,7 +2309,7 @@ public function getWorkflowConfigExceptionTest() } /** @test */ - public function getWorkflowInvocationTest() + public function getConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2053,38 +2317,31 @@ public function getWorkflowInvocationTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $compilationResult = 'compilationResult-2035984871'; $name2 = 'name2-1052831874'; - $resolvedCompilationResult = 'resolvedCompilationResult-2110280256'; + $defaultKmsKeyName = 'defaultKmsKeyName-635012393'; $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new WorkflowInvocation(); - $expectedResponse->setCompilationResult($compilationResult); + $expectedResponse = new Config(); $expectedResponse->setName($name2); - $expectedResponse->setResolvedCompilationResult($resolvedCompilationResult); + $expectedResponse->setDefaultKmsKeyName($defaultKmsKeyName); $expectedResponse->setInternalMetadata($internalMetadata); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new GetWorkflowInvocationRequest())->setName($formattedName); - $response = $gapicClient->getWorkflowInvocation($request); + $formattedName = $gapicClient->configName('[PROJECT]', '[LOCATION]'); + $request = (new GetConfigRequest())->setName($formattedName); + $response = $gapicClient->getConfig($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkflowInvocation', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetConfig', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getWorkflowInvocationExceptionTest() + public function getConfigExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2105,15 +2362,10 @@ public function getWorkflowInvocationExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new GetWorkflowInvocationRequest())->setName($formattedName); + $formattedName = $gapicClient->configName('[PROJECT]', '[LOCATION]'); + $request = (new GetConfigRequest())->setName($formattedName); try { - $gapicClient->getWorkflowInvocation($request); + $gapicClient->getConfig($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2126,7 +2378,7 @@ public function getWorkflowInvocationExceptionTest() } /** @test */ - public function getWorkspaceTest() + public function getFolderTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2135,28 +2387,36 @@ public function getWorkspaceTest() $this->assertTrue($transport->isExhausted()); // Mock response $name2 = 'name2-1052831874'; + $displayName = 'displayName1615086568'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; $internalMetadata = 'internalMetadata-1087755663'; - $expectedResponse = new Workspace(); + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new Folder(); $expectedResponse->setName($name2); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new GetWorkspaceRequest())->setName($formattedName); - $response = $gapicClient->getWorkspace($request); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new GetFolderRequest())->setName($formattedName); + $response = $gapicClient->getFolder($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkspace', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetFolder', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getWorkspaceExceptionTest() + public function getFolderExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2177,10 +2437,10 @@ public function getWorkspaceExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new GetWorkspaceRequest())->setName($formattedName); + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new GetFolderRequest())->setName($formattedName); try { - $gapicClient->getWorkspace($request); + $gapicClient->getFolder($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2193,7 +2453,7 @@ public function getWorkspaceExceptionTest() } /** @test */ - public function installNpmPackagesTest() + public function getIamPolicyTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2201,25 +2461,29 @@ public function installNpmPackagesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new InstallNpmPackagesResponse(); + $version = 351608024; + $etag = '21'; + $expectedResponse = new Policy(); + $expectedResponse->setVersion($version); + $expectedResponse->setEtag($etag); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new InstallNpmPackagesRequest())->setWorkspace($formattedWorkspace); - $response = $gapicClient->installNpmPackages($request); + $resource = 'resource-341064690'; + $request = (new GetIamPolicyRequest())->setResource($resource); + $response = $gapicClient->getIamPolicy($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/InstallNpmPackages', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetIamPolicy', $actualFuncCall); + $actualValue = $actualRequestObject->getResource(); + $this->assertProtobufEquals($resource, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function installNpmPackagesExceptionTest() + public function getIamPolicyExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2240,10 +2504,10 @@ public function installNpmPackagesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new InstallNpmPackagesRequest())->setWorkspace($formattedWorkspace); + $resource = 'resource-341064690'; + $request = (new GetIamPolicyRequest())->setResource($resource); try { - $gapicClient->installNpmPackages($request); + $gapicClient->getIamPolicy($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2256,7 +2520,7 @@ public function installNpmPackagesExceptionTest() } /** @test */ - public function listCompilationResultsTest() + public function getReleaseConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2264,33 +2528,39 @@ public function listCompilationResultsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $compilationResultsElement = new CompilationResult(); - $compilationResults = [$compilationResultsElement]; - $expectedResponse = new ListCompilationResultsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setCompilationResults($compilationResults); + $name2 = 'name2-1052831874'; + $gitCommitish = 'gitCommitish-459981894'; + $cronSchedule = 'cronSchedule206244136'; + $timeZone = 'timeZone36848094'; + $releaseCompilationResult = 'releaseCompilationResult1831489873'; + $disabled = true; + $internalMetadata = 'internalMetadata-1087755663'; + $expectedResponse = new ReleaseConfig(); + $expectedResponse->setName($name2); + $expectedResponse->setGitCommitish($gitCommitish); + $expectedResponse->setCronSchedule($cronSchedule); + $expectedResponse->setTimeZone($timeZone); + $expectedResponse->setReleaseCompilationResult($releaseCompilationResult); + $expectedResponse->setDisabled($disabled); + $expectedResponse->setInternalMetadata($internalMetadata); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListCompilationResultsRequest())->setParent($formattedParent); - $response = $gapicClient->listCompilationResults($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getCompilationResults()[0], $resources[0]); + $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); + $request = (new GetReleaseConfigRequest())->setName($formattedName); + $response = $gapicClient->getReleaseConfig($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListCompilationResults', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetReleaseConfig', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listCompilationResultsExceptionTest() + public function getReleaseConfigExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2311,10 +2581,10 @@ public function listCompilationResultsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListCompilationResultsRequest())->setParent($formattedParent); + $formattedName = $gapicClient->releaseConfigName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[RELEASE_CONFIG]'); + $request = (new GetReleaseConfigRequest())->setName($formattedName); try { - $gapicClient->listCompilationResults($request); + $gapicClient->getReleaseConfig($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2327,7 +2597,7 @@ public function listCompilationResultsExceptionTest() } /** @test */ - public function listReleaseConfigsTest() + public function getRepositoryTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2335,33 +2605,43 @@ public function listReleaseConfigsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $releaseConfigsElement = new ReleaseConfig(); - $releaseConfigs = [$releaseConfigsElement]; - $expectedResponse = new ListReleaseConfigsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setReleaseConfigs($releaseConfigs); + $name2 = 'name2-1052831874'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; + $displayName = 'displayName1615086568'; + $npmrcEnvironmentVariablesSecretVersion = 'npmrcEnvironmentVariablesSecretVersion-2118517056'; + $setAuthenticatedUserAdmin = true; + $serviceAccount = 'serviceAccount-1948028253'; + $kmsKeyName = 'kmsKeyName2094986649'; + $internalMetadata = 'internalMetadata-1087755663'; + $expectedResponse = new Repository(); + $expectedResponse->setName($name2); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setNpmrcEnvironmentVariablesSecretVersion($npmrcEnvironmentVariablesSecretVersion); + $expectedResponse->setSetAuthenticatedUserAdmin($setAuthenticatedUserAdmin); + $expectedResponse->setServiceAccount($serviceAccount); + $expectedResponse->setKmsKeyName($kmsKeyName); + $expectedResponse->setInternalMetadata($internalMetadata); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListReleaseConfigsRequest())->setParent($formattedParent); - $response = $gapicClient->listReleaseConfigs($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getReleaseConfigs()[0], $resources[0]); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new GetRepositoryRequest())->setName($formattedName); + $response = $gapicClient->getRepository($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListReleaseConfigs', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetRepository', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listReleaseConfigsExceptionTest() + public function getRepositoryExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2382,10 +2662,10 @@ public function listReleaseConfigsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListReleaseConfigsRequest())->setParent($formattedParent); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new GetRepositoryRequest())->setName($formattedName); try { - $gapicClient->listReleaseConfigs($request); + $gapicClient->getRepository($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2398,7 +2678,7 @@ public function listReleaseConfigsExceptionTest() } /** @test */ - public function listRepositoriesTest() + public function getTeamFolderTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2406,33 +2686,33 @@ public function listRepositoriesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $repositoriesElement = new Repository(); - $repositories = [$repositoriesElement]; - $expectedResponse = new ListRepositoriesResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setRepositories($repositories); + $name2 = 'name2-1052831874'; + $displayName = 'displayName1615086568'; + $internalMetadata = 'internalMetadata-1087755663'; + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new TeamFolder(); + $expectedResponse->setName($name2); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); - $request = (new ListRepositoriesRequest())->setParent($formattedParent); - $response = $gapicClient->listRepositories($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getRepositories()[0], $resources[0]); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new GetTeamFolderRequest())->setName($formattedName); + $response = $gapicClient->getTeamFolder($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListRepositories', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetTeamFolder', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listRepositoriesExceptionTest() + public function getTeamFolderExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2453,10 +2733,10 @@ public function listRepositoriesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); - $request = (new ListRepositoriesRequest())->setParent($formattedParent); + $formattedName = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new GetTeamFolderRequest())->setName($formattedName); try { - $gapicClient->listRepositories($request); + $gapicClient->getTeamFolder($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2469,7 +2749,7 @@ public function listRepositoriesExceptionTest() } /** @test */ - public function listWorkflowConfigsTest() + public function getWorkflowConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2477,7 +2757,518 @@ public function listWorkflowConfigsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; + $name2 = 'name2-1052831874'; + $releaseConfig = 'releaseConfig582587002'; + $cronSchedule = 'cronSchedule206244136'; + $timeZone = 'timeZone36848094'; + $disabled = true; + $internalMetadata = 'internalMetadata-1087755663'; + $expectedResponse = new WorkflowConfig(); + $expectedResponse->setName($name2); + $expectedResponse->setReleaseConfig($releaseConfig); + $expectedResponse->setCronSchedule($cronSchedule); + $expectedResponse->setTimeZone($timeZone); + $expectedResponse->setDisabled($disabled); + $expectedResponse->setInternalMetadata($internalMetadata); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->workflowConfigName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_CONFIG]' + ); + $request = (new GetWorkflowConfigRequest())->setName($formattedName); + $response = $gapicClient->getWorkflowConfig($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkflowConfig', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getWorkflowConfigExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->workflowConfigName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_CONFIG]' + ); + $request = (new GetWorkflowConfigRequest())->setName($formattedName); + try { + $gapicClient->getWorkflowConfig($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getWorkflowInvocationTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $compilationResult = 'compilationResult-2035984871'; + $name2 = 'name2-1052831874'; + $resolvedCompilationResult = 'resolvedCompilationResult-2110280256'; + $internalMetadata = 'internalMetadata-1087755663'; + $expectedResponse = new WorkflowInvocation(); + $expectedResponse->setCompilationResult($compilationResult); + $expectedResponse->setName($name2); + $expectedResponse->setResolvedCompilationResult($resolvedCompilationResult); + $expectedResponse->setInternalMetadata($internalMetadata); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new GetWorkflowInvocationRequest())->setName($formattedName); + $response = $gapicClient->getWorkflowInvocation($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkflowInvocation', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getWorkflowInvocationExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new GetWorkflowInvocationRequest())->setName($formattedName); + try { + $gapicClient->getWorkflowInvocation($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getWorkspaceTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name2 = 'name2-1052831874'; + $internalMetadata = 'internalMetadata-1087755663'; + $disableMoves = false; + $expectedResponse = new Workspace(); + $expectedResponse->setName($name2); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setDisableMoves($disableMoves); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new GetWorkspaceRequest())->setName($formattedName); + $response = $gapicClient->getWorkspace($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/GetWorkspace', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function getWorkspaceExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new GetWorkspaceRequest())->setName($formattedName); + try { + $gapicClient->getWorkspace($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function installNpmPackagesTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new InstallNpmPackagesResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new InstallNpmPackagesRequest())->setWorkspace($formattedWorkspace); + $response = $gapicClient->installNpmPackages($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/InstallNpmPackages', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function installNpmPackagesExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new InstallNpmPackagesRequest())->setWorkspace($formattedWorkspace); + try { + $gapicClient->installNpmPackages($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listCompilationResultsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $compilationResultsElement = new CompilationResult(); + $compilationResults = [$compilationResultsElement]; + $expectedResponse = new ListCompilationResultsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setCompilationResults($compilationResults); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListCompilationResultsRequest())->setParent($formattedParent); + $response = $gapicClient->listCompilationResults($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getCompilationResults()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListCompilationResults', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listCompilationResultsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListCompilationResultsRequest())->setParent($formattedParent); + try { + $gapicClient->listCompilationResults($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listReleaseConfigsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $releaseConfigsElement = new ReleaseConfig(); + $releaseConfigs = [$releaseConfigsElement]; + $expectedResponse = new ListReleaseConfigsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setReleaseConfigs($releaseConfigs); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListReleaseConfigsRequest())->setParent($formattedParent); + $response = $gapicClient->listReleaseConfigs($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getReleaseConfigs()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListReleaseConfigs', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listReleaseConfigsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListReleaseConfigsRequest())->setParent($formattedParent); + try { + $gapicClient->listReleaseConfigs($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listRepositoriesTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $repositoriesElement = new Repository(); + $repositories = [$repositoriesElement]; + $expectedResponse = new ListRepositoriesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setRepositories($repositories); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListRepositoriesRequest())->setParent($formattedParent); + $response = $gapicClient->listRepositories($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getRepositories()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListRepositories', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listRepositoriesExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new ListRepositoriesRequest())->setParent($formattedParent); + try { + $gapicClient->listRepositories($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkflowConfigsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; $workflowConfigsElement = new WorkflowConfig(); $workflowConfigs = [$workflowConfigsElement]; $expectedResponse = new ListWorkflowConfigsResponse(); @@ -2485,25 +3276,702 @@ public function listWorkflowConfigsTest() $expectedResponse->setWorkflowConfigs($workflowConfigs); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkflowConfigsRequest())->setParent($formattedParent); - $response = $gapicClient->listWorkflowConfigs($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getWorkflowConfigs()[0], $resources[0]); + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkflowConfigsRequest())->setParent($formattedParent); + $response = $gapicClient->listWorkflowConfigs($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getWorkflowConfigs()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkflowConfigs', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkflowConfigsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkflowConfigsRequest())->setParent($formattedParent); + try { + $gapicClient->listWorkflowConfigs($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkflowInvocationsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $workflowInvocationsElement = new WorkflowInvocation(); + $workflowInvocations = [$workflowInvocationsElement]; + $expectedResponse = new ListWorkflowInvocationsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setWorkflowInvocations($workflowInvocations); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkflowInvocationsRequest())->setParent($formattedParent); + $response = $gapicClient->listWorkflowInvocations($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getWorkflowInvocations()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkflowInvocations', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkflowInvocationsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkflowInvocationsRequest())->setParent($formattedParent); + try { + $gapicClient->listWorkflowInvocations($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkspacesTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $workspacesElement = new Workspace(); + $workspaces = [$workspacesElement]; + $expectedResponse = new ListWorkspacesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setWorkspaces($workspaces); + $transport->addResponse($expectedResponse); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkspacesRequest())->setParent($formattedParent); + $response = $gapicClient->listWorkspaces($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getWorkspaces()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkspaces', $actualFuncCall); + $actualValue = $actualRequestObject->getParent(); + $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listWorkspacesExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new ListWorkspacesRequest())->setParent($formattedParent); + try { + $gapicClient->listWorkspaces($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function makeDirectoryTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new MakeDirectoryResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new MakeDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $response = $gapicClient->makeDirectory($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/MakeDirectory', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function makeDirectoryExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new MakeDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); + try { + $gapicClient->makeDirectory($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function moveDirectoryTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new MoveDirectoryResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $newPath = 'newPath1377204068'; + $request = (new MoveDirectoryRequest()) + ->setWorkspace($formattedWorkspace) + ->setPath($path) + ->setNewPath($newPath); + $response = $gapicClient->moveDirectory($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveDirectory', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); + $actualValue = $actualRequestObject->getNewPath(); + $this->assertProtobufEquals($newPath, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function moveDirectoryExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $newPath = 'newPath1377204068'; + $request = (new MoveDirectoryRequest()) + ->setWorkspace($formattedWorkspace) + ->setPath($path) + ->setNewPath($newPath); + try { + $gapicClient->moveDirectory($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function moveFileTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new MoveFileResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $newPath = 'newPath1377204068'; + $request = (new MoveFileRequest()) + ->setWorkspace($formattedWorkspace) + ->setPath($path) + ->setNewPath($newPath); + $response = $gapicClient->moveFile($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveFile', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); + $actualValue = $actualRequestObject->getNewPath(); + $this->assertProtobufEquals($newPath, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function moveFileExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $newPath = 'newPath1377204068'; + $request = (new MoveFileRequest()) + ->setWorkspace($formattedWorkspace) + ->setPath($path) + ->setNewPath($newPath); + try { + $gapicClient->moveFile($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function moveFolderTest() + { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + 'operationsClient' => $operationsClient, + ]); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/moveFolderTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $expectedResponse = new GPBEmpty(); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/moveFolderTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); + // Mock request + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new MoveFolderRequest())->setName($formattedName); + $response = $gapicClient->moveFolder($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $apiRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($apiRequests)); + $operationsRequestsEmpty = $operationsTransport->popReceivedCalls(); + $this->assertSame(0, count($operationsRequestsEmpty)); + $actualApiFuncCall = $apiRequests[0]->getFuncCall(); + $actualApiRequestObject = $apiRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveFolder', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/moveFolderTest'); + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + $this->assertTrue($response->isDone()); + $this->assertEquals($expectedResponse, $response->getResult()); + $apiRequestsEmpty = $transport->popReceivedCalls(); + $this->assertSame(0, count($apiRequestsEmpty)); + $operationsRequests = $operationsTransport->popReceivedCalls(); + $this->assertSame(1, count($operationsRequests)); + $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall(); + $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject(); + $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall); + $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + } + + /** @test */ + public function moveFolderExceptionTest() + { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + 'operationsClient' => $operationsClient, + ]); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/moveFolderTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $operationsTransport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new MoveFolderRequest())->setName($formattedName); + $response = $gapicClient->moveFolder($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/moveFolderTest'); + try { + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + // If the pollUntilComplete() method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stubs are exhausted + $transport->popReceivedCalls(); + $operationsTransport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + } + + /** @test */ + public function moveRepositoryTest() + { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + 'operationsClient' => $operationsClient, + ]); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/moveRepositoryTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $expectedResponse = new GPBEmpty(); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/moveRepositoryTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); + // Mock request + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new MoveRepositoryRequest())->setName($formattedName); + $response = $gapicClient->moveRepository($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $apiRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($apiRequests)); + $operationsRequestsEmpty = $operationsTransport->popReceivedCalls(); + $this->assertSame(0, count($operationsRequestsEmpty)); + $actualApiFuncCall = $apiRequests[0]->getFuncCall(); + $actualApiRequestObject = $apiRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveRepository', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/moveRepositoryTest'); + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + $this->assertTrue($response->isDone()); + $this->assertEquals($expectedResponse, $response->getResult()); + $apiRequestsEmpty = $transport->popReceivedCalls(); + $this->assertSame(0, count($apiRequestsEmpty)); + $operationsRequests = $operationsTransport->popReceivedCalls(); + $this->assertSame(1, count($operationsRequests)); + $actualOperationsFuncCall = $operationsRequests[0]->getFuncCall(); + $actualOperationsRequestObject = $operationsRequests[0]->getRequestObject(); + $this->assertSame('/google.longrunning.Operations/GetOperation', $actualOperationsFuncCall); + $this->assertEquals($expectedOperationsRequestObject, $actualOperationsRequestObject); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + } + + /** @test */ + public function moveRepositoryExceptionTest() + { + $operationsTransport = $this->createTransport(); + $operationsClient = new OperationsClient([ + 'apiEndpoint' => '', + 'transport' => $operationsTransport, + 'credentials' => $this->createCredentials(), + ]); + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + 'operationsClient' => $operationsClient, + ]); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + // Mock response + $incompleteOperation = new Operation(); + $incompleteOperation->setName('operations/moveRepositoryTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $operationsTransport->addResponse(null, $status); + // Mock request + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new MoveRepositoryRequest())->setName($formattedName); + $response = $gapicClient->moveRepository($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/moveRepositoryTest'); + try { + $response->pollUntilComplete([ + 'initialPollDelayMillis' => 1, + ]); + // If the pollUntilComplete() method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stubs are exhausted + $transport->popReceivedCalls(); + $operationsTransport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + $this->assertTrue($operationsTransport->isExhausted()); + } + + /** @test */ + public function pullGitCommitsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $expectedResponse = new PullGitCommitsResponse(); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $author = new CommitAuthor(); + $authorName = 'authorName-1501539658'; + $author->setName($authorName); + $authorEmailAddress = 'authorEmailAddress-6398493'; + $author->setEmailAddress($authorEmailAddress); + $request = (new PullGitCommitsRequest())->setName($formattedName)->setAuthor($author); + $response = $gapicClient->pullGitCommits($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkflowConfigs', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/PullGitCommits', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $actualValue = $actualRequestObject->getAuthor(); + $this->assertProtobufEquals($author, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listWorkflowConfigsExceptionTest() + public function pullGitCommitsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2524,10 +3992,15 @@ public function listWorkflowConfigsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkflowConfigsRequest())->setParent($formattedParent); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $author = new CommitAuthor(); + $authorName = 'authorName-1501539658'; + $author->setName($authorName); + $authorEmailAddress = 'authorEmailAddress-6398493'; + $author->setEmailAddress($authorEmailAddress); + $request = (new PullGitCommitsRequest())->setName($formattedName)->setAuthor($author); try { - $gapicClient->listWorkflowConfigs($request); + $gapicClient->pullGitCommits($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2540,7 +4013,7 @@ public function listWorkflowConfigsExceptionTest() } /** @test */ - public function listWorkflowInvocationsTest() + public function pushGitCommitsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2548,33 +4021,25 @@ public function listWorkflowInvocationsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $workflowInvocationsElement = new WorkflowInvocation(); - $workflowInvocations = [$workflowInvocationsElement]; - $expectedResponse = new ListWorkflowInvocationsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setWorkflowInvocations($workflowInvocations); + $expectedResponse = new PushGitCommitsResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkflowInvocationsRequest())->setParent($formattedParent); - $response = $gapicClient->listWorkflowInvocations($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getWorkflowInvocations()[0], $resources[0]); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new PushGitCommitsRequest())->setName($formattedName); + $response = $gapicClient->pushGitCommits($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkflowInvocations', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/PushGitCommits', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listWorkflowInvocationsExceptionTest() + public function pushGitCommitsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2595,10 +4060,10 @@ public function listWorkflowInvocationsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkflowInvocationsRequest())->setParent($formattedParent); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new PushGitCommitsRequest())->setName($formattedName); try { - $gapicClient->listWorkflowInvocations($request); + $gapicClient->pushGitCommits($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2611,7 +4076,7 @@ public function listWorkflowInvocationsExceptionTest() } /** @test */ - public function listWorkspacesTest() + public function queryCompilationResultActionsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2620,32 +4085,37 @@ public function listWorkspacesTest() $this->assertTrue($transport->isExhausted()); // Mock response $nextPageToken = ''; - $workspacesElement = new Workspace(); - $workspaces = [$workspacesElement]; - $expectedResponse = new ListWorkspacesResponse(); + $compilationResultActionsElement = new CompilationResultAction(); + $compilationResultActions = [$compilationResultActionsElement]; + $expectedResponse = new QueryCompilationResultActionsResponse(); $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setWorkspaces($workspaces); + $expectedResponse->setCompilationResultActions($compilationResultActions); $transport->addResponse($expectedResponse); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkspacesRequest())->setParent($formattedParent); - $response = $gapicClient->listWorkspaces($request); + $formattedName = $gapicClient->compilationResultName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[COMPILATION_RESULT]' + ); + $request = (new QueryCompilationResultActionsRequest())->setName($formattedName); + $response = $gapicClient->queryCompilationResultActions($request); $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); $resources = iterator_to_array($response->iterateAllElements()); $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getWorkspaces()[0], $resources[0]); + $this->assertEquals($expectedResponse->getCompilationResultActions()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ListWorkspaces', $actualFuncCall); - $actualValue = $actualRequestObject->getParent(); - $this->assertProtobufEquals($formattedParent, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryCompilationResultActions', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listWorkspacesExceptionTest() + public function queryCompilationResultActionsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2666,10 +4136,15 @@ public function listWorkspacesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedParent = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new ListWorkspacesRequest())->setParent($formattedParent); + $formattedName = $gapicClient->compilationResultName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[COMPILATION_RESULT]' + ); + $request = (new QueryCompilationResultActionsRequest())->setName($formattedName); try { - $gapicClient->listWorkspaces($request); + $gapicClient->queryCompilationResultActions($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2682,7 +4157,7 @@ public function listWorkspacesExceptionTest() } /** @test */ - public function makeDirectoryTest() + public function queryDirectoryContentsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2690,28 +4165,33 @@ public function makeDirectoryTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new MakeDirectoryResponse(); + $nextPageToken = ''; + $directoryEntriesElement = new DirectoryEntry(); + $directoryEntries = [$directoryEntriesElement]; + $expectedResponse = new QueryDirectoryContentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setDirectoryEntries($directoryEntries); $transport->addResponse($expectedResponse); // Mock request $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new MakeDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); - $response = $gapicClient->makeDirectory($request); - $this->assertEquals($expectedResponse, $response); + $request = (new QueryDirectoryContentsRequest())->setWorkspace($formattedWorkspace); + $response = $gapicClient->queryDirectoryContents($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getDirectoryEntries()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/MakeDirectory', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryDirectoryContents', $actualFuncCall); $actualValue = $actualRequestObject->getWorkspace(); $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function makeDirectoryExceptionTest() + public function queryDirectoryContentsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2733,10 +4213,9 @@ public function makeDirectoryExceptionTest() $transport->addResponse(null, $status); // Mock request $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new MakeDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $request = (new QueryDirectoryContentsRequest())->setWorkspace($formattedWorkspace); try { - $gapicClient->makeDirectory($request); + $gapicClient->queryDirectoryContents($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2749,7 +4228,7 @@ public function makeDirectoryExceptionTest() } /** @test */ - public function moveDirectoryTest() + public function queryFolderContentsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2757,34 +4236,104 @@ public function moveDirectoryTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new MoveDirectoryResponse(); + $nextPageToken = ''; + $entriesElement = new FolderContentsEntry(); + $entries = [$entriesElement]; + $expectedResponse = new QueryFolderContentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setEntries($entries); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $newPath = 'newPath1377204068'; - $request = (new MoveDirectoryRequest()) - ->setWorkspace($formattedWorkspace) - ->setPath($path) - ->setNewPath($newPath); - $response = $gapicClient->moveDirectory($request); - $this->assertEquals($expectedResponse, $response); + $formattedFolder = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new QueryFolderContentsRequest())->setFolder($formattedFolder); + $response = $gapicClient->queryFolderContents($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getEntries()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryFolderContents', $actualFuncCall); + $actualValue = $actualRequestObject->getFolder(); + $this->assertProtobufEquals($formattedFolder, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function queryFolderContentsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $formattedFolder = $gapicClient->folderName('[PROJECT]', '[LOCATION]', '[FOLDER]'); + $request = (new QueryFolderContentsRequest())->setFolder($formattedFolder); + try { + $gapicClient->queryFolderContents($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function queryRepositoryDirectoryContentsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $directoryEntriesElement = new DirectoryEntry(); + $directoryEntries = [$directoryEntriesElement]; + $expectedResponse = new QueryRepositoryDirectoryContentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setDirectoryEntries($directoryEntries); + $transport->addResponse($expectedResponse); + // Mock request + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new QueryRepositoryDirectoryContentsRequest())->setName($formattedName); + $response = $gapicClient->queryRepositoryDirectoryContents($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getDirectoryEntries()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveDirectory', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); - $actualValue = $actualRequestObject->getNewPath(); - $this->assertProtobufEquals($newPath, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryRepositoryDirectoryContents', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function moveDirectoryExceptionTest() + public function queryRepositoryDirectoryContentsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2805,15 +4354,10 @@ public function moveDirectoryExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $newPath = 'newPath1377204068'; - $request = (new MoveDirectoryRequest()) - ->setWorkspace($formattedWorkspace) - ->setPath($path) - ->setNewPath($newPath); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $request = (new QueryRepositoryDirectoryContentsRequest())->setName($formattedName); try { - $gapicClient->moveDirectory($request); + $gapicClient->queryRepositoryDirectoryContents($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2826,7 +4370,7 @@ public function moveDirectoryExceptionTest() } /** @test */ - public function moveFileTest() + public function queryTeamFolderContentsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2834,34 +4378,33 @@ public function moveFileTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new MoveFileResponse(); + $nextPageToken = ''; + $entriesElement = new TeamFolderContentsEntry(); + $entries = [$entriesElement]; + $expectedResponse = new QueryTeamFolderContentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setEntries($entries); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $newPath = 'newPath1377204068'; - $request = (new MoveFileRequest()) - ->setWorkspace($formattedWorkspace) - ->setPath($path) - ->setNewPath($newPath); - $response = $gapicClient->moveFile($request); - $this->assertEquals($expectedResponse, $response); + $formattedTeamFolder = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new QueryTeamFolderContentsRequest())->setTeamFolder($formattedTeamFolder); + $response = $gapicClient->queryTeamFolderContents($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getEntries()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/MoveFile', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); - $actualValue = $actualRequestObject->getNewPath(); - $this->assertProtobufEquals($newPath, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryTeamFolderContents', $actualFuncCall); + $actualValue = $actualRequestObject->getTeamFolder(); + $this->assertProtobufEquals($formattedTeamFolder, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function moveFileExceptionTest() + public function queryTeamFolderContentsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2882,15 +4425,10 @@ public function moveFileExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $newPath = 'newPath1377204068'; - $request = (new MoveFileRequest()) - ->setWorkspace($formattedWorkspace) - ->setPath($path) - ->setNewPath($newPath); + $formattedTeamFolder = $gapicClient->teamFolderName('[PROJECT]', '[LOCATION]', '[TEAM_FOLDER]'); + $request = (new QueryTeamFolderContentsRequest())->setTeamFolder($formattedTeamFolder); try { - $gapicClient->moveFile($request); + $gapicClient->queryTeamFolderContents($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2903,7 +4441,7 @@ public function moveFileExceptionTest() } /** @test */ - public function pullGitCommitsTest() + public function queryUserRootContentsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2911,32 +4449,33 @@ public function pullGitCommitsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new PullGitCommitsResponse(); + $nextPageToken = ''; + $entriesElement = new RootContentsEntry(); + $entries = [$entriesElement]; + $expectedResponse = new QueryUserRootContentsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setEntries($entries); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $author = new CommitAuthor(); - $authorName = 'authorName-1501539658'; - $author->setName($authorName); - $authorEmailAddress = 'authorEmailAddress-6398493'; - $author->setEmailAddress($authorEmailAddress); - $request = (new PullGitCommitsRequest())->setName($formattedName)->setAuthor($author); - $response = $gapicClient->pullGitCommits($request); - $this->assertEquals($expectedResponse, $response); + $formattedLocation = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new QueryUserRootContentsRequest())->setLocation($formattedLocation); + $response = $gapicClient->queryUserRootContents($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getEntries()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/PullGitCommits', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); - $actualValue = $actualRequestObject->getAuthor(); - $this->assertProtobufEquals($author, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryUserRootContents', $actualFuncCall); + $actualValue = $actualRequestObject->getLocation(); + $this->assertProtobufEquals($formattedLocation, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function pullGitCommitsExceptionTest() + public function queryUserRootContentsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2957,15 +4496,10 @@ public function pullGitCommitsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $author = new CommitAuthor(); - $authorName = 'authorName-1501539658'; - $author->setName($authorName); - $authorEmailAddress = 'authorEmailAddress-6398493'; - $author->setEmailAddress($authorEmailAddress); - $request = (new PullGitCommitsRequest())->setName($formattedName)->setAuthor($author); + $formattedLocation = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new QueryUserRootContentsRequest())->setLocation($formattedLocation); try { - $gapicClient->pullGitCommits($request); + $gapicClient->queryUserRootContents($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -2978,7 +4512,7 @@ public function pullGitCommitsExceptionTest() } /** @test */ - public function pushGitCommitsTest() + public function queryWorkflowInvocationActionsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -2986,25 +4520,38 @@ public function pushGitCommitsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new PushGitCommitsResponse(); + $nextPageToken = ''; + $workflowInvocationActionsElement = new WorkflowInvocationAction(); + $workflowInvocationActions = [$workflowInvocationActionsElement]; + $expectedResponse = new QueryWorkflowInvocationActionsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setWorkflowInvocationActions($workflowInvocationActions); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new PushGitCommitsRequest())->setName($formattedName); - $response = $gapicClient->pushGitCommits($request); - $this->assertEquals($expectedResponse, $response); + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new QueryWorkflowInvocationActionsRequest())->setName($formattedName); + $response = $gapicClient->queryWorkflowInvocationActions($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getWorkflowInvocationActions()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/PushGitCommits', $actualFuncCall); + $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryWorkflowInvocationActions', $actualFuncCall); $actualValue = $actualRequestObject->getName(); $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function pushGitCommitsExceptionTest() + public function queryWorkflowInvocationActionsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3025,10 +4572,15 @@ public function pushGitCommitsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new PushGitCommitsRequest())->setName($formattedName); + $formattedName = $gapicClient->workflowInvocationName( + '[PROJECT]', + '[LOCATION]', + '[REPOSITORY]', + '[WORKFLOW_INVOCATION]' + ); + $request = (new QueryWorkflowInvocationActionsRequest())->setName($formattedName); try { - $gapicClient->pushGitCommits($request); + $gapicClient->queryWorkflowInvocationActions($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3041,7 +4593,7 @@ public function pushGitCommitsExceptionTest() } /** @test */ - public function queryCompilationResultActionsTest() + public function readFileTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3049,38 +4601,30 @@ public function queryCompilationResultActionsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $compilationResultActionsElement = new CompilationResultAction(); - $compilationResultActions = [$compilationResultActionsElement]; - $expectedResponse = new QueryCompilationResultActionsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setCompilationResultActions($compilationResultActions); + $fileContents = '125'; + $expectedResponse = new ReadFileResponse(); + $expectedResponse->setFileContents($fileContents); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->compilationResultName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[COMPILATION_RESULT]' - ); - $request = (new QueryCompilationResultActionsRequest())->setName($formattedName); - $response = $gapicClient->queryCompilationResultActions($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getCompilationResultActions()[0], $resources[0]); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new ReadFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $response = $gapicClient->readFile($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryCompilationResultActions', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ReadFile', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function queryCompilationResultActionsExceptionTest() + public function readFileExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3101,15 +4645,11 @@ public function queryCompilationResultActionsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->compilationResultName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[COMPILATION_RESULT]' - ); - $request = (new QueryCompilationResultActionsRequest())->setName($formattedName); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new ReadFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); try { - $gapicClient->queryCompilationResultActions($request); + $gapicClient->readFile($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3122,7 +4662,7 @@ public function queryCompilationResultActionsExceptionTest() } /** @test */ - public function queryDirectoryContentsTest() + public function readRepositoryFileTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3130,33 +4670,30 @@ public function queryDirectoryContentsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $directoryEntriesElement = new DirectoryEntry(); - $directoryEntries = [$directoryEntriesElement]; - $expectedResponse = new QueryDirectoryContentsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setDirectoryEntries($directoryEntries); + $contents = '26'; + $expectedResponse = new ReadRepositoryFileResponse(); + $expectedResponse->setContents($contents); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new QueryDirectoryContentsRequest())->setWorkspace($formattedWorkspace); - $response = $gapicClient->queryDirectoryContents($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getDirectoryEntries()[0], $resources[0]); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $path = 'path3433509'; + $request = (new ReadRepositoryFileRequest())->setName($formattedName)->setPath($path); + $response = $gapicClient->readRepositoryFile($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryDirectoryContents', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ReadRepositoryFile', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function queryDirectoryContentsExceptionTest() + public function readRepositoryFileExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3177,10 +4714,11 @@ public function queryDirectoryContentsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new QueryDirectoryContentsRequest())->setWorkspace($formattedWorkspace); + $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); + $path = 'path3433509'; + $request = (new ReadRepositoryFileRequest())->setName($formattedName)->setPath($path); try { - $gapicClient->queryDirectoryContents($request); + $gapicClient->readRepositoryFile($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3193,7 +4731,7 @@ public function queryDirectoryContentsExceptionTest() } /** @test */ - public function queryRepositoryDirectoryContentsTest() + public function removeDirectoryTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3201,33 +4739,28 @@ public function queryRepositoryDirectoryContentsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $directoryEntriesElement = new DirectoryEntry(); - $directoryEntries = [$directoryEntriesElement]; - $expectedResponse = new QueryRepositoryDirectoryContentsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setDirectoryEntries($directoryEntries); + $expectedResponse = new RemoveDirectoryResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new QueryRepositoryDirectoryContentsRequest())->setName($formattedName); - $response = $gapicClient->queryRepositoryDirectoryContents($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getDirectoryEntries()[0], $resources[0]); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new RemoveDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $response = $gapicClient->removeDirectory($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryRepositoryDirectoryContents', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/RemoveDirectory', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function queryRepositoryDirectoryContentsExceptionTest() + public function removeDirectoryExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3248,10 +4781,11 @@ public function queryRepositoryDirectoryContentsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $request = (new QueryRepositoryDirectoryContentsRequest())->setName($formattedName); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new RemoveDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); try { - $gapicClient->queryRepositoryDirectoryContents($request); + $gapicClient->removeDirectory($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3264,7 +4798,7 @@ public function queryRepositoryDirectoryContentsExceptionTest() } /** @test */ - public function queryWorkflowInvocationActionsTest() + public function removeFileTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3272,38 +4806,28 @@ public function queryWorkflowInvocationActionsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $workflowInvocationActionsElement = new WorkflowInvocationAction(); - $workflowInvocationActions = [$workflowInvocationActionsElement]; - $expectedResponse = new QueryWorkflowInvocationActionsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setWorkflowInvocationActions($workflowInvocationActions); + $expectedResponse = new RemoveFileResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new QueryWorkflowInvocationActionsRequest())->setName($formattedName); - $response = $gapicClient->queryWorkflowInvocationActions($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getWorkflowInvocationActions()[0], $resources[0]); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new RemoveFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $response = $gapicClient->removeFile($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/QueryWorkflowInvocationActions', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/RemoveFile', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $actualValue = $actualRequestObject->getPath(); + $this->assertProtobufEquals($path, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function queryWorkflowInvocationActionsExceptionTest() + public function removeFileExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3324,15 +4848,11 @@ public function queryWorkflowInvocationActionsExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workflowInvocationName( - '[PROJECT]', - '[LOCATION]', - '[REPOSITORY]', - '[WORKFLOW_INVOCATION]' - ); - $request = (new QueryWorkflowInvocationActionsRequest())->setName($formattedName); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $path = 'path3433509'; + $request = (new RemoveFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); try { - $gapicClient->queryWorkflowInvocationActions($request); + $gapicClient->removeFile($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3345,7 +4865,7 @@ public function queryWorkflowInvocationActionsExceptionTest() } /** @test */ - public function readFileTest() + public function resetWorkspaceChangesTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3353,30 +4873,25 @@ public function readFileTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $fileContents = '125'; - $expectedResponse = new ReadFileResponse(); - $expectedResponse->setFileContents($fileContents); + $expectedResponse = new ResetWorkspaceChangesResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new ReadFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); - $response = $gapicClient->readFile($request); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new ResetWorkspaceChangesRequest())->setName($formattedName); + $response = $gapicClient->resetWorkspaceChanges($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ReadFile', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/ResetWorkspaceChanges', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function readFileExceptionTest() + public function resetWorkspaceChangesExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3397,11 +4912,10 @@ public function readFileExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new ReadFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new ResetWorkspaceChangesRequest())->setName($formattedName); try { - $gapicClient->readFile($request); + $gapicClient->resetWorkspaceChanges($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3414,7 +4928,7 @@ public function readFileExceptionTest() } /** @test */ - public function readRepositoryFileTest() + public function searchFilesTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3422,30 +4936,33 @@ public function readRepositoryFileTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $contents = '26'; - $expectedResponse = new ReadRepositoryFileResponse(); - $expectedResponse->setContents($contents); + $nextPageToken = ''; + $searchResultsElement = new SearchResult(); + $searchResults = [$searchResultsElement]; + $expectedResponse = new SearchFilesResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setSearchResults($searchResults); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $path = 'path3433509'; - $request = (new ReadRepositoryFileRequest())->setName($formattedName)->setPath($path); - $response = $gapicClient->readRepositoryFile($request); - $this->assertEquals($expectedResponse, $response); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new SearchFilesRequest())->setWorkspace($formattedWorkspace); + $response = $gapicClient->searchFiles($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getSearchResults()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ReadRepositoryFile', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/SearchFiles', $actualFuncCall); + $actualValue = $actualRequestObject->getWorkspace(); + $this->assertProtobufEquals($formattedWorkspace, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function readRepositoryFileExceptionTest() + public function searchFilesExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3466,11 +4983,10 @@ public function readRepositoryFileExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->repositoryName('[PROJECT]', '[LOCATION]', '[REPOSITORY]'); - $path = 'path3433509'; - $request = (new ReadRepositoryFileRequest())->setName($formattedName)->setPath($path); + $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); + $request = (new SearchFilesRequest())->setWorkspace($formattedWorkspace); try { - $gapicClient->readRepositoryFile($request); + $gapicClient->searchFiles($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3483,7 +4999,7 @@ public function readRepositoryFileExceptionTest() } /** @test */ - public function removeDirectoryTest() + public function searchTeamFoldersTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3491,28 +5007,33 @@ public function removeDirectoryTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new RemoveDirectoryResponse(); + $nextPageToken = ''; + $resultsElement = new TeamFolderSearchResult(); + $results = [$resultsElement]; + $expectedResponse = new SearchTeamFoldersResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setResults($results); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new RemoveDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); - $response = $gapicClient->removeDirectory($request); - $this->assertEquals($expectedResponse, $response); + $formattedLocation = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new SearchTeamFoldersRequest())->setLocation($formattedLocation); + $response = $gapicClient->searchTeamFolders($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getResults()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/RemoveDirectory', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/SearchTeamFolders', $actualFuncCall); + $actualValue = $actualRequestObject->getLocation(); + $this->assertProtobufEquals($formattedLocation, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function removeDirectoryExceptionTest() + public function searchTeamFoldersExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3533,11 +5054,10 @@ public function removeDirectoryExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new RemoveDirectoryRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $formattedLocation = $gapicClient->locationName('[PROJECT]', '[LOCATION]'); + $request = (new SearchTeamFoldersRequest())->setLocation($formattedLocation); try { - $gapicClient->removeDirectory($request); + $gapicClient->searchTeamFolders($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3550,7 +5070,7 @@ public function removeDirectoryExceptionTest() } /** @test */ - public function removeFileTest() + public function setIamPolicyTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3558,28 +5078,32 @@ public function removeFileTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new RemoveFileResponse(); + $version = 351608024; + $etag = '21'; + $expectedResponse = new Policy(); + $expectedResponse->setVersion($version); + $expectedResponse->setEtag($etag); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new RemoveFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); - $response = $gapicClient->removeFile($request); + $resource = 'resource-341064690'; + $policy = new Policy(); + $request = (new SetIamPolicyRequest())->setResource($resource)->setPolicy($policy); + $response = $gapicClient->setIamPolicy($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/RemoveFile', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); - $actualValue = $actualRequestObject->getPath(); - $this->assertProtobufEquals($path, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/SetIamPolicy', $actualFuncCall); + $actualValue = $actualRequestObject->getResource(); + $this->assertProtobufEquals($resource, $actualValue); + $actualValue = $actualRequestObject->getPolicy(); + $this->assertProtobufEquals($policy, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function removeFileExceptionTest() + public function setIamPolicyExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3600,11 +5124,11 @@ public function removeFileExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $path = 'path3433509'; - $request = (new RemoveFileRequest())->setWorkspace($formattedWorkspace)->setPath($path); + $resource = 'resource-341064690'; + $policy = new Policy(); + $request = (new SetIamPolicyRequest())->setResource($resource)->setPolicy($policy); try { - $gapicClient->removeFile($request); + $gapicClient->setIamPolicy($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3617,7 +5141,7 @@ public function removeFileExceptionTest() } /** @test */ - public function resetWorkspaceChangesTest() + public function testIamPermissionsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3625,25 +5149,28 @@ public function resetWorkspaceChangesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new ResetWorkspaceChangesResponse(); + $expectedResponse = new TestIamPermissionsResponse(); $transport->addResponse($expectedResponse); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new ResetWorkspaceChangesRequest())->setName($formattedName); - $response = $gapicClient->resetWorkspaceChanges($request); + $resource = 'resource-341064690'; + $permissions = []; + $request = (new TestIamPermissionsRequest())->setResource($resource)->setPermissions($permissions); + $response = $gapicClient->testIamPermissions($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/ResetWorkspaceChanges', $actualFuncCall); - $actualValue = $actualRequestObject->getName(); - $this->assertProtobufEquals($formattedName, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/TestIamPermissions', $actualFuncCall); + $actualValue = $actualRequestObject->getResource(); + $this->assertProtobufEquals($resource, $actualValue); + $actualValue = $actualRequestObject->getPermissions(); + $this->assertProtobufEquals($permissions, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function resetWorkspaceChangesExceptionTest() + public function testIamPermissionsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3664,10 +5191,11 @@ public function resetWorkspaceChangesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedName = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new ResetWorkspaceChangesRequest())->setName($formattedName); + $resource = 'resource-341064690'; + $permissions = []; + $request = (new TestIamPermissionsRequest())->setResource($resource)->setPermissions($permissions); try { - $gapicClient->resetWorkspaceChanges($request); + $gapicClient->testIamPermissions($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3680,7 +5208,7 @@ public function resetWorkspaceChangesExceptionTest() } /** @test */ - public function searchFilesTest() + public function updateConfigTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3688,33 +5216,31 @@ public function searchFilesTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $searchResultsElement = new SearchResult(); - $searchResults = [$searchResultsElement]; - $expectedResponse = new SearchFilesResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setSearchResults($searchResults); + $name = 'name3373707'; + $defaultKmsKeyName = 'defaultKmsKeyName-635012393'; + $internalMetadata = 'internalMetadata-1087755663'; + $expectedResponse = new Config(); + $expectedResponse->setName($name); + $expectedResponse->setDefaultKmsKeyName($defaultKmsKeyName); + $expectedResponse->setInternalMetadata($internalMetadata); $transport->addResponse($expectedResponse); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new SearchFilesRequest())->setWorkspace($formattedWorkspace); - $response = $gapicClient->searchFiles($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getSearchResults()[0], $resources[0]); + $config = new Config(); + $request = (new UpdateConfigRequest())->setConfig($config); + $response = $gapicClient->updateConfig($request); + $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/SearchFiles', $actualFuncCall); - $actualValue = $actualRequestObject->getWorkspace(); - $this->assertProtobufEquals($formattedWorkspace, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/UpdateConfig', $actualFuncCall); + $actualValue = $actualRequestObject->getConfig(); + $this->assertProtobufEquals($config, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function searchFilesExceptionTest() + public function updateConfigExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3735,10 +5261,10 @@ public function searchFilesExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $formattedWorkspace = $gapicClient->workspaceName('[PROJECT]', '[LOCATION]', '[REPOSITORY]', '[WORKSPACE]'); - $request = (new SearchFilesRequest())->setWorkspace($formattedWorkspace); + $config = new Config(); + $request = (new UpdateConfigRequest())->setConfig($config); try { - $gapicClient->searchFiles($request); + $gapicClient->updateConfig($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3751,7 +5277,7 @@ public function searchFilesExceptionTest() } /** @test */ - public function updateConfigTest() + public function updateFolderTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3760,28 +5286,38 @@ public function updateConfigTest() $this->assertTrue($transport->isExhausted()); // Mock response $name = 'name3373707'; - $defaultKmsKeyName = 'defaultKmsKeyName-635012393'; - $expectedResponse = new Config(); + $displayName = 'displayName1615086568'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; + $internalMetadata = 'internalMetadata-1087755663'; + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new Folder(); $expectedResponse->setName($name); - $expectedResponse->setDefaultKmsKeyName($defaultKmsKeyName); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); $transport->addResponse($expectedResponse); // Mock request - $config = new Config(); - $request = (new UpdateConfigRequest())->setConfig($config); - $response = $gapicClient->updateConfig($request); + $folder = new Folder(); + $folderDisplayName = 'folderDisplayName1703145759'; + $folder->setDisplayName($folderDisplayName); + $request = (new UpdateFolderRequest())->setFolder($folder); + $response = $gapicClient->updateFolder($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.dataform.v1.Dataform/UpdateConfig', $actualFuncCall); - $actualValue = $actualRequestObject->getConfig(); - $this->assertProtobufEquals($config, $actualValue); + $this->assertSame('/google.cloud.dataform.v1.Dataform/UpdateFolder', $actualFuncCall); + $actualValue = $actualRequestObject->getFolder(); + $this->assertProtobufEquals($folder, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function updateConfigExceptionTest() + public function updateFolderExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -3802,10 +5338,12 @@ public function updateConfigExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $config = new Config(); - $request = (new UpdateConfigRequest())->setConfig($config); + $folder = new Folder(); + $folderDisplayName = 'folderDisplayName1703145759'; + $folder->setDisplayName($folderDisplayName); + $request = (new UpdateFolderRequest())->setFolder($folder); try { - $gapicClient->updateConfig($request); + $gapicClient->updateFolder($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -3908,6 +5446,8 @@ public function updateRepositoryTest() $this->assertTrue($transport->isExhausted()); // Mock response $name = 'name3373707'; + $containingFolder = 'containingFolder2137746239'; + $teamFolderName = 'teamFolderName-1375688486'; $displayName = 'displayName1615086568'; $npmrcEnvironmentVariablesSecretVersion = 'npmrcEnvironmentVariablesSecretVersion-2118517056'; $setAuthenticatedUserAdmin = true; @@ -3916,6 +5456,8 @@ public function updateRepositoryTest() $internalMetadata = 'internalMetadata-1087755663'; $expectedResponse = new Repository(); $expectedResponse->setName($name); + $expectedResponse->setContainingFolder($containingFolder); + $expectedResponse->setTeamFolderName($teamFolderName); $expectedResponse->setDisplayName($displayName); $expectedResponse->setNpmrcEnvironmentVariablesSecretVersion($npmrcEnvironmentVariablesSecretVersion); $expectedResponse->setSetAuthenticatedUserAdmin($setAuthenticatedUserAdmin); @@ -3975,6 +5517,81 @@ public function updateRepositoryExceptionTest() $this->assertTrue($transport->isExhausted()); } + /** @test */ + public function updateTeamFolderTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $name = 'name3373707'; + $displayName = 'displayName1615086568'; + $internalMetadata = 'internalMetadata-1087755663'; + $creatorIamPrincipal = 'creatorIamPrincipal866086897'; + $expectedResponse = new TeamFolder(); + $expectedResponse->setName($name); + $expectedResponse->setDisplayName($displayName); + $expectedResponse->setInternalMetadata($internalMetadata); + $expectedResponse->setCreatorIamPrincipal($creatorIamPrincipal); + $transport->addResponse($expectedResponse); + // Mock request + $teamFolder = new TeamFolder(); + $teamFolderDisplayName = 'teamFolderDisplayName136139842'; + $teamFolder->setDisplayName($teamFolderDisplayName); + $request = (new UpdateTeamFolderRequest())->setTeamFolder($teamFolder); + $response = $gapicClient->updateTeamFolder($request); + $this->assertEquals($expectedResponse, $response); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.dataform.v1.Dataform/UpdateTeamFolder', $actualFuncCall); + $actualValue = $actualRequestObject->getTeamFolder(); + $this->assertProtobufEquals($teamFolder, $actualValue); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function updateTeamFolderExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + // Mock request + $teamFolder = new TeamFolder(); + $teamFolderDisplayName = 'teamFolderDisplayName136139842'; + $teamFolder->setDisplayName($teamFolderDisplayName); + $request = (new UpdateTeamFolderRequest())->setTeamFolder($teamFolder); + try { + $gapicClient->updateTeamFolder($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + /** @test */ public function updateWorkflowConfigTest() { @@ -4142,7 +5759,7 @@ public function writeFileExceptionTest() } /** @test */ - public function getLocationTest() + public function cancelOperationTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4150,27 +5767,24 @@ public function getLocationTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $name2 = 'name2-1052831874'; - $locationId = 'locationId552319461'; - $displayName = 'displayName1615086568'; - $expectedResponse = new Location(); - $expectedResponse->setName($name2); - $expectedResponse->setLocationId($locationId); - $expectedResponse->setDisplayName($displayName); + $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); - $request = new GetLocationRequest(); - $response = $gapicClient->getLocation($request); - $this->assertEquals($expectedResponse, $response); + // Mock request + $name = 'name3373707'; + $request = (new CancelOperationRequest())->setName($name); + $gapicClient->cancelOperation($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.location.Locations/GetLocation', $actualFuncCall); + $this->assertSame('/google.longrunning.Operations/CancelOperation', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($name, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getLocationExceptionTest() + public function cancelOperationExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4190,9 +5804,11 @@ public function getLocationExceptionTest() JSON_PRETTY_PRINT ); $transport->addResponse(null, $status); - $request = new GetLocationRequest(); + // Mock request + $name = 'name3373707'; + $request = (new CancelOperationRequest())->setName($name); try { - $gapicClient->getLocation($request); + $gapicClient->cancelOperation($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -4205,7 +5821,7 @@ public function getLocationExceptionTest() } /** @test */ - public function listLocationsTest() + public function deleteOperationTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4213,29 +5829,24 @@ public function listLocationsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $nextPageToken = ''; - $locationsElement = new Location(); - $locations = [$locationsElement]; - $expectedResponse = new ListLocationsResponse(); - $expectedResponse->setNextPageToken($nextPageToken); - $expectedResponse->setLocations($locations); + $expectedResponse = new GPBEmpty(); $transport->addResponse($expectedResponse); - $request = new ListLocationsRequest(); - $response = $gapicClient->listLocations($request); - $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); - $resources = iterator_to_array($response->iterateAllElements()); - $this->assertSame(1, count($resources)); - $this->assertEquals($expectedResponse->getLocations()[0], $resources[0]); + // Mock request + $name = 'name3373707'; + $request = (new DeleteOperationRequest())->setName($name); + $gapicClient->deleteOperation($request); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.cloud.location.Locations/ListLocations', $actualFuncCall); + $this->assertSame('/google.longrunning.Operations/DeleteOperation', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($name, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function listLocationsExceptionTest() + public function deleteOperationExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4255,9 +5866,11 @@ public function listLocationsExceptionTest() JSON_PRETTY_PRINT ); $transport->addResponse(null, $status); - $request = new ListLocationsRequest(); + // Mock request + $name = 'name3373707'; + $request = (new DeleteOperationRequest())->setName($name); try { - $gapicClient->listLocations($request); + $gapicClient->deleteOperation($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -4270,7 +5883,7 @@ public function listLocationsExceptionTest() } /** @test */ - public function getIamPolicyTest() + public function getOperationTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4278,29 +5891,29 @@ public function getIamPolicyTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $version = 351608024; - $etag = '21'; - $expectedResponse = new Policy(); - $expectedResponse->setVersion($version); - $expectedResponse->setEtag($etag); + $name2 = 'name2-1052831874'; + $done = true; + $expectedResponse = new Operation(); + $expectedResponse->setName($name2); + $expectedResponse->setDone($done); $transport->addResponse($expectedResponse); // Mock request - $resource = 'resource-341064690'; - $request = (new GetIamPolicyRequest())->setResource($resource); - $response = $gapicClient->getIamPolicy($request); + $name = 'name3373707'; + $request = (new GetOperationRequest())->setName($name); + $response = $gapicClient->getOperation($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.iam.v1.IAMPolicy/GetIamPolicy', $actualFuncCall); - $actualValue = $actualRequestObject->getResource(); - $this->assertProtobufEquals($resource, $actualValue); + $this->assertSame('/google.longrunning.Operations/GetOperation', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($name, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function getIamPolicyExceptionTest() + public function getOperationExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4321,10 +5934,10 @@ public function getIamPolicyExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $resource = 'resource-341064690'; - $request = (new GetIamPolicyRequest())->setResource($resource); + $name = 'name3373707'; + $request = (new GetOperationRequest())->setName($name); try { - $gapicClient->getIamPolicy($request); + $gapicClient->getOperation($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -4337,7 +5950,7 @@ public function getIamPolicyExceptionTest() } /** @test */ - public function setIamPolicyTest() + public function listOperationsTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4345,32 +5958,36 @@ public function setIamPolicyTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $version = 351608024; - $etag = '21'; - $expectedResponse = new Policy(); - $expectedResponse->setVersion($version); - $expectedResponse->setEtag($etag); + $nextPageToken = ''; + $operationsElement = new Operation(); + $operations = [$operationsElement]; + $expectedResponse = new ListOperationsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setOperations($operations); $transport->addResponse($expectedResponse); // Mock request - $resource = 'resource-341064690'; - $policy = new Policy(); - $request = (new SetIamPolicyRequest())->setResource($resource)->setPolicy($policy); - $response = $gapicClient->setIamPolicy($request); - $this->assertEquals($expectedResponse, $response); + $name = 'name3373707'; + $filter = 'filter-1274492040'; + $request = (new ListOperationsRequest())->setName($name)->setFilter($filter); + $response = $gapicClient->listOperations($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getOperations()[0], $resources[0]); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.iam.v1.IAMPolicy/SetIamPolicy', $actualFuncCall); - $actualValue = $actualRequestObject->getResource(); - $this->assertProtobufEquals($resource, $actualValue); - $actualValue = $actualRequestObject->getPolicy(); - $this->assertProtobufEquals($policy, $actualValue); + $this->assertSame('/google.longrunning.Operations/ListOperations', $actualFuncCall); + $actualValue = $actualRequestObject->getName(); + $this->assertProtobufEquals($name, $actualValue); + $actualValue = $actualRequestObject->getFilter(); + $this->assertProtobufEquals($filter, $actualValue); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function setIamPolicyExceptionTest() + public function listOperationsExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4391,11 +6008,11 @@ public function setIamPolicyExceptionTest() ); $transport->addResponse(null, $status); // Mock request - $resource = 'resource-341064690'; - $policy = new Policy(); - $request = (new SetIamPolicyRequest())->setResource($resource)->setPolicy($policy); + $name = 'name3373707'; + $filter = 'filter-1274492040'; + $request = (new ListOperationsRequest())->setName($name)->setFilter($filter); try { - $gapicClient->setIamPolicy($request); + $gapicClient->listOperations($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) { @@ -4408,7 +6025,7 @@ public function setIamPolicyExceptionTest() } /** @test */ - public function testIamPermissionsTest() + public function getLocationTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4416,28 +6033,27 @@ public function testIamPermissionsTest() ]); $this->assertTrue($transport->isExhausted()); // Mock response - $expectedResponse = new TestIamPermissionsResponse(); + $name2 = 'name2-1052831874'; + $locationId = 'locationId552319461'; + $displayName = 'displayName1615086568'; + $expectedResponse = new Location(); + $expectedResponse->setName($name2); + $expectedResponse->setLocationId($locationId); + $expectedResponse->setDisplayName($displayName); $transport->addResponse($expectedResponse); - // Mock request - $resource = 'resource-341064690'; - $permissions = []; - $request = (new TestIamPermissionsRequest())->setResource($resource)->setPermissions($permissions); - $response = $gapicClient->testIamPermissions($request); + $request = new GetLocationRequest(); + $response = $gapicClient->getLocation($request); $this->assertEquals($expectedResponse, $response); $actualRequests = $transport->popReceivedCalls(); $this->assertSame(1, count($actualRequests)); $actualFuncCall = $actualRequests[0]->getFuncCall(); $actualRequestObject = $actualRequests[0]->getRequestObject(); - $this->assertSame('/google.iam.v1.IAMPolicy/TestIamPermissions', $actualFuncCall); - $actualValue = $actualRequestObject->getResource(); - $this->assertProtobufEquals($resource, $actualValue); - $actualValue = $actualRequestObject->getPermissions(); - $this->assertProtobufEquals($permissions, $actualValue); + $this->assertSame('/google.cloud.location.Locations/GetLocation', $actualFuncCall); $this->assertTrue($transport->isExhausted()); } /** @test */ - public function testIamPermissionsExceptionTest() + public function getLocationExceptionTest() { $transport = $this->createTransport(); $gapicClient = $this->createClient([ @@ -4457,12 +6073,74 @@ public function testIamPermissionsExceptionTest() JSON_PRETTY_PRINT ); $transport->addResponse(null, $status); - // Mock request - $resource = 'resource-341064690'; - $permissions = []; - $request = (new TestIamPermissionsRequest())->setResource($resource)->setPermissions($permissions); + $request = new GetLocationRequest(); try { - $gapicClient->testIamPermissions($request); + $gapicClient->getLocation($request); + // If the $gapicClient method call did not throw, fail the test + $this->fail('Expected an ApiException, but no exception was thrown.'); + } catch (ApiException $ex) { + $this->assertEquals($status->code, $ex->getCode()); + $this->assertEquals($expectedExceptionMessage, $ex->getMessage()); + } + // Call popReceivedCalls to ensure the stub is exhausted + $transport->popReceivedCalls(); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listLocationsTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + // Mock response + $nextPageToken = ''; + $locationsElement = new Location(); + $locations = [$locationsElement]; + $expectedResponse = new ListLocationsResponse(); + $expectedResponse->setNextPageToken($nextPageToken); + $expectedResponse->setLocations($locations); + $transport->addResponse($expectedResponse); + $request = new ListLocationsRequest(); + $response = $gapicClient->listLocations($request); + $this->assertEquals($expectedResponse, $response->getPage()->getResponseObject()); + $resources = iterator_to_array($response->iterateAllElements()); + $this->assertSame(1, count($resources)); + $this->assertEquals($expectedResponse->getLocations()[0], $resources[0]); + $actualRequests = $transport->popReceivedCalls(); + $this->assertSame(1, count($actualRequests)); + $actualFuncCall = $actualRequests[0]->getFuncCall(); + $actualRequestObject = $actualRequests[0]->getRequestObject(); + $this->assertSame('/google.cloud.location.Locations/ListLocations', $actualFuncCall); + $this->assertTrue($transport->isExhausted()); + } + + /** @test */ + public function listLocationsExceptionTest() + { + $transport = $this->createTransport(); + $gapicClient = $this->createClient([ + 'transport' => $transport, + ]); + $this->assertTrue($transport->isExhausted()); + $status = new stdClass(); + $status->code = Code::DATA_LOSS; + $status->details = 'internal error'; + $expectedExceptionMessage = json_encode( + [ + 'message' => 'internal error', + 'code' => Code::DATA_LOSS, + 'status' => 'DATA_LOSS', + 'details' => [], + ], + JSON_PRETTY_PRINT + ); + $transport->addResponse(null, $status); + $request = new ListLocationsRequest(); + try { + $gapicClient->listLocations($request); // If the $gapicClient method call did not throw, fail the test $this->fail('Expected an ApiException, but no exception was thrown.'); } catch (ApiException $ex) {