public object Execute(ExecutorContext context) { var cmdletContext = context as CmdletContext; // create request var request = new Amazon.CloudSearch.Model.CreateDomainRequest(); if (cmdletContext.DomainName != null) { request.DomainName = cmdletContext.DomainName; } CmdletOutput output; // issue call var client = Client ?? CreateClient(_CurrentCredentials, _RegionEndpoint); try { var response = CallAWSServiceOperation(client, request); object pipelineOutput = null; pipelineOutput = cmdletContext.Select(response, this); output = new CmdletOutput { PipelineOutput = pipelineOutput, ServiceResponse = response }; } catch (Exception e) { output = new CmdletOutput { ErrorResponse = e }; } return(output); }
/// <summary> /// Initiates the asynchronous execution of the CreateDomain operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDomain operation on AmazonCloudSearchClient.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDomain /// operation.</returns> public IAsyncResult BeginCreateDomain(CreateDomainRequest request, AsyncCallback callback, object state) { var marshaller = new CreateDomainRequestMarshaller(); var unmarshaller = CreateDomainResponseUnmarshaller.Instance; return BeginInvoke<CreateDomainRequest>(request, marshaller, unmarshaller, callback, state); }
/// <summary> /// Creates a new search domain. For more information, see <a href="http://docs.aws.amazon.com/cloudsearch/latest/developerguide/creating-domains.html" /// target="_blank">Creating a Search Domain</a> in the <i>Amazon CloudSearch Developer /// Guide</i>. /// </summary> /// <param name="request">Container for the necessary parameters to execute the CreateDomain service method.</param> /// /// <returns>The response from the CreateDomain service method, as returned by CloudSearch.</returns> /// <exception cref="Amazon.CloudSearch.Model.BaseException"> /// An error occurred while processing the request. /// </exception> /// <exception cref="Amazon.CloudSearch.Model.InternalException"> /// An internal error occurred while processing the request. If this problem persists, /// report an issue from the <a href="http://status.aws.amazon.com/" target="_blank">Service /// Health Dashboard</a>. /// </exception> /// <exception cref="Amazon.CloudSearch.Model.LimitExceededException"> /// The request was rejected because a resource limit has already been met. /// </exception> public CreateDomainResponse CreateDomain(CreateDomainRequest request) { var marshaller = new CreateDomainRequestMarshaller(); var unmarshaller = CreateDomainResponseUnmarshaller.Instance; return Invoke<CreateDomainRequest,CreateDomainResponse>(request, marshaller, unmarshaller); }
IAsyncResult invokeCreateDomain(CreateDomainRequest createDomainRequest, AsyncCallback callback, object state, bool synchronized) { IRequest irequest = new CreateDomainRequestMarshaller().Marshall(createDomainRequest); var unmarshaller = CreateDomainResponseUnmarshaller.GetInstance(); AsyncResult result = new AsyncResult(irequest, callback, state, synchronized, signer, unmarshaller); Invoke(result); return result; }
/// <summary> /// Initiates the asynchronous execution of the CreateDomain operation. /// <seealso cref="Amazon.CloudSearch.IAmazonCloudSearch.CreateDomain"/> /// </summary> /// /// <param name="createDomainRequest">Container for the necessary parameters to execute the CreateDomain operation on AmazonCloudSearch.</param> /// <param name="callback">An AsyncCallback delegate that is invoked when the operation completes.</param> /// <param name="state">A user-defined state object that is passed to the callback procedure. Retrieve this object from within the callback /// procedure using the AsyncState property.</param> /// /// <returns>An IAsyncResult that can be used to poll or wait for results, or both; this value is also needed when invoking EndCreateDomain /// operation.</returns> public IAsyncResult BeginCreateDomain(CreateDomainRequest createDomainRequest, AsyncCallback callback, object state) { return invokeCreateDomain(createDomainRequest, callback, state, false); }
/// <summary> /// <para>Creates a new search domain. For more information, see <a /// href="http://docs.aws.amazon.com/cloudsearch/latest/developerguide/creating-domains.html" >Creating a Search Domain</a> in the <i>Amazon /// CloudSearch Developer Guide</i> .</para> /// </summary> /// /// <param name="createDomainRequest">Container for the necessary parameters to execute the CreateDomain service method on /// AmazonCloudSearch.</param> /// /// <returns>The response from the CreateDomain service method, as returned by AmazonCloudSearch.</returns> /// /// <exception cref="InternalException"/> /// <exception cref="LimitExceededException"/> /// <exception cref="BaseException"/> public CreateDomainResponse CreateDomain(CreateDomainRequest createDomainRequest) { IAsyncResult asyncResult = invokeCreateDomain(createDomainRequest, null, null, true); return EndCreateDomain(asyncResult); }
public void CreateIndex(string name, IEnumerable<IFieldDefinition> fieldDefinitions) { //You must add here your accessKey and SecretAccessKey. See here how to get them: http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSGettingStartedGuide/AWSCredentials.html using (IAmazonCloudSearch cloudSearchClient = AWSClientFactory.CreateAmazonCloudSearchClient(AmazonSearchService.AwsAccessKey, AmazonSearchService.AwsSecretAccessKey, RegionEndpoint.EUWest1)) { try { CreateDomainRequest domainRequest = new CreateDomainRequest(); domainRequest.DomainName = name; cloudSearchClient.CreateDomain(domainRequest); if (fieldDefinitions == null) throw new ArgumentNullException("fieldDefinitions"); foreach (var fieldDefinition in fieldDefinitions) { DefineIndexFieldRequest request = new DefineIndexFieldRequest(); request.DomainName = name; request.IndexField = new IndexField(); request.IndexField.IndexFieldName = fieldDefinition.Name.ToUpperInvariant(); if (fieldDefinition.Type == null || fieldDefinition.Type == typeof(string)) request.IndexField.IndexFieldType = IndexFieldType.Text; if (fieldDefinition.Type == typeof(string[])) request.IndexField.IndexFieldType = IndexFieldType.TextArray; if (fieldDefinition.Type == typeof(int)) request.IndexField.IndexFieldType = IndexFieldType.Int; if (fieldDefinition.Type == typeof(DateTime)) request.IndexField.IndexFieldType = IndexFieldType.Date; cloudSearchClient.DefineIndexField(request); } SearchResults searchResults = new SearchResults(); foreach (var field in searchResults.HighlightedFields) { Suggester suggester = new Suggester(); DocumentSuggesterOptions suggesterOptions = new DocumentSuggesterOptions(); suggesterOptions.FuzzyMatching = SuggesterFuzzyMatching.None; suggesterOptions.SourceField = field.ToUpperInvariant(); suggester.DocumentSuggesterOptions = suggesterOptions; suggester.SuggesterName = field.ToUpperInvariant() + "_suggester"; DefineSuggesterRequest defineRequest = new DefineSuggesterRequest(); defineRequest.DomainName = name; defineRequest.Suggester = suggester; cloudSearchClient.DefineSuggester(defineRequest); } searchResults.Dispose(); IndexDocumentsRequest documentRequest = new IndexDocumentsRequest(); documentRequest.DomainName = name; cloudSearchClient.IndexDocuments(documentRequest); } catch (BaseException ex) { Log.Write(ex.InnerException.Message); } catch (LimitExceededException ex) { Log.Write(ex.InnerException.Message); } catch (InternalException ex) { Log.Write(ex.InnerException.Message); } } }
/// <summary> /// Initiates the asynchronous execution of the CreateDomain operation. /// <seealso cref="Amazon.CloudSearch.IAmazonCloudSearch.CreateDomain"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDomain 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 async Task<CreateDomainResponse> CreateDomainAsync(CreateDomainRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateDomainRequestMarshaller(); var unmarshaller = CreateDomainResponseUnmarshaller.GetInstance(); var response = await Invoke<IRequest, CreateDomainRequest, CreateDomainResponse>(request, marshaller, unmarshaller, signer, cancellationToken) .ConfigureAwait(continueOnCapturedContext: false); return response; }
/// <summary> /// <para>Creates a new search domain.</para> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDomain service method on /// AmazonCloudSearch.</param> /// /// <returns>The response from the CreateDomain service method, as returned by AmazonCloudSearch.</returns> /// /// <exception cref="T:Amazon.CloudSearch.Model.BaseException" /> /// <exception cref="T:Amazon.CloudSearch.Model.LimitExceededException" /> /// <exception cref="T:Amazon.CloudSearch.Model.InternalException" /> public CreateDomainResponse CreateDomain(CreateDomainRequest request) { var task = CreateDomainAsync(request); try { return task.Result; } catch(AggregateException e) { throw e.InnerException; } }
/// <summary> /// Initiates the asynchronous execution of the CreateDomain operation. /// <seealso cref="Amazon.CloudSearch.IAmazonCloudSearch.CreateDomain"/> /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDomain 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<CreateDomainResponse> CreateDomainAsync(CreateDomainRequest request, CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateDomainRequestMarshaller(); var unmarshaller = CreateDomainResponseUnmarshaller.GetInstance(); return Invoke<IRequest, CreateDomainRequest, CreateDomainResponse>(request, marshaller, unmarshaller, signer, cancellationToken); }
internal CreateDomainResponse CreateDomain(CreateDomainRequest request) { var task = CreateDomainAsync(request); try { return task.Result; } catch(AggregateException e) { ExceptionDispatchInfo.Capture(e.InnerException).Throw(); return null; } }
/// <summary> /// Initiates the asynchronous execution of the CreateDomain operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the CreateDomain 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<CreateDomainResponse> CreateDomainAsync(CreateDomainRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new CreateDomainRequestMarshaller(); var unmarshaller = CreateDomainResponseUnmarshaller.Instance; return InvokeAsync<CreateDomainRequest,CreateDomainResponse>(request, marshaller, unmarshaller, cancellationToken); }
private Amazon.CloudSearch.Model.CreateDomainResponse CallAWSServiceOperation(IAmazonCloudSearch client, Amazon.CloudSearch.Model.CreateDomainRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon CloudSearch", "CreateDomain"); try { #if DESKTOP return(client.CreateDomain(request)); #elif CORECLR return(client.CreateDomainAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }