Пример #1
0
        /// <summary>
        /// Deletes a file system, permanently severing access to its contents. Upon return, the
        /// file system no longer exists and you can't access any contents of the deleted file
        /// system.
        ///
        ///
        /// <para>
        ///  You can't delete a file system that is in use. That is, if the file system has any
        /// mount targets, you must first delete them. For more information, see <a>DescribeMountTargets</a>
        /// and <a>DeleteMountTarget</a>.
        /// </para>
        ///  <note>
        /// <para>
        /// The <code>DeleteFileSystem</code> call returns while the file system state is still
        /// <code>deleting</code>. You can check the file system deletion status by calling the
        /// <a>DescribeFileSystems</a> operation, which returns a list of file systems in your
        /// account. If you pass file system ID or creation token for the deleted file system,
        /// the <a>DescribeFileSystems</a> returns a <code>404 FileSystemNotFound</code> error.
        /// </para>
        ///  </note>
        /// <para>
        /// This operation requires permissions for the <code>elasticfilesystem:DeleteFileSystem</code>
        /// action.
        /// </para>
        /// </summary>
        /// <param name="fileSystemId">ID of the file system you want to delete.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        ///
        /// <returns>The response from the DeleteFileSystem service method, as returned by ElasticFileSystem.</returns>
        /// <exception cref="Amazon.ElasticFileSystem.Model.BadRequestException">
        /// Returned if the request is malformed or contains an error such as an invalid parameter
        /// value or a missing required parameter.
        /// </exception>
        /// <exception cref="Amazon.ElasticFileSystem.Model.FileSystemInUseException">
        /// Returned if a file system has mount targets.
        /// </exception>
        /// <exception cref="Amazon.ElasticFileSystem.Model.FileSystemNotFoundException">
        /// Returned if the specified <code>FileSystemId</code> does not exist in the requester's
        /// AWS account.
        /// </exception>
        /// <exception cref="Amazon.ElasticFileSystem.Model.InternalServerErrorException">
        /// Returned if an error occurred on the server side.
        /// </exception>
        public Task <DeleteFileSystemResponse> DeleteFileSystemAsync(string fileSystemId, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var request = new DeleteFileSystemRequest();

            request.FileSystemId = fileSystemId;
            return(DeleteFileSystemAsync(request, cancellationToken));
        }
Пример #2
0
        protected override void ProcessRecord()
        {
            base.ProcessRecord();

            if (!ConfirmDelete("OCIFilestorageFileSystem", "Remove"))
            {
                return;
            }

            DeleteFileSystemRequest request;

            try
            {
                request = new DeleteFileSystemRequest
                {
                    FileSystemId = FileSystemId,
                    IfMatch      = IfMatch,
                    OpcRequestId = OpcRequestId
                };

                response = client.DeleteFileSystem(request).GetAwaiter().GetResult();
                WriteOutput(response);
                FinishProcessing(response);
            }
            catch (Exception ex)
            {
                TerminatingErrorDuringExecution(ex);
            }
        }
Пример #3
0
        internal DeleteFileSystemResponse DeleteFileSystem(DeleteFileSystemRequest request)
        {
            var marshaller   = new DeleteFileSystemRequestMarshaller();
            var unmarshaller = DeleteFileSystemResponseUnmarshaller.Instance;

            return(Invoke <DeleteFileSystemRequest, DeleteFileSystemResponse>(request, marshaller, unmarshaller));
        }
Пример #4
0
        /// <summary>
        /// Initiates the asynchronous execution of the DeleteFileSystem operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the DeleteFileSystem operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        public Task <DeleteFileSystemResponse> DeleteFileSystemAsync(DeleteFileSystemRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var marshaller   = new DeleteFileSystemRequestMarshaller();
            var unmarshaller = DeleteFileSystemResponseUnmarshaller.Instance;

            return(InvokeAsync <DeleteFileSystemRequest, DeleteFileSystemResponse>(request, marshaller,
                                                                                   unmarshaller, cancellationToken));
        }
Пример #5
0
        /// <summary>
        /// Initiates the asynchronous execution of the DeleteFileSystem operation.
        /// </summary>
        ///
        /// <param name="request">Container for the necessary parameters to execute the DeleteFileSystem operation.</param>
        /// <param name="cancellationToken">
        ///     A cancellation token that can be used by other objects or threads to receive notice of cancellation.
        /// </param>
        /// <returns>The task object representing the asynchronous operation.</returns>
        /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/fsx-2018-03-01/DeleteFileSystem">REST API Reference for DeleteFileSystem Operation</seealso>
        public virtual Task <DeleteFileSystemResponse> DeleteFileSystemAsync(DeleteFileSystemRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken))
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = DeleteFileSystemRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteFileSystemResponseUnmarshaller.Instance;

            return(InvokeAsync <DeleteFileSystemResponse>(request, options, cancellationToken));
        }
