diff --git a/NetApp/metadata/V1/ActiveDirectory.php b/NetApp/metadata/V1/ActiveDirectory.php index bf164e317d9e..bdc4c8460eec 100644 Binary files a/NetApp/metadata/V1/ActiveDirectory.php and b/NetApp/metadata/V1/ActiveDirectory.php differ diff --git a/NetApp/metadata/V1/CloudNetappService.php b/NetApp/metadata/V1/CloudNetappService.php index d01606d849a6..4d1391f97236 100644 --- a/NetApp/metadata/V1/CloudNetappService.php +++ b/NetApp/metadata/V1/CloudNetappService.php @@ -32,7 +32,7 @@ public static function initOnce() { \GPBMetadata\Google\Protobuf\Timestamp::initOnce(); $pool->internalAddGeneratedFile( ' -_ +b 1google/cloud/netapp/v1/cloud_netapp_service.protogoogle.cloud.netapp.v1google/api/client.protogoogle/api/field_behavior.protogoogle/api/resource.proto-google/cloud/netapp/v1/active_directory.proto#google/cloud/netapp/v1/backup.proto*google/cloud/netapp/v1/backup_policy.proto)google/cloud/netapp/v1/backup_vault.proto google/cloud/netapp/v1/kms.proto(google/cloud/netapp/v1/replication.proto%google/cloud/netapp/v1/snapshot.proto)google/cloud/netapp/v1/storage_pool.proto#google/cloud/netapp/v1/volume.proto#google/longrunning/operations.protogoogle/protobuf/empty.protogoogle/protobuf/timestamp.proto" OperationMetadata4 create_time ( 2.google.protobuf.TimestampBA1 @@ -41,7 +41,7 @@ public static function initOnce() { verb ( BA status_message ( BA# requested_cancellation (BA - api_version ( BA2V + api_version ( BA2Y NetApp ListStoragePools/.google.cloud.netapp.v1.ListStoragePoolsRequest0.google.cloud.netapp.v1.ListStoragePoolsResponse"AAparent20/v1/{parent=projects/*/locations/*}/storagePools CreateStoragePool0.google.cloud.netapp.v1.CreateStoragePoolRequest.google.longrunning.Operation"A @@ -105,7 +105,11 @@ public static function initOnce() { ResumeReplication0.google.cloud.netapp.v1.ResumeReplicationRequest.google.longrunning.Operation"oA ReplicationOperationMetadataF"A/v1/{name=projects/*/locations/*/volumes/*/replications/*}:resume:* ReverseReplicationDirection:.google.cloud.netapp.v1.ReverseReplicationDirectionRequest.google.longrunning.Operation"yA - ReplicationOperationMetadataP"K/v1/{name=projects/*/locations/*/volumes/*/replications/*}:reverseDirection:* + ReplicationOperationMetadataP"K/v1/{name=projects/*/locations/*/volumes/*/replications/*}:reverseDirection:* +EstablishPeering/.google.cloud.netapp.v1.EstablishPeeringRequest.google.longrunning.Operation"yA + ReplicationOperationMetadataP"K/v1/{name=projects/*/locations/*/volumes/*/replications/*}:establishPeering:* +SyncReplication..google.cloud.netapp.v1.SyncReplicationRequest.google.longrunning.Operation"mA + ReplicationOperationMetadataD"?/v1/{name=projects/*/locations/*/volumes/*/replications/*}:sync:* CreateBackupVault0.google.cloud.netapp.v1.CreateBackupVaultRequest.google.longrunning.Operation"A BackupVaultOperationMetadataA#parent,backup_vault,backup_vault_id@"0/v1/{parent=projects/*/locations/*}/backupVaults: backup_vault GetBackupVault-.google.cloud.netapp.v1.GetBackupVaultRequest#.google.cloud.netapp.v1.BackupVault"?Aname20/v1/{name=projects/*/locations/*/backupVaults/*} diff --git a/NetApp/metadata/V1/Replication.php b/NetApp/metadata/V1/Replication.php index 3eb4d220e131..f7ec4c4736ca 100644 Binary files a/NetApp/metadata/V1/Replication.php and b/NetApp/metadata/V1/Replication.php differ diff --git a/NetApp/metadata/V1/Volume.php b/NetApp/metadata/V1/Volume.php index 5baa1469d2f1..1fb7eb54dad7 100644 Binary files a/NetApp/metadata/V1/Volume.php and b/NetApp/metadata/V1/Volume.php differ diff --git a/NetApp/samples/V1/NetAppClient/create_active_directory.php b/NetApp/samples/V1/NetAppClient/create_active_directory.php index 8053c3728643..ebe8b914ba46 100644 --- a/NetApp/samples/V1/NetAppClient/create_active_directory.php +++ b/NetApp/samples/V1/NetAppClient/create_active_directory.php @@ -43,9 +43,9 @@ * @param string $activeDirectoryUsername Username of the Active Directory domain administrator. * @param string $activeDirectoryPassword Password of the Active Directory domain administrator. * @param string $activeDirectoryId ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. */ function create_active_directory_sample( string $formattedParent, diff --git a/NetApp/samples/V1/NetAppClient/create_backup.php b/NetApp/samples/V1/NetAppClient/create_backup.php index e477512eb121..5f90adca3bc5 100644 --- a/NetApp/samples/V1/NetAppClient/create_backup.php +++ b/NetApp/samples/V1/NetAppClient/create_backup.php @@ -41,8 +41,8 @@ * Please see {@see NetAppClient::backupVaultName()} for help formatting this field. * @param string $backupId The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. */ function create_backup_sample(string $formattedParent, string $backupId): void diff --git a/NetApp/samples/V1/NetAppClient/create_backup_policy.php b/NetApp/samples/V1/NetAppClient/create_backup_policy.php index d64532162f1a..5078986d0674 100644 --- a/NetApp/samples/V1/NetAppClient/create_backup_policy.php +++ b/NetApp/samples/V1/NetAppClient/create_backup_policy.php @@ -38,8 +38,8 @@ * Please see {@see NetAppClient::locationName()} for help formatting this field. * @param string $backupPolicyId The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. */ function create_backup_policy_sample(string $formattedParent, string $backupPolicyId): void diff --git a/NetApp/samples/V1/NetAppClient/create_backup_vault.php b/NetApp/samples/V1/NetAppClient/create_backup_vault.php index 001717fd0a5e..bef3d55c9bc4 100644 --- a/NetApp/samples/V1/NetAppClient/create_backup_vault.php +++ b/NetApp/samples/V1/NetAppClient/create_backup_vault.php @@ -38,8 +38,8 @@ * Please see {@see NetAppClient::locationName()} for help formatting this field. * @param string $backupVaultId The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. */ function create_backup_vault_sample(string $formattedParent, string $backupVaultId): void diff --git a/NetApp/samples/V1/NetAppClient/create_kms_config.php b/NetApp/samples/V1/NetAppClient/create_kms_config.php index 1880e0490d1a..e061e65e942b 100644 --- a/NetApp/samples/V1/NetAppClient/create_kms_config.php +++ b/NetApp/samples/V1/NetAppClient/create_kms_config.php @@ -36,9 +36,9 @@ * @param string $formattedParent Value for parent. Please see * {@see NetAppClient::locationName()} for help formatting this field. * @param string $kmsConfigId Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * @param string $kmsConfigCryptoKeyName Customer managed crypto key resource full name. Format: * projects/{project}/locations/{location}/keyRings/{key_ring}/cryptoKeys/{key}. */ diff --git a/NetApp/samples/V1/NetAppClient/create_replication.php b/NetApp/samples/V1/NetAppClient/create_replication.php index 4eb86af3dc80..e5851e50e1e8 100644 --- a/NetApp/samples/V1/NetAppClient/create_replication.php +++ b/NetApp/samples/V1/NetAppClient/create_replication.php @@ -42,9 +42,9 @@ * @param string $formattedReplicationDestinationVolumeParametersStoragePool Existing destination StoragePool name. Please see * {@see NetAppClient::storagePoolName()} for help formatting this field. * @param string $replicationId ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. */ function create_replication_sample( string $formattedParent, diff --git a/NetApp/samples/V1/NetAppClient/create_snapshot.php b/NetApp/samples/V1/NetAppClient/create_snapshot.php index 6b99ae2091f1..9637134e505c 100644 --- a/NetApp/samples/V1/NetAppClient/create_snapshot.php +++ b/NetApp/samples/V1/NetAppClient/create_snapshot.php @@ -37,9 +37,9 @@ * `projects/{project_id}/locations/{location}/volumes/{volume_id}` * Please see {@see NetAppClient::volumeName()} for help formatting this field. * @param string $snapshotId ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. */ function create_snapshot_sample(string $formattedParent, string $snapshotId): void { diff --git a/NetApp/samples/V1/NetAppClient/create_storage_pool.php b/NetApp/samples/V1/NetAppClient/create_storage_pool.php index 7d3273330bda..1aaea5a63531 100644 --- a/NetApp/samples/V1/NetAppClient/create_storage_pool.php +++ b/NetApp/samples/V1/NetAppClient/create_storage_pool.php @@ -37,9 +37,9 @@ * @param string $formattedParent Value for parent. Please see * {@see NetAppClient::locationName()} for help formatting this field. * @param string $storagePoolId Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * @param int $storagePoolServiceLevel Service level of the storage pool * @param int $storagePoolCapacityGib Capacity in GIB of the pool * @param string $formattedStoragePoolNetwork VPC Network name. diff --git a/NetApp/samples/V1/NetAppClient/create_volume.php b/NetApp/samples/V1/NetAppClient/create_volume.php index afad235c0ce8..adfcf120b431 100644 --- a/NetApp/samples/V1/NetAppClient/create_volume.php +++ b/NetApp/samples/V1/NetAppClient/create_volume.php @@ -37,9 +37,9 @@ * @param string $formattedParent Value for parent. Please see * {@see NetAppClient::locationName()} for help formatting this field. * @param string $volumeId Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * @param string $volumeShareName Share name of the volume * @param string $formattedVolumeStoragePool StoragePool name of the volume * Please see {@see NetAppClient::storagePoolName()} for help formatting this field. diff --git a/NetApp/samples/V1/NetAppClient/establish_peering.php b/NetApp/samples/V1/NetAppClient/establish_peering.php new file mode 100644 index 000000000000..be35f66b1e4d --- /dev/null +++ b/NetApp/samples/V1/NetAppClient/establish_peering.php @@ -0,0 +1,105 @@ +setName($formattedName) + ->setPeerClusterName($peerClusterName) + ->setPeerSvmName($peerSvmName) + ->setPeerVolumeName($peerVolumeName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $netAppClient->establishPeering($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + /** @var Replication $result */ + $result = $response->getResult(); + printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString()); + } 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 = NetAppClient::replicationName( + '[PROJECT]', + '[LOCATION]', + '[VOLUME]', + '[REPLICATION]' + ); + $peerClusterName = '[PEER_CLUSTER_NAME]'; + $peerSvmName = '[PEER_SVM_NAME]'; + $peerVolumeName = '[PEER_VOLUME_NAME]'; + + establish_peering_sample($formattedName, $peerClusterName, $peerSvmName, $peerVolumeName); +} +// [END netapp_v1_generated_NetApp_EstablishPeering_sync] diff --git a/NetApp/samples/V1/NetAppClient/sync_replication.php b/NetApp/samples/V1/NetAppClient/sync_replication.php new file mode 100644 index 000000000000..a5c56078ede4 --- /dev/null +++ b/NetApp/samples/V1/NetAppClient/sync_replication.php @@ -0,0 +1,90 @@ +setName($formattedName); + + // Call the API and handle any network failures. + try { + /** @var OperationResponse $response */ + $response = $netAppClient->syncReplication($request); + $response->pollUntilComplete(); + + if ($response->operationSucceeded()) { + /** @var Replication $result */ + $result = $response->getResult(); + printf('Operation successful with response data: %s' . PHP_EOL, $result->serializeToJsonString()); + } 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 = NetAppClient::replicationName( + '[PROJECT]', + '[LOCATION]', + '[VOLUME]', + '[REPLICATION]' + ); + + sync_replication_sample($formattedName); +} +// [END netapp_v1_generated_NetApp_SyncReplication_sync] diff --git a/NetApp/src/V1/ActiveDirectory/State.php b/NetApp/src/V1/ActiveDirectory/State.php index eddffa522c42..2bf907bbbb28 100644 --- a/NetApp/src/V1/ActiveDirectory/State.php +++ b/NetApp/src/V1/ActiveDirectory/State.php @@ -55,6 +55,12 @@ class State * Generated from protobuf enum ERROR = 6; */ const ERROR = 6; + /** + * Active Directory State is Diagnosing. + * + * Generated from protobuf enum DIAGNOSING = 7; + */ + const DIAGNOSING = 7; private static $valueToName = [ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', @@ -64,6 +70,7 @@ class State self::IN_USE => 'IN_USE', self::DELETING => 'DELETING', self::ERROR => 'ERROR', + self::DIAGNOSING => 'DIAGNOSING', ]; public static function name($value) diff --git a/NetApp/src/V1/Client/NetAppClient.php b/NetApp/src/V1/Client/NetAppClient.php index 537ccf1f5381..2bf59158fe01 100644 --- a/NetApp/src/V1/Client/NetAppClient.php +++ b/NetApp/src/V1/Client/NetAppClient.php @@ -60,6 +60,7 @@ use Google\Cloud\NetApp\V1\DeleteStoragePoolRequest; use Google\Cloud\NetApp\V1\DeleteVolumeRequest; use Google\Cloud\NetApp\V1\EncryptVolumesRequest; +use Google\Cloud\NetApp\V1\EstablishPeeringRequest; use Google\Cloud\NetApp\V1\GetActiveDirectoryRequest; use Google\Cloud\NetApp\V1\GetBackupPolicyRequest; use Google\Cloud\NetApp\V1\GetBackupRequest; @@ -87,6 +88,7 @@ use Google\Cloud\NetApp\V1\StopReplicationRequest; use Google\Cloud\NetApp\V1\StoragePool; use Google\Cloud\NetApp\V1\SwitchActiveReplicaZoneRequest; +use Google\Cloud\NetApp\V1\SyncReplicationRequest; use Google\Cloud\NetApp\V1\UpdateActiveDirectoryRequest; use Google\Cloud\NetApp\V1\UpdateBackupPolicyRequest; use Google\Cloud\NetApp\V1\UpdateBackupRequest; @@ -133,6 +135,7 @@ * @method PromiseInterface deleteStoragePoolAsync(DeleteStoragePoolRequest $request, array $optionalArgs = []) * @method PromiseInterface deleteVolumeAsync(DeleteVolumeRequest $request, array $optionalArgs = []) * @method PromiseInterface encryptVolumesAsync(EncryptVolumesRequest $request, array $optionalArgs = []) + * @method PromiseInterface establishPeeringAsync(EstablishPeeringRequest $request, array $optionalArgs = []) * @method PromiseInterface getActiveDirectoryAsync(GetActiveDirectoryRequest $request, array $optionalArgs = []) * @method PromiseInterface getBackupAsync(GetBackupRequest $request, array $optionalArgs = []) * @method PromiseInterface getBackupPolicyAsync(GetBackupPolicyRequest $request, array $optionalArgs = []) @@ -156,6 +159,7 @@ * @method PromiseInterface revertVolumeAsync(RevertVolumeRequest $request, array $optionalArgs = []) * @method PromiseInterface stopReplicationAsync(StopReplicationRequest $request, array $optionalArgs = []) * @method PromiseInterface switchActiveReplicaZoneAsync(SwitchActiveReplicaZoneRequest $request, array $optionalArgs = []) + * @method PromiseInterface syncReplicationAsync(SyncReplicationRequest $request, array $optionalArgs = []) * @method PromiseInterface updateActiveDirectoryAsync(UpdateActiveDirectoryRequest $request, array $optionalArgs = []) * @method PromiseInterface updateBackupAsync(UpdateBackupRequest $request, array $optionalArgs = []) * @method PromiseInterface updateBackupPolicyAsync(UpdateBackupPolicyRequest $request, array $optionalArgs = []) @@ -1091,6 +1095,32 @@ public function encryptVolumes(EncryptVolumesRequest $request, array $callOption return $this->startApiCall('EncryptVolumes', $request, $callOptions)->wait(); } + /** + * Establish replication peering. + * + * The async variant is {@see NetAppClient::establishPeeringAsync()} . + * + * @example samples/V1/NetAppClient/establish_peering.php + * + * @param EstablishPeeringRequest $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 establishPeering(EstablishPeeringRequest $request, array $callOptions = []): OperationResponse + { + return $this->startApiCall('EstablishPeering', $request, $callOptions)->wait(); + } + /** * Describes a specified active directory. * @@ -1699,6 +1729,33 @@ public function switchActiveReplicaZone( return $this->startApiCall('SwitchActiveReplicaZone', $request, $callOptions)->wait(); } + /** + * Syncs the replication. This will invoke one time volume data transfer from + * source to destination. + * + * The async variant is {@see NetAppClient::syncReplicationAsync()} . + * + * @example samples/V1/NetAppClient/sync_replication.php + * + * @param SyncReplicationRequest $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 syncReplication(SyncReplicationRequest $request, array $callOptions = []): OperationResponse + { + return $this->startApiCall('SyncReplication', $request, $callOptions)->wait(); + } + /** * Update the parameters of an active directories. * diff --git a/NetApp/src/V1/CreateActiveDirectoryRequest.php b/NetApp/src/V1/CreateActiveDirectoryRequest.php index 6cdcacd44d11..85f410d1b5f7 100644 --- a/NetApp/src/V1/CreateActiveDirectoryRequest.php +++ b/NetApp/src/V1/CreateActiveDirectoryRequest.php @@ -29,9 +29,9 @@ class CreateActiveDirectoryRequest extends \Google\Protobuf\Internal\Message protected $active_directory = null; /** * Required. ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. * * Generated from protobuf field string active_directory_id = 3 [(.google.api.field_behavior) = REQUIRED]; */ @@ -42,9 +42,9 @@ class CreateActiveDirectoryRequest extends \Google\Protobuf\Internal\Message * {@see NetAppClient::locationName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\ActiveDirectory $activeDirectory Required. Fields of the to be created active directory. * @param string $activeDirectoryId Required. ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. * * @return \Google\Cloud\NetApp\V1\CreateActiveDirectoryRequest * @@ -70,9 +70,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\ActiveDirec * Required. Fields of the to be created active directory. * @type string $active_directory_id * Required. ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. * } */ public function __construct($data = NULL) { @@ -144,9 +144,9 @@ public function setActiveDirectory($var) /** * Required. ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. * * Generated from protobuf field string active_directory_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -158,9 +158,9 @@ public function getActiveDirectoryId() /** * Required. ID of the active directory to create. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter , the last a letter or a number, and a 63 + * character maximum. * * Generated from protobuf field string active_directory_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/CreateBackupPolicyRequest.php b/NetApp/src/V1/CreateBackupPolicyRequest.php index 62b07b5249d1..3141db1c5cb2 100644 --- a/NetApp/src/V1/CreateBackupPolicyRequest.php +++ b/NetApp/src/V1/CreateBackupPolicyRequest.php @@ -31,8 +31,8 @@ class CreateBackupPolicyRequest extends \Google\Protobuf\Internal\Message /** * Required. The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_policy_id = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -46,8 +46,8 @@ class CreateBackupPolicyRequest extends \Google\Protobuf\Internal\Message * @param \Google\Cloud\NetApp\V1\BackupPolicy $backupPolicy Required. A backupPolicy resource * @param string $backupPolicyId Required. The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateBackupPolicyRequest @@ -76,8 +76,8 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\BackupPolic * @type string $backup_policy_id * Required. The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * } */ @@ -153,8 +153,8 @@ public function setBackupPolicy($var) /** * Required. The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_policy_id = 3 [(.google.api.field_behavior) = REQUIRED]; @@ -168,8 +168,8 @@ public function getBackupPolicyId() /** * Required. The ID to use for the backup policy. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_policy_id = 3 [(.google.api.field_behavior) = REQUIRED]; diff --git a/NetApp/src/V1/CreateBackupRequest.php b/NetApp/src/V1/CreateBackupRequest.php index 549ae6a0b8ef..c596eeff07b0 100644 --- a/NetApp/src/V1/CreateBackupRequest.php +++ b/NetApp/src/V1/CreateBackupRequest.php @@ -25,8 +25,8 @@ class CreateBackupRequest extends \Google\Protobuf\Internal\Message /** * Required. The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_id = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -46,8 +46,8 @@ class CreateBackupRequest extends \Google\Protobuf\Internal\Message * @param \Google\Cloud\NetApp\V1\Backup $backup Required. A backup resource * @param string $backupId Required. The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateBackupRequest @@ -74,8 +74,8 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\Backup $bac * @type string $backup_id * Required. The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * @type \Google\Cloud\NetApp\V1\Backup $backup * Required. A backup resource @@ -117,8 +117,8 @@ public function setParent($var) /** * Required. The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_id = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -132,8 +132,8 @@ public function getBackupId() /** * Required. The ID to use for the backup. * The ID must be unique within the specified backupVault. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_id = 2 [(.google.api.field_behavior) = REQUIRED]; diff --git a/NetApp/src/V1/CreateBackupVaultRequest.php b/NetApp/src/V1/CreateBackupVaultRequest.php index b8b7f1d9c780..ca894cae60dd 100644 --- a/NetApp/src/V1/CreateBackupVaultRequest.php +++ b/NetApp/src/V1/CreateBackupVaultRequest.php @@ -25,8 +25,8 @@ class CreateBackupVaultRequest extends \Google\Protobuf\Internal\Message /** * Required. The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_vault_id = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -46,8 +46,8 @@ class CreateBackupVaultRequest extends \Google\Protobuf\Internal\Message * @param \Google\Cloud\NetApp\V1\BackupVault $backupVault Required. A backupVault resource * @param string $backupVaultId Required. The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateBackupVaultRequest @@ -74,8 +74,8 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\BackupVault * @type string $backup_vault_id * Required. The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * @type \Google\Cloud\NetApp\V1\BackupVault $backup_vault * Required. A backupVault resource @@ -117,8 +117,8 @@ public function setParent($var) /** * Required. The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_vault_id = 2 [(.google.api.field_behavior) = REQUIRED]; @@ -132,8 +132,8 @@ public function getBackupVaultId() /** * Required. The ID to use for the backupVault. * The ID must be unique within the specified location. - * Must contain only letters, numbers, underscore and hyphen, with the first - * character a letter or underscore, the last a letter or underscore or a + * Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a * number, and a 63 character maximum. * * Generated from protobuf field string backup_vault_id = 2 [(.google.api.field_behavior) = REQUIRED]; diff --git a/NetApp/src/V1/CreateKmsConfigRequest.php b/NetApp/src/V1/CreateKmsConfigRequest.php index 65ec1f26a3ce..7de6031f29f5 100644 --- a/NetApp/src/V1/CreateKmsConfigRequest.php +++ b/NetApp/src/V1/CreateKmsConfigRequest.php @@ -23,9 +23,9 @@ class CreateKmsConfigRequest extends \Google\Protobuf\Internal\Message protected $parent = ''; /** * Required. Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string kms_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; */ @@ -42,9 +42,9 @@ class CreateKmsConfigRequest extends \Google\Protobuf\Internal\Message * {@see NetAppClient::locationName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\KmsConfig $kmsConfig Required. The required parameters to create a new KmsConfig. * @param string $kmsConfigId Required. Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateKmsConfigRequest * @@ -68,9 +68,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\KmsConfig $ * Required. Value for parent. * @type string $kms_config_id * Required. Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * @type \Google\Cloud\NetApp\V1\KmsConfig $kms_config * Required. The required parameters to create a new KmsConfig. * } @@ -108,9 +108,9 @@ public function setParent($var) /** * Required. Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string kms_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -122,9 +122,9 @@ public function getKmsConfigId() /** * Required. Id of the requesting KmsConfig. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string kms_config_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/CreateReplicationRequest.php b/NetApp/src/V1/CreateReplicationRequest.php index 54f6d9e5b408..e47ad2bac9ce 100644 --- a/NetApp/src/V1/CreateReplicationRequest.php +++ b/NetApp/src/V1/CreateReplicationRequest.php @@ -30,9 +30,9 @@ class CreateReplicationRequest extends \Google\Protobuf\Internal\Message protected $replication = null; /** * Required. ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string replication_id = 3 [(.google.api.field_behavior) = REQUIRED]; */ @@ -44,9 +44,9 @@ class CreateReplicationRequest extends \Google\Protobuf\Internal\Message * Please see {@see NetAppClient::volumeName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\Replication $replication Required. A replication resource * @param string $replicationId Required. ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateReplicationRequest * @@ -73,9 +73,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\Replication * Required. A replication resource * @type string $replication_id * Required. ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * } */ public function __construct($data = NULL) { @@ -149,9 +149,9 @@ public function setReplication($var) /** * Required. ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string replication_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -163,9 +163,9 @@ public function getReplicationId() /** * Required. ID of the replication to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string replication_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/CreateSnapshotRequest.php b/NetApp/src/V1/CreateSnapshotRequest.php index 5fddc032501c..0056836998ea 100644 --- a/NetApp/src/V1/CreateSnapshotRequest.php +++ b/NetApp/src/V1/CreateSnapshotRequest.php @@ -30,9 +30,9 @@ class CreateSnapshotRequest extends \Google\Protobuf\Internal\Message protected $snapshot = null; /** * Required. ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string snapshot_id = 3 [(.google.api.field_behavior) = REQUIRED]; */ @@ -44,9 +44,9 @@ class CreateSnapshotRequest extends \Google\Protobuf\Internal\Message * Please see {@see NetAppClient::volumeName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\Snapshot $snapshot Required. A snapshot resource * @param string $snapshotId Required. ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateSnapshotRequest * @@ -73,9 +73,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\Snapshot $s * Required. A snapshot resource * @type string $snapshot_id * Required. ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * } */ public function __construct($data = NULL) { @@ -149,9 +149,9 @@ public function setSnapshot($var) /** * Required. ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string snapshot_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -163,9 +163,9 @@ public function getSnapshotId() /** * Required. ID of the snapshot to create. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a + * number, and a 63 character maximum. * * Generated from protobuf field string snapshot_id = 3 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/CreateStoragePoolRequest.php b/NetApp/src/V1/CreateStoragePoolRequest.php index b916487a536e..3a318931d7d9 100644 --- a/NetApp/src/V1/CreateStoragePoolRequest.php +++ b/NetApp/src/V1/CreateStoragePoolRequest.php @@ -23,9 +23,9 @@ class CreateStoragePoolRequest extends \Google\Protobuf\Internal\Message protected $parent = ''; /** * Required. Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * * Generated from protobuf field string storage_pool_id = 2 [(.google.api.field_behavior) = REQUIRED]; */ @@ -42,9 +42,9 @@ class CreateStoragePoolRequest extends \Google\Protobuf\Internal\Message * {@see NetAppClient::locationName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\StoragePool $storagePool Required. The required parameters to create a new storage pool. * @param string $storagePoolId Required. Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * * @return \Google\Cloud\NetApp\V1\CreateStoragePoolRequest * @@ -68,9 +68,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\StoragePool * Required. Value for parent. * @type string $storage_pool_id * Required. Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * @type \Google\Cloud\NetApp\V1\StoragePool $storage_pool * Required. The required parameters to create a new storage pool. * } @@ -108,9 +108,9 @@ public function setParent($var) /** * Required. Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * * Generated from protobuf field string storage_pool_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -122,9 +122,9 @@ public function getStoragePoolId() /** * Required. Id of the requesting storage pool. Must be unique within the - * parent resource. Must contain only letters, numbers, underscore and hyphen, - * with the first character a letter or underscore, the last a letter or - * underscore or a number, and a 63 character maximum. + * parent resource. Must contain only letters, numbers and hyphen, with the + * first character a letter, the last a letter or a number, and a 63 character + * maximum. * * Generated from protobuf field string storage_pool_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/CreateVolumeRequest.php b/NetApp/src/V1/CreateVolumeRequest.php index 06a9898b3b71..835184512afe 100644 --- a/NetApp/src/V1/CreateVolumeRequest.php +++ b/NetApp/src/V1/CreateVolumeRequest.php @@ -23,9 +23,9 @@ class CreateVolumeRequest extends \Google\Protobuf\Internal\Message protected $parent = ''; /** * Required. Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * * Generated from protobuf field string volume_id = 2 [(.google.api.field_behavior) = REQUIRED]; */ @@ -42,9 +42,9 @@ class CreateVolumeRequest extends \Google\Protobuf\Internal\Message * {@see NetAppClient::locationName()} for help formatting this field. * @param \Google\Cloud\NetApp\V1\Volume $volume Required. The volume being created. * @param string $volumeId Required. Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * * @return \Google\Cloud\NetApp\V1\CreateVolumeRequest * @@ -68,9 +68,9 @@ public static function build(string $parent, \Google\Cloud\NetApp\V1\Volume $vol * Required. Value for parent. * @type string $volume_id * Required. Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * @type \Google\Cloud\NetApp\V1\Volume $volume * Required. The volume being created. * } @@ -108,9 +108,9 @@ public function setParent($var) /** * Required. Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * * Generated from protobuf field string volume_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @return string @@ -122,9 +122,9 @@ public function getVolumeId() /** * Required. Id of the requesting volume. Must be unique within the parent - * resource. Must contain only letters, numbers, underscore and hyphen, with - * the first character a letter or underscore, the last a letter or underscore - * or a number, and a 63 character maximum. + * resource. Must contain only letters, numbers and hyphen, with the first + * character a letter, the last a letter or a number, + * and a 63 character maximum. * * Generated from protobuf field string volume_id = 2 [(.google.api.field_behavior) = REQUIRED]; * @param string $var diff --git a/NetApp/src/V1/DestinationVolumeParameters.php b/NetApp/src/V1/DestinationVolumeParameters.php index bf75c6b79011..c16912726bb3 100644 --- a/NetApp/src/V1/DestinationVolumeParameters.php +++ b/NetApp/src/V1/DestinationVolumeParameters.php @@ -44,6 +44,12 @@ class DestinationVolumeParameters extends \Google\Protobuf\Internal\Message * Generated from protobuf field optional string description = 4; */ protected $description = null; + /** + * Optional. Tiering policy for the volume. + * + * Generated from protobuf field optional .google.cloud.netapp.v1.TieringPolicy tiering_policy = 5 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $tiering_policy = null; /** * Constructor. @@ -63,6 +69,8 @@ class DestinationVolumeParameters extends \Google\Protobuf\Internal\Message * name will be used. * @type string $description * Description for the destination volume. + * @type \Google\Cloud\NetApp\V1\TieringPolicy $tiering_policy + * Optional. Tiering policy for the volume. * } */ public function __construct($data = NULL) { @@ -192,5 +200,41 @@ public function setDescription($var) return $this; } + /** + * Optional. Tiering policy for the volume. + * + * Generated from protobuf field optional .google.cloud.netapp.v1.TieringPolicy tiering_policy = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\NetApp\V1\TieringPolicy|null + */ + public function getTieringPolicy() + { + return $this->tiering_policy; + } + + public function hasTieringPolicy() + { + return isset($this->tiering_policy); + } + + public function clearTieringPolicy() + { + unset($this->tiering_policy); + } + + /** + * Optional. Tiering policy for the volume. + * + * Generated from protobuf field optional .google.cloud.netapp.v1.TieringPolicy tiering_policy = 5 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\NetApp\V1\TieringPolicy $var + * @return $this + */ + public function setTieringPolicy($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\NetApp\V1\TieringPolicy::class); + $this->tiering_policy = $var; + + return $this; + } + } diff --git a/NetApp/src/V1/EstablishPeeringRequest.php b/NetApp/src/V1/EstablishPeeringRequest.php new file mode 100644 index 000000000000..637a539ee544 --- /dev/null +++ b/NetApp/src/V1/EstablishPeeringRequest.php @@ -0,0 +1,220 @@ +google.cloud.netapp.v1.EstablishPeeringRequest + */ +class EstablishPeeringRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_cluster_name = ''; + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_svm_name = ''; + /** + * Optional. List of IPv4 ip addresses to be used for peering. + * + * Generated from protobuf field repeated string peer_ip_addresses = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $peer_ip_addresses; + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 5 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_volume_name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * @type string $peer_cluster_name + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * @type string $peer_svm_name + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * @type array|\Google\Protobuf\Internal\RepeatedField $peer_ip_addresses + * Optional. List of IPv4 ip addresses to be used for peering. + * @type string $peer_volume_name + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Netapp\V1\Replication::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * 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 resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * 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; + } + + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerClusterName() + { + return $this->peer_cluster_name; + } + + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerClusterName($var) + { + GPBUtil::checkString($var, True); + $this->peer_cluster_name = $var; + + return $this; + } + + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerSvmName() + { + return $this->peer_svm_name; + } + + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerSvmName($var) + { + GPBUtil::checkString($var, True); + $this->peer_svm_name = $var; + + return $this; + } + + /** + * Optional. List of IPv4 ip addresses to be used for peering. + * + * Generated from protobuf field repeated string peer_ip_addresses = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getPeerIpAddresses() + { + return $this->peer_ip_addresses; + } + + /** + * Optional. List of IPv4 ip addresses to be used for peering. + * + * Generated from protobuf field repeated string peer_ip_addresses = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setPeerIpAddresses($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->peer_ip_addresses = $arr; + + return $this; + } + + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 5 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerVolumeName() + { + return $this->peer_volume_name; + } + + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 5 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerVolumeName($var) + { + GPBUtil::checkString($var, True); + $this->peer_volume_name = $var; + + return $this; + } + +} + diff --git a/NetApp/src/V1/HybridPeeringDetails.php b/NetApp/src/V1/HybridPeeringDetails.php new file mode 100644 index 000000000000..ad8cfec53387 --- /dev/null +++ b/NetApp/src/V1/HybridPeeringDetails.php @@ -0,0 +1,187 @@ +google.cloud.netapp.v1.HybridPeeringDetails + */ +class HybridPeeringDetails extends \Google\Protobuf\Internal\Message +{ + /** + * Optional. IP address of the subnet. + * + * Generated from protobuf field string subnet_ip = 1 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $subnet_ip = ''; + /** + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept + * peering requests. + * + * Generated from protobuf field string command = 2 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $command = ''; + /** + * Optional. Expiration time for the peering command to be executed on user's + * ONTAP. + * + * Generated from protobuf field .google.protobuf.Timestamp command_expiry_time = 3 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $command_expiry_time = null; + /** + * Optional. Temporary passphrase generated to accept cluster peering command. + * + * Generated from protobuf field string passphrase = 4 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $passphrase = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $subnet_ip + * Optional. IP address of the subnet. + * @type string $command + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept + * peering requests. + * @type \Google\Protobuf\Timestamp $command_expiry_time + * Optional. Expiration time for the peering command to be executed on user's + * ONTAP. + * @type string $passphrase + * Optional. Temporary passphrase generated to accept cluster peering command. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Netapp\V1\Replication::initOnce(); + parent::__construct($data); + } + + /** + * Optional. IP address of the subnet. + * + * Generated from protobuf field string subnet_ip = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getSubnetIp() + { + return $this->subnet_ip; + } + + /** + * Optional. IP address of the subnet. + * + * Generated from protobuf field string subnet_ip = 1 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setSubnetIp($var) + { + GPBUtil::checkString($var, True); + $this->subnet_ip = $var; + + return $this; + } + + /** + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept + * peering requests. + * + * Generated from protobuf field string command = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getCommand() + { + return $this->command; + } + + /** + * Optional. Copy-paste-able commands to be used on user's ONTAP to accept + * peering requests. + * + * Generated from protobuf field string command = 2 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setCommand($var) + { + GPBUtil::checkString($var, True); + $this->command = $var; + + return $this; + } + + /** + * Optional. Expiration time for the peering command to be executed on user's + * ONTAP. + * + * Generated from protobuf field .google.protobuf.Timestamp command_expiry_time = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Timestamp|null + */ + public function getCommandExpiryTime() + { + return $this->command_expiry_time; + } + + public function hasCommandExpiryTime() + { + return isset($this->command_expiry_time); + } + + public function clearCommandExpiryTime() + { + unset($this->command_expiry_time); + } + + /** + * Optional. Expiration time for the peering command to be executed on user's + * ONTAP. + * + * Generated from protobuf field .google.protobuf.Timestamp command_expiry_time = 3 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Protobuf\Timestamp $var + * @return $this + */ + public function setCommandExpiryTime($var) + { + GPBUtil::checkMessage($var, \Google\Protobuf\Timestamp::class); + $this->command_expiry_time = $var; + + return $this; + } + + /** + * Optional. Temporary passphrase generated to accept cluster peering command. + * + * Generated from protobuf field string passphrase = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getPassphrase() + { + return $this->passphrase; + } + + /** + * Optional. Temporary passphrase generated to accept cluster peering command. + * + * Generated from protobuf field string passphrase = 4 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setPassphrase($var) + { + GPBUtil::checkString($var, True); + $this->passphrase = $var; + + return $this; + } + +} + diff --git a/NetApp/src/V1/HybridReplicationParameters.php b/NetApp/src/V1/HybridReplicationParameters.php new file mode 100644 index 000000000000..1f575f542813 --- /dev/null +++ b/NetApp/src/V1/HybridReplicationParameters.php @@ -0,0 +1,329 @@ +google.cloud.netapp.v1.HybridReplicationParameters + */ +class HybridReplicationParameters extends \Google\Protobuf\Internal\Message +{ + /** + * Required. Desired Identifier (name) of the replication which will be created for this volume. + * Format: + * `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + * + * Generated from protobuf field string replication = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $replication = ''; + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 2 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_volume_name = ''; + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 3 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_cluster_name = ''; + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 4 [(.google.api.field_behavior) = REQUIRED]; + */ + protected $peer_svm_name = ''; + /** + * Required. List of node ip addresses to be peered with. + * + * Generated from protobuf field repeated string peer_ip_addresses = 5 [(.google.api.field_behavior) = REQUIRED]; + */ + private $peer_ip_addresses; + /** + * Optional. Name of source cluster location associated with the Hybrid + * replication. This is a free-form field for the display purpose only. + * + * Generated from protobuf field string cluster_location = 6 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $cluster_location = ''; + /** + * Optional. Description of the replication. + * + * Generated from protobuf field string description = 7 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $description = ''; + /** + * Optional. Labels to be added to the replication as the key value pairs. + * + * Generated from protobuf field map labels = 8 [(.google.api.field_behavior) = OPTIONAL]; + */ + private $labels; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $replication + * Required. Desired Identifier (name) of the replication which will be created for this volume. + * Format: + * `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + * @type string $peer_volume_name + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * @type string $peer_cluster_name + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * @type string $peer_svm_name + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * @type array|\Google\Protobuf\Internal\RepeatedField $peer_ip_addresses + * Required. List of node ip addresses to be peered with. + * @type string $cluster_location + * Optional. Name of source cluster location associated with the Hybrid + * replication. This is a free-form field for the display purpose only. + * @type string $description + * Optional. Description of the replication. + * @type array|\Google\Protobuf\Internal\MapField $labels + * Optional. Labels to be added to the replication as the key value pairs. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Netapp\V1\Volume::initOnce(); + parent::__construct($data); + } + + /** + * Required. Desired Identifier (name) of the replication which will be created for this volume. + * Format: + * `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + * + * Generated from protobuf field string replication = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @return string + */ + public function getReplication() + { + return $this->replication; + } + + /** + * Required. Desired Identifier (name) of the replication which will be created for this volume. + * Format: + * `projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}` + * + * Generated from protobuf field string replication = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + * @param string $var + * @return $this + */ + public function setReplication($var) + { + GPBUtil::checkString($var, True); + $this->replication = $var; + + return $this; + } + + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerVolumeName() + { + return $this->peer_volume_name; + } + + /** + * Required. Name of the user's local source volume to be peered with the + * destination volume. + * + * Generated from protobuf field string peer_volume_name = 2 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerVolumeName($var) + { + GPBUtil::checkString($var, True); + $this->peer_volume_name = $var; + + return $this; + } + + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 3 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerClusterName() + { + return $this->peer_cluster_name; + } + + /** + * Required. Name of the user's local source cluster to be peered with the + * destination cluster. + * + * Generated from protobuf field string peer_cluster_name = 3 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerClusterName($var) + { + GPBUtil::checkString($var, True); + $this->peer_cluster_name = $var; + + return $this; + } + + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 4 [(.google.api.field_behavior) = REQUIRED]; + * @return string + */ + public function getPeerSvmName() + { + return $this->peer_svm_name; + } + + /** + * Required. Name of the user's local source vserver svm to be peered with the + * destination vserver svm. + * + * Generated from protobuf field string peer_svm_name = 4 [(.google.api.field_behavior) = REQUIRED]; + * @param string $var + * @return $this + */ + public function setPeerSvmName($var) + { + GPBUtil::checkString($var, True); + $this->peer_svm_name = $var; + + return $this; + } + + /** + * Required. List of node ip addresses to be peered with. + * + * Generated from protobuf field repeated string peer_ip_addresses = 5 [(.google.api.field_behavior) = REQUIRED]; + * @return \Google\Protobuf\Internal\RepeatedField + */ + public function getPeerIpAddresses() + { + return $this->peer_ip_addresses; + } + + /** + * Required. List of node ip addresses to be peered with. + * + * Generated from protobuf field repeated string peer_ip_addresses = 5 [(.google.api.field_behavior) = REQUIRED]; + * @param array|\Google\Protobuf\Internal\RepeatedField $var + * @return $this + */ + public function setPeerIpAddresses($var) + { + $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::STRING); + $this->peer_ip_addresses = $arr; + + return $this; + } + + /** + * Optional. Name of source cluster location associated with the Hybrid + * replication. This is a free-form field for the display purpose only. + * + * Generated from protobuf field string cluster_location = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getClusterLocation() + { + return $this->cluster_location; + } + + /** + * Optional. Name of source cluster location associated with the Hybrid + * replication. This is a free-form field for the display purpose only. + * + * Generated from protobuf field string cluster_location = 6 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setClusterLocation($var) + { + GPBUtil::checkString($var, True); + $this->cluster_location = $var; + + return $this; + } + + /** + * Optional. Description of the replication. + * + * Generated from protobuf field string description = 7 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getDescription() + { + return $this->description; + } + + /** + * Optional. Description of the replication. + * + * Generated from protobuf field string description = 7 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setDescription($var) + { + GPBUtil::checkString($var, True); + $this->description = $var; + + return $this; + } + + /** + * Optional. Labels to be added to the replication as the key value pairs. + * + * Generated from protobuf field map labels = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Protobuf\Internal\MapField + */ + public function getLabels() + { + return $this->labels; + } + + /** + * Optional. Labels to be added to the replication as the key value pairs. + * + * Generated from protobuf field map labels = 8 [(.google.api.field_behavior) = OPTIONAL]; + * @param array|\Google\Protobuf\Internal\MapField $var + * @return $this + */ + public function setLabels($var) + { + $arr = GPBUtil::checkMapField($var, \Google\Protobuf\Internal\GPBType::STRING, \Google\Protobuf\Internal\GPBType::STRING); + $this->labels = $arr; + + return $this; + } + +} + diff --git a/NetApp/src/V1/Replication.php b/NetApp/src/V1/Replication.php index f5ea09531ff0..3d6b2d73def4 100644 --- a/NetApp/src/V1/Replication.php +++ b/NetApp/src/V1/Replication.php @@ -109,6 +109,24 @@ class Replication extends \Google\Protobuf\Internal\Message * Generated from protobuf field string source_volume = 15 [(.google.api.field_behavior) = OUTPUT_ONLY, (.google.api.resource_reference) = { */ protected $source_volume = ''; + /** + * Output only. Hybrid peering details. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridPeeringDetails hybrid_peering_details = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $hybrid_peering_details = null; + /** + * Optional. Location of the user cluster. + * + * Generated from protobuf field string cluster_location = 18 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $cluster_location = ''; + /** + * Output only. Type of the hybrid replication. + * + * Generated from protobuf field .google.cloud.netapp.v1.Replication.HybridReplicationType hybrid_replication_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + */ + protected $hybrid_replication_type = 0; /** * Constructor. @@ -152,6 +170,12 @@ class Replication extends \Google\Protobuf\Internal\Message * @type string $source_volume * Output only. Full name of source volume resource. * Example : "projects/{project}/locations/{location}/volumes/{volume_id}" + * @type \Google\Cloud\NetApp\V1\HybridPeeringDetails $hybrid_peering_details + * Output only. Hybrid peering details. + * @type string $cluster_location + * Optional. Location of the user cluster. + * @type int $hybrid_replication_type + * Output only. Type of the hybrid replication. * } */ public function __construct($data = NULL) { @@ -589,5 +613,93 @@ public function setSourceVolume($var) return $this; } + /** + * Output only. Hybrid peering details. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridPeeringDetails hybrid_peering_details = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return \Google\Cloud\NetApp\V1\HybridPeeringDetails|null + */ + public function getHybridPeeringDetails() + { + return $this->hybrid_peering_details; + } + + public function hasHybridPeeringDetails() + { + return isset($this->hybrid_peering_details); + } + + public function clearHybridPeeringDetails() + { + unset($this->hybrid_peering_details); + } + + /** + * Output only. Hybrid peering details. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridPeeringDetails hybrid_peering_details = 16 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param \Google\Cloud\NetApp\V1\HybridPeeringDetails $var + * @return $this + */ + public function setHybridPeeringDetails($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\NetApp\V1\HybridPeeringDetails::class); + $this->hybrid_peering_details = $var; + + return $this; + } + + /** + * Optional. Location of the user cluster. + * + * Generated from protobuf field string cluster_location = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @return string + */ + public function getClusterLocation() + { + return $this->cluster_location; + } + + /** + * Optional. Location of the user cluster. + * + * Generated from protobuf field string cluster_location = 18 [(.google.api.field_behavior) = OPTIONAL]; + * @param string $var + * @return $this + */ + public function setClusterLocation($var) + { + GPBUtil::checkString($var, True); + $this->cluster_location = $var; + + return $this; + } + + /** + * Output only. Type of the hybrid replication. + * + * Generated from protobuf field .google.cloud.netapp.v1.Replication.HybridReplicationType hybrid_replication_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @return int + */ + public function getHybridReplicationType() + { + return $this->hybrid_replication_type; + } + + /** + * Output only. Type of the hybrid replication. + * + * Generated from protobuf field .google.cloud.netapp.v1.Replication.HybridReplicationType hybrid_replication_type = 19 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * @param int $var + * @return $this + */ + public function setHybridReplicationType($var) + { + GPBUtil::checkEnum($var, \Google\Cloud\NetApp\V1\Replication\HybridReplicationType::class); + $this->hybrid_replication_type = $var; + + return $this; + } + } diff --git a/NetApp/src/V1/Replication/HybridReplicationType.php b/NetApp/src/V1/Replication/HybridReplicationType.php new file mode 100644 index 000000000000..ab42e6fa4476 --- /dev/null +++ b/NetApp/src/V1/Replication/HybridReplicationType.php @@ -0,0 +1,62 @@ +google.cloud.netapp.v1.Replication.HybridReplicationType + */ +class HybridReplicationType +{ + /** + * Unspecified hybrid replication type. + * + * Generated from protobuf enum HYBRID_REPLICATION_TYPE_UNSPECIFIED = 0; + */ + const HYBRID_REPLICATION_TYPE_UNSPECIFIED = 0; + /** + * Hybrid replication type for migration. + * + * Generated from protobuf enum MIGRATION = 1; + */ + const MIGRATION = 1; + /** + * Hybrid replication type for continuous replication. + * + * Generated from protobuf enum CONTINUOUS_REPLICATION = 2; + */ + const CONTINUOUS_REPLICATION = 2; + + private static $valueToName = [ + self::HYBRID_REPLICATION_TYPE_UNSPECIFIED => 'HYBRID_REPLICATION_TYPE_UNSPECIFIED', + self::MIGRATION => 'MIGRATION', + self::CONTINUOUS_REPLICATION => 'CONTINUOUS_REPLICATION', + ]; + + 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/NetApp/src/V1/Replication/MirrorState.php b/NetApp/src/V1/Replication/MirrorState.php index d16a25cd6062..5ab9da7ec9fd 100644 --- a/NetApp/src/V1/Replication/MirrorState.php +++ b/NetApp/src/V1/Replication/MirrorState.php @@ -45,6 +45,18 @@ class MirrorState * Generated from protobuf enum TRANSFERRING = 4; */ const TRANSFERRING = 4; + /** + * Baseline replication is in progress. + * + * Generated from protobuf enum BASELINE_TRANSFERRING = 5; + */ + const BASELINE_TRANSFERRING = 5; + /** + * Replication is aborted. + * + * Generated from protobuf enum ABORTED = 6; + */ + const ABORTED = 6; private static $valueToName = [ self::MIRROR_STATE_UNSPECIFIED => 'MIRROR_STATE_UNSPECIFIED', @@ -52,6 +64,8 @@ class MirrorState self::MIRRORED => 'MIRRORED', self::STOPPED => 'STOPPED', self::TRANSFERRING => 'TRANSFERRING', + self::BASELINE_TRANSFERRING => 'BASELINE_TRANSFERRING', + self::ABORTED => 'ABORTED', ]; public static function name($value) diff --git a/NetApp/src/V1/Replication/State.php b/NetApp/src/V1/Replication/State.php index a3e0db5aa146..076128ec3819 100644 --- a/NetApp/src/V1/Replication/State.php +++ b/NetApp/src/V1/Replication/State.php @@ -50,6 +50,18 @@ class State * Generated from protobuf enum ERROR = 6; */ const ERROR = 6; + /** + * Replication is waiting for cluster peering to be established. + * + * Generated from protobuf enum PENDING_CLUSTER_PEERING = 8; + */ + const PENDING_CLUSTER_PEERING = 8; + /** + * Replication is waiting for SVM peering to be established. + * + * Generated from protobuf enum PENDING_SVM_PEERING = 9; + */ + const PENDING_SVM_PEERING = 9; private static $valueToName = [ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', @@ -58,6 +70,8 @@ class State self::UPDATING => 'UPDATING', self::DELETING => 'DELETING', self::ERROR => 'ERROR', + self::PENDING_CLUSTER_PEERING => 'PENDING_CLUSTER_PEERING', + self::PENDING_SVM_PEERING => 'PENDING_SVM_PEERING', ]; public static function name($value) diff --git a/NetApp/src/V1/SyncReplicationRequest.php b/NetApp/src/V1/SyncReplicationRequest.php new file mode 100644 index 000000000000..c76ab8329d9d --- /dev/null +++ b/NetApp/src/V1/SyncReplicationRequest.php @@ -0,0 +1,71 @@ +google.cloud.netapp.v1.SyncReplicationRequest + */ +class SyncReplicationRequest extends \Google\Protobuf\Internal\Message +{ + /** + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * Generated from protobuf field string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { + */ + protected $name = ''; + + /** + * Constructor. + * + * @param array $data { + * Optional. Data for populating the Message object. + * + * @type string $name + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * } + */ + public function __construct($data = NULL) { + \GPBMetadata\Google\Cloud\Netapp\V1\Replication::initOnce(); + parent::__construct($data); + } + + /** + * Required. The resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * 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 resource name of the replication, in the format of + * projects/{project_id}/locations/{location}/volumes/{volume_id}/replications/{replication_id}. + * + * 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/NetApp/src/V1/Volume.php b/NetApp/src/V1/Volume.php index 9cc66049d6dc..3c33402f966f 100644 --- a/NetApp/src/V1/Volume.php +++ b/NetApp/src/V1/Volume.php @@ -249,6 +249,12 @@ class Volume extends \Google\Protobuf\Internal\Message * Generated from protobuf field int64 cold_tier_size_gib = 39 [(.google.api.field_behavior) = OUTPUT_ONLY]; */ protected $cold_tier_size_gib = 0; + /** + * Optional. The Hybrid Replication parameters for the volume. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridReplicationParameters hybrid_replication_parameters = 40 [(.google.api.field_behavior) = OPTIONAL]; + */ + protected $hybrid_replication_parameters = null; /** * Constructor. @@ -342,6 +348,8 @@ class Volume extends \Google\Protobuf\Internal\Message * Output only. Specifies the active zone for regional volume. * @type int|string $cold_tier_size_gib * Output only. Size of the volume cold tier data in GiB. + * @type \Google\Cloud\NetApp\V1\HybridReplicationParameters $hybrid_replication_parameters + * Optional. The Hybrid Replication parameters for the volume. * } */ public function __construct($data = NULL) { @@ -1395,5 +1403,41 @@ public function setColdTierSizeGib($var) return $this; } + /** + * Optional. The Hybrid Replication parameters for the volume. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridReplicationParameters hybrid_replication_parameters = 40 [(.google.api.field_behavior) = OPTIONAL]; + * @return \Google\Cloud\NetApp\V1\HybridReplicationParameters|null + */ + public function getHybridReplicationParameters() + { + return $this->hybrid_replication_parameters; + } + + public function hasHybridReplicationParameters() + { + return isset($this->hybrid_replication_parameters); + } + + public function clearHybridReplicationParameters() + { + unset($this->hybrid_replication_parameters); + } + + /** + * Optional. The Hybrid Replication parameters for the volume. + * + * Generated from protobuf field .google.cloud.netapp.v1.HybridReplicationParameters hybrid_replication_parameters = 40 [(.google.api.field_behavior) = OPTIONAL]; + * @param \Google\Cloud\NetApp\V1\HybridReplicationParameters $var + * @return $this + */ + public function setHybridReplicationParameters($var) + { + GPBUtil::checkMessage($var, \Google\Cloud\NetApp\V1\HybridReplicationParameters::class); + $this->hybrid_replication_parameters = $var; + + return $this; + } + } diff --git a/NetApp/src/V1/Volume/State.php b/NetApp/src/V1/Volume/State.php index 2ec54c8c1b0b..5e4744f55235 100644 --- a/NetApp/src/V1/Volume/State.php +++ b/NetApp/src/V1/Volume/State.php @@ -61,6 +61,20 @@ class State * Generated from protobuf enum ERROR = 7; */ const ERROR = 7; + /** + * Volume State is Preparing. Note that this is different from CREATING + * where CREATING means the volume is being created, while PREPARING means + * the volume is created and now being prepared for the replication. + * + * Generated from protobuf enum PREPARING = 8; + */ + const PREPARING = 8; + /** + * Volume State is Read Only + * + * Generated from protobuf enum READ_ONLY = 9; + */ + const READ_ONLY = 9; private static $valueToName = [ self::STATE_UNSPECIFIED => 'STATE_UNSPECIFIED', @@ -71,6 +85,8 @@ class State self::RESTORING => 'RESTORING', self::DISABLED => 'DISABLED', self::ERROR => 'ERROR', + self::PREPARING => 'PREPARING', + self::READ_ONLY => 'READ_ONLY', ]; public static function name($value) diff --git a/NetApp/src/V1/gapic_metadata.json b/NetApp/src/V1/gapic_metadata.json index 4accb6d5375b..3e8c0b03c7b4 100644 --- a/NetApp/src/V1/gapic_metadata.json +++ b/NetApp/src/V1/gapic_metadata.json @@ -105,6 +105,11 @@ "encryptVolumes" ] }, + "EstablishPeering": { + "methods": [ + "establishPeering" + ] + }, "GetActiveDirectory": { "methods": [ "getActiveDirectory" @@ -220,6 +225,11 @@ "switchActiveReplicaZone" ] }, + "SyncReplication": { + "methods": [ + "syncReplication" + ] + }, "UpdateActiveDirectory": { "methods": [ "updateActiveDirectory" diff --git a/NetApp/src/V1/resources/net_app_client_config.json b/NetApp/src/V1/resources/net_app_client_config.json index 7303fe52414c..3e5b75036741 100644 --- a/NetApp/src/V1/resources/net_app_client_config.json +++ b/NetApp/src/V1/resources/net_app_client_config.json @@ -133,6 +133,11 @@ "retry_codes_name": "no_retry_1_codes", "retry_params_name": "no_retry_1_params" }, + "EstablishPeering": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "GetActiveDirectory": { "timeout_millis": 60000, "retry_codes_name": "retry_policy_1_codes", @@ -248,6 +253,11 @@ "retry_codes_name": "no_retry_codes", "retry_params_name": "no_retry_params" }, + "SyncReplication": { + "timeout_millis": 60000, + "retry_codes_name": "no_retry_codes", + "retry_params_name": "no_retry_params" + }, "UpdateActiveDirectory": { "timeout_millis": 60000, "retry_codes_name": "no_retry_1_codes", diff --git a/NetApp/src/V1/resources/net_app_descriptor_config.php b/NetApp/src/V1/resources/net_app_descriptor_config.php index b7229a6b7bf7..f57b74f7d6d9 100644 --- a/NetApp/src/V1/resources/net_app_descriptor_config.php +++ b/NetApp/src/V1/resources/net_app_descriptor_config.php @@ -384,6 +384,25 @@ ], ], ], + 'EstablishPeering' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Cloud\NetApp\V1\Replication', + 'metadataReturnType' => '\Google\Cloud\NetApp\V1\OperationMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'ResumeReplication' => [ 'longRunning' => [ 'operationReturnType' => '\Google\Cloud\NetApp\V1\Replication', @@ -479,6 +498,25 @@ ], ], ], + 'SyncReplication' => [ + 'longRunning' => [ + 'operationReturnType' => '\Google\Cloud\NetApp\V1\Replication', + 'metadataReturnType' => '\Google\Cloud\NetApp\V1\OperationMetadata', + 'initialPollDelayMillis' => '500', + 'pollDelayMultiplier' => '1.5', + 'maxPollDelayMillis' => '5000', + 'totalPollTimeoutMillis' => '300000', + ], + 'callType' => \Google\ApiCore\Call::LONGRUNNING_CALL, + 'headerParams' => [ + [ + 'keyName' => 'name', + 'fieldAccessors' => [ + 'getName', + ], + ], + ], + ], 'UpdateActiveDirectory' => [ 'longRunning' => [ 'operationReturnType' => '\Google\Cloud\NetApp\V1\ActiveDirectory', diff --git a/NetApp/src/V1/resources/net_app_rest_client_config.php b/NetApp/src/V1/resources/net_app_rest_client_config.php index dcb53b676eea..05f75ec17cd5 100644 --- a/NetApp/src/V1/resources/net_app_rest_client_config.php +++ b/NetApp/src/V1/resources/net_app_rest_client_config.php @@ -293,6 +293,18 @@ ], ], ], + 'EstablishPeering' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/volumes/*/replications/*}:establishPeering', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'GetActiveDirectory' => [ 'method' => 'get', 'uriTemplate' => '/v1/{name=projects/*/locations/*/activeDirectories/*}', @@ -551,6 +563,18 @@ ], ], ], + 'SyncReplication' => [ + 'method' => 'post', + 'uriTemplate' => '/v1/{name=projects/*/locations/*/volumes/*/replications/*}:sync', + 'body' => '*', + 'placeholders' => [ + 'name' => [ + 'getters' => [ + 'getName', + ], + ], + ], + ], 'UpdateActiveDirectory' => [ 'method' => 'patch', 'uriTemplate' => '/v1/{active_directory.name=projects/*/locations/*/activeDirectories/*}', diff --git a/NetApp/tests/Unit/V1/Client/NetAppClientTest.php b/NetApp/tests/Unit/V1/Client/NetAppClientTest.php index 4c612196b384..475d72bfa4c0 100644 --- a/NetApp/tests/Unit/V1/Client/NetAppClientTest.php +++ b/NetApp/tests/Unit/V1/Client/NetAppClientTest.php @@ -55,6 +55,7 @@ use Google\Cloud\NetApp\V1\DeleteVolumeRequest; use Google\Cloud\NetApp\V1\DestinationVolumeParameters; use Google\Cloud\NetApp\V1\EncryptVolumesRequest; +use Google\Cloud\NetApp\V1\EstablishPeeringRequest; use Google\Cloud\NetApp\V1\GetActiveDirectoryRequest; use Google\Cloud\NetApp\V1\GetBackupPolicyRequest; use Google\Cloud\NetApp\V1\GetBackupRequest; @@ -93,6 +94,7 @@ use Google\Cloud\NetApp\V1\StopReplicationRequest; use Google\Cloud\NetApp\V1\StoragePool; use Google\Cloud\NetApp\V1\SwitchActiveReplicaZoneRequest; +use Google\Cloud\NetApp\V1\SyncReplicationRequest; use Google\Cloud\NetApp\V1\UpdateActiveDirectoryRequest; use Google\Cloud\NetApp\V1\UpdateBackupPolicyRequest; use Google\Cloud\NetApp\V1\UpdateBackupRequest; @@ -949,6 +951,7 @@ public function createReplicationTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name); $expectedResponse->setStateDetails($stateDetails); @@ -956,6 +959,7 @@ public function createReplicationTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $anyResponse = new Any(); $anyResponse->setValue($expectedResponse->serializeToString()); $completeOperation = new Operation(); @@ -2840,6 +2844,162 @@ public function encryptVolumesExceptionTest() $this->assertTrue($operationsTransport->isExhausted()); } + /** @test */ + public function establishPeeringTest() + { + $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/establishPeeringTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $name2 = 'name2-1052831874'; + $stateDetails = 'stateDetails632437908'; + $healthy = false; + $destinationVolume = 'destinationVolume-1177512853'; + $description = 'description-1724546052'; + $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; + $expectedResponse = new Replication(); + $expectedResponse->setName($name2); + $expectedResponse->setStateDetails($stateDetails); + $expectedResponse->setHealthy($healthy); + $expectedResponse->setDestinationVolume($destinationVolume); + $expectedResponse->setDescription($description); + $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/establishPeeringTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); + // Mock request + $formattedName = $gapicClient->replicationName('[PROJECT]', '[LOCATION]', '[VOLUME]', '[REPLICATION]'); + $peerClusterName = 'peerClusterName-1759308435'; + $peerSvmName = 'peerSvmName-1166928515'; + $peerVolumeName = 'peerVolumeName486635827'; + $request = (new EstablishPeeringRequest()) + ->setName($formattedName) + ->setPeerClusterName($peerClusterName) + ->setPeerSvmName($peerSvmName) + ->setPeerVolumeName($peerVolumeName); + $response = $gapicClient->establishPeering($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.netapp.v1.NetApp/EstablishPeering', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $actualValue = $actualApiRequestObject->getPeerClusterName(); + $this->assertProtobufEquals($peerClusterName, $actualValue); + $actualValue = $actualApiRequestObject->getPeerSvmName(); + $this->assertProtobufEquals($peerSvmName, $actualValue); + $actualValue = $actualApiRequestObject->getPeerVolumeName(); + $this->assertProtobufEquals($peerVolumeName, $actualValue); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/establishPeeringTest'); + $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 establishPeeringExceptionTest() + { + $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/establishPeeringTest'); + $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->replicationName('[PROJECT]', '[LOCATION]', '[VOLUME]', '[REPLICATION]'); + $peerClusterName = 'peerClusterName-1759308435'; + $peerSvmName = 'peerSvmName-1166928515'; + $peerVolumeName = 'peerVolumeName486635827'; + $request = (new EstablishPeeringRequest()) + ->setName($formattedName) + ->setPeerClusterName($peerClusterName) + ->setPeerSvmName($peerSvmName) + ->setPeerVolumeName($peerVolumeName); + $response = $gapicClient->establishPeering($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/establishPeeringTest'); + 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 getActiveDirectoryTest() { @@ -3244,6 +3404,7 @@ public function getReplicationTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name2); $expectedResponse->setStateDetails($stateDetails); @@ -3251,6 +3412,7 @@ public function getReplicationTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $transport->addResponse($expectedResponse); // Mock request $formattedName = $gapicClient->replicationName('[PROJECT]', '[LOCATION]', '[VOLUME]', '[REPLICATION]'); @@ -4241,6 +4403,7 @@ public function resumeReplicationTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name2); $expectedResponse->setStateDetails($stateDetails); @@ -4248,6 +4411,7 @@ public function resumeReplicationTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $anyResponse = new Any(); $anyResponse->setValue($expectedResponse->serializeToString()); $completeOperation = new Operation(); @@ -4375,6 +4539,7 @@ public function reverseReplicationDirectionTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name2); $expectedResponse->setStateDetails($stateDetails); @@ -4382,6 +4547,7 @@ public function reverseReplicationDirectionTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $anyResponse = new Any(); $anyResponse->setValue($expectedResponse->serializeToString()); $completeOperation = new Operation(); @@ -4679,6 +4845,7 @@ public function stopReplicationTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name2); $expectedResponse->setStateDetails($stateDetails); @@ -4686,6 +4853,7 @@ public function stopReplicationTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $anyResponse = new Any(); $anyResponse->setValue($expectedResponse->serializeToString()); $completeOperation = new Operation(); @@ -4938,6 +5106,142 @@ public function switchActiveReplicaZoneExceptionTest() $this->assertTrue($operationsTransport->isExhausted()); } + /** @test */ + public function syncReplicationTest() + { + $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/syncReplicationTest'); + $incompleteOperation->setDone(false); + $transport->addResponse($incompleteOperation); + $name2 = 'name2-1052831874'; + $stateDetails = 'stateDetails632437908'; + $healthy = false; + $destinationVolume = 'destinationVolume-1177512853'; + $description = 'description-1724546052'; + $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; + $expectedResponse = new Replication(); + $expectedResponse->setName($name2); + $expectedResponse->setStateDetails($stateDetails); + $expectedResponse->setHealthy($healthy); + $expectedResponse->setDestinationVolume($destinationVolume); + $expectedResponse->setDescription($description); + $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); + $anyResponse = new Any(); + $anyResponse->setValue($expectedResponse->serializeToString()); + $completeOperation = new Operation(); + $completeOperation->setName('operations/syncReplicationTest'); + $completeOperation->setDone(true); + $completeOperation->setResponse($anyResponse); + $operationsTransport->addResponse($completeOperation); + // Mock request + $formattedName = $gapicClient->replicationName('[PROJECT]', '[LOCATION]', '[VOLUME]', '[REPLICATION]'); + $request = (new SyncReplicationRequest())->setName($formattedName); + $response = $gapicClient->syncReplication($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.netapp.v1.NetApp/SyncReplication', $actualApiFuncCall); + $actualValue = $actualApiRequestObject->getName(); + $this->assertProtobufEquals($formattedName, $actualValue); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/syncReplicationTest'); + $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 syncReplicationExceptionTest() + { + $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/syncReplicationTest'); + $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->replicationName('[PROJECT]', '[LOCATION]', '[VOLUME]', '[REPLICATION]'); + $request = (new SyncReplicationRequest())->setName($formattedName); + $response = $gapicClient->syncReplication($request); + $this->assertFalse($response->isDone()); + $this->assertNull($response->getResult()); + $expectedOperationsRequestObject = new GetOperationRequest(); + $expectedOperationsRequestObject->setName('operations/syncReplicationTest'); + 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 updateActiveDirectoryTest() { @@ -5697,6 +6001,7 @@ public function updateReplicationTest() $destinationVolume = 'destinationVolume-1177512853'; $description = 'description-1724546052'; $sourceVolume = 'sourceVolume327497662'; + $clusterLocation = 'clusterLocation-44738470'; $expectedResponse = new Replication(); $expectedResponse->setName($name); $expectedResponse->setStateDetails($stateDetails); @@ -5704,6 +6009,7 @@ public function updateReplicationTest() $expectedResponse->setDestinationVolume($destinationVolume); $expectedResponse->setDescription($description); $expectedResponse->setSourceVolume($sourceVolume); + $expectedResponse->setClusterLocation($clusterLocation); $anyResponse = new Any(); $anyResponse->setValue($expectedResponse->serializeToString()); $completeOperation = new Operation();