Пример #6
0
        internal virtual DeleteFileSystemResponse DeleteFileSystem(DeleteFileSystemRequest request)
        {
            var options = new InvokeOptions();

            options.RequestMarshaller    = DeleteFileSystemRequestMarshaller.Instance;
            options.ResponseUnmarshaller = DeleteFileSystemResponseUnmarshaller.Instance;

            return(Invoke <DeleteFileSystemResponse>(request, options));
        }
Пример #7
0
        /// <summary>
        /// 删除文件系统,不允许删除非空文件系统。
        /// </summary>
        /// <param name="req"><see cref="DeleteFileSystemRequest"/></param>
        /// <returns><see cref="DeleteFileSystemResponse"/></returns>
        public DeleteFileSystemResponse DeleteFileSystemSync(DeleteFileSystemRequest req)
        {
            JsonResponseModel <DeleteFileSystemResponse> rsp = null;

            try
            {
                var strResp = this.InternalRequestSync(req, "DeleteFileSystem");
                rsp = JsonConvert.DeserializeObject <JsonResponseModel <DeleteFileSystemResponse> >(strResp);
            }
            catch (JsonSerializationException e)
            {
                throw new TencentCloudSDKException(e.Message);
            }
            return(rsp.Response);
        }
        /**
         * Deletes a file system and waits for it to be deleted.
         *
         * @param fsClient the service client used to communicate with the File Storage service
         * @param fileSystem the file system to delete
         */
        private static async Task DeleteFileSystem(FileStorageClient fsClient, FileSystem fileSystem)
        {
            logger.Info("Deleting file system");

            DeleteFileSystemRequest deleteRequest = new DeleteFileSystemRequest
            {
                FileSystemId = fileSystem.Id
            };
            await fsClient.DeleteFileSystem(deleteRequest);

            WaiterConfiguration waiterConfiguration = new WaiterConfiguration
            {
                MaxAttempts           = 20,
                GetNextDelayInSeconds = DelayStrategy.GetExponentialDelayInSeconds
            };
            GetFileSystemRequest getRequest = new GetFileSystemRequest
            {
                FileSystemId = fileSystem.Id
            };

            fsClient.Waiters.ForFileSystem(getRequest, waiterConfiguration, FileSystem.LifecycleStateEnum.Deleted).Execute();
        }
        /// <summary>
        /// Deletes the specified file system. Before you delete the file system, verify that no remaining export resources
        /// still reference it. Deleting a file system also deletes all of its snapshots.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <DeleteFileSystemResponse> DeleteFileSystem(DeleteFileSystemRequest request)
        {
            var uriStr = $"{GetEndPoint(FileStorageServices.FileSystems, this.Region)}/{request.FileSystemId}";

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch      = request.IfMatch,
                OpcRequestId = request.OpcRequestId
            };
            var webResponse = await this.RestClientAsync.Delete(uri, httpRequestHeaderParam);

            using (var stream = webResponse.GetResponseStream())
                using (var reader = new StreamReader(stream))
                {
                    var response = reader.ReadToEnd();

                    return(new DeleteFileSystemResponse()
                    {
                        OpcRequestId = webResponse.Headers.Get("opc-request-id")
                    });
                }
        }
Пример #10
0
 /// <summary>
 ///  -   删除一个文件系统,一旦删除,该文件系统将不存在,也无法访问已删除的文件系统里的任何内容。
 ///  [MFA enabled]
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public async Task <DeleteFileSystemResponse> DeleteFileSystem(DeleteFileSystemRequest request)
 {
     return(await new DeleteFileSystemExecutor().Client(this).Execute <DeleteFileSystemResponse, DeleteFileSystemResult, DeleteFileSystemRequest>(request).ConfigureAwait(false));
 }
Пример #11
0
 /// <summary>
 ///  -   删除一个文件系统,一旦删除,该文件系统将不存在,也无法访问已删除的文件系统里的任何内容。
 ///  [MFA enabled]
 /// </summary>
 /// <param name="request">请求参数信息</param>
 /// <returns>请求结果信息</returns>
 public DeleteFileSystemResponse DeleteFileSystem(DeleteFileSystemRequest request)
 {
     return(new DeleteFileSystemExecutor().Client(this).Execute <DeleteFileSystemResponse, DeleteFileSystemResult, DeleteFileSystemRequest>(request));
 }