Skip to content

Commit

Permalink
Merge remote-tracking branch 'bitbucket/github' into release_2023-07-11
Browse files Browse the repository at this point in the history
  • Loading branch information
oci-dex-release-bot committed Jul 11, 2023
2 parents a172b32 + 9577867 commit 6bda88b
Show file tree
Hide file tree
Showing 196 changed files with 17,046 additions and 378 deletions.
15 changes: 15 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@ All notable changes to this project will be documented in this file.

The format is based on [Keep a Changelog](http://keepachangelog.com/)

## 65.43.0 - 2023-07-11
### Added
- Support for specifying default snapshot enablement, verified response codes, client certificate details, and request authentication schemes when creating or updating synthetic monitors in the Application Performance Monitoring service
- Support for address rules, address verification, and requesting addresses in the OSP Gateway service
- Support for synchronous operations in the Document Understanding service
- Support for migration without SSH to database hosts (DMS) in the Database Migration service
- Support for processing workload mappings in the Container Engine for Kubernetes service
- Support for Salesforce, MySQL HeatWave, and Oracle EBS, Sieble, and PeopleSoft connectors in the Data Integration service
- Support for updating the envelope key of a volume backup in the Block Volume service

### Breaking Changes
- Support for retries by default on operations of the OSP Gateway service
- The type of property `BillingAddress` was changed from `*BillingAddress` to `*Address` in the `Subscription` and `SubscriptionSummary` models in the OSP Gateway service


## 65.42.0 - 2023-06-27
### Added
- Support for calling Oracle Cloud Infrastructure services in the eu-frankfurt-2 region
Expand Down
115 changes: 115 additions & 0 deletions aidocument/aidocument_aiservicedocument_client.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,6 +88,64 @@ func (client *AIServiceDocumentClient) ConfigurationProvider() *common.Configura
return client.config
}

// AnalyzeDocument Perform different types of document analysis.
//
// See also
//
// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/aidocument/AnalyzeDocument.go.html to see an example of how to use AnalyzeDocument API.
// A default retry strategy applies to this operation AnalyzeDocument()
func (client AIServiceDocumentClient) AnalyzeDocument(ctx context.Context, request AnalyzeDocumentRequest) (response AnalyzeDocumentResponse, err error) {
var ociResponse common.OCIResponse
policy := common.DefaultRetryPolicy()
if client.RetryPolicy() != nil {
policy = *client.RetryPolicy()
}
if request.RetryPolicy() != nil {
policy = *request.RetryPolicy()
}
ociResponse, err = common.Retry(ctx, request, client.analyzeDocument, policy)
if err != nil {
if ociResponse != nil {
if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil {
opcRequestId := httpResponse.Header.Get("opc-request-id")
response = AnalyzeDocumentResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId}
} else {
response = AnalyzeDocumentResponse{}
}
}
return
}
if convertedResponse, ok := ociResponse.(AnalyzeDocumentResponse); ok {
response = convertedResponse
} else {
err = fmt.Errorf("failed to convert OCIResponse into AnalyzeDocumentResponse")
}
return
}

// analyzeDocument implements the OCIOperation interface (enables retrying operations)
func (client AIServiceDocumentClient) analyzeDocument(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) {

httpRequest, err := request.HTTPRequest(http.MethodPost, "/actions/analyzeDocument", binaryReqBody, extraHeaders)
if err != nil {
return nil, err
}

var response AnalyzeDocumentResponse
var httpResponse *http.Response
httpResponse, err = client.Call(ctx, &httpRequest)
defer common.CloseBodyIfValid(httpResponse)
response.RawResponse = httpResponse
if err != nil {
apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/document-understanding/20221109/AnalyzeDocumentResult/AnalyzeDocument"
err = common.PostProcessServiceError(err, "AIServiceDocument", "AnalyzeDocument", apiReferenceLink)
return response, err
}

err = common.UnmarshalResponse(httpResponse, &response)
return response, err
}

// CancelProcessorJob Cancel a processor job.
//
// See also
Expand Down Expand Up @@ -1141,6 +1199,63 @@ func (client AIServiceDocumentClient) listWorkRequests(ctx context.Context, requ
return response, err
}

// PatchModel Updates the model metadata only selected path parameter.
//
// See also
//
// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/aidocument/PatchModel.go.html to see an example of how to use PatchModel API.
func (client AIServiceDocumentClient) PatchModel(ctx context.Context, request PatchModelRequest) (response PatchModelResponse, err error) {
var ociResponse common.OCIResponse
policy := common.NoRetryPolicy()
if client.RetryPolicy() != nil {
policy = *client.RetryPolicy()
}
if request.RetryPolicy() != nil {
policy = *request.RetryPolicy()
}
ociResponse, err = common.Retry(ctx, request, client.patchModel, policy)
if err != nil {
if ociResponse != nil {
if httpResponse := ociResponse.HTTPResponse(); httpResponse != nil {
opcRequestId := httpResponse.Header.Get("opc-request-id")
response = PatchModelResponse{RawResponse: httpResponse, OpcRequestId: &opcRequestId}
} else {
response = PatchModelResponse{}
}
}
return
}
if convertedResponse, ok := ociResponse.(PatchModelResponse); ok {
response = convertedResponse
} else {
err = fmt.Errorf("failed to convert OCIResponse into PatchModelResponse")
}
return
}

// patchModel implements the OCIOperation interface (enables retrying operations)
func (client AIServiceDocumentClient) patchModel(ctx context.Context, request common.OCIRequest, binaryReqBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (common.OCIResponse, error) {

httpRequest, err := request.HTTPRequest(http.MethodPatch, "/models/{modelId}", binaryReqBody, extraHeaders)
if err != nil {
return nil, err
}

var response PatchModelResponse
var httpResponse *http.Response
httpResponse, err = client.Call(ctx, &httpRequest)
defer common.CloseBodyIfValid(httpResponse)
response.RawResponse = httpResponse
if err != nil {
apiReferenceLink := "https://docs.oracle.com/iaas/api/#/en/document-understanding/20221109/Model/PatchModel"
err = common.PostProcessServiceError(err, "AIServiceDocument", "PatchModel", apiReferenceLink)
return response, err
}

err = common.UnmarshalResponse(httpResponse, &response)
return response, err
}

// UpdateModel Updates the model metadata.
//
// See also
Expand Down
111 changes: 111 additions & 0 deletions aidocument/analyze_document_details.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
// Copyright (c) 2016, 2018, 2023, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.

// Document Understanding API
//
// Document AI helps customers perform various analysis on their documents. If a customer has lots of documents, they can process them in batch using asynchronous API endpoints.
//

package aidocument

import (
"encoding/json"
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"strings"
)

// AnalyzeDocumentDetails The details of how to analyze a document.
type AnalyzeDocumentDetails struct {

// The types of document analysis requested.
Features []DocumentFeature `mandatory:"true" json:"features"`

Document DocumentDetails `mandatory:"true" json:"document"`

// The compartment identifier.
CompartmentId *string `mandatory:"false" json:"compartmentId"`

OutputLocation *OutputLocation `mandatory:"false" json:"outputLocation"`

// The document language, abbreviated according to the BCP 47 syntax.
Language *string `mandatory:"false" json:"language"`

// The document type.
DocumentType DocumentTypeEnum `mandatory:"false" json:"documentType,omitempty"`

OcrData *AnalyzeDocumentResult `mandatory:"false" json:"ocrData"`
}

func (m AnalyzeDocumentDetails) String() string {
return common.PointerString(m)
}

// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (m AnalyzeDocumentDetails) ValidateEnumValue() (bool, error) {
errMessage := []string{}

if _, ok := GetMappingDocumentTypeEnum(string(m.DocumentType)); !ok && m.DocumentType != "" {
errMessage = append(errMessage, fmt.Sprintf("unsupported enum value for DocumentType: %s. Supported values are: %s.", m.DocumentType, strings.Join(GetDocumentTypeEnumStringValues(), ",")))
}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}

// UnmarshalJSON unmarshals from json
func (m *AnalyzeDocumentDetails) UnmarshalJSON(data []byte) (e error) {
model := struct {
CompartmentId *string `json:"compartmentId"`
OutputLocation *OutputLocation `json:"outputLocation"`
Language *string `json:"language"`
DocumentType DocumentTypeEnum `json:"documentType"`
OcrData *AnalyzeDocumentResult `json:"ocrData"`
Features []documentfeature `json:"features"`
Document documentdetails `json:"document"`
}{}

e = json.Unmarshal(data, &model)
if e != nil {
return
}
var nn interface{}
m.CompartmentId = model.CompartmentId

m.OutputLocation = model.OutputLocation

m.Language = model.Language

m.DocumentType = model.DocumentType

m.OcrData = model.OcrData

m.Features = make([]DocumentFeature, len(model.Features))
for i, n := range model.Features {
nn, e = n.UnmarshalPolymorphicJSON(n.JsonData)
if e != nil {
return e
}
if nn != nil {
m.Features[i] = nn.(DocumentFeature)
} else {
m.Features[i] = nil
}
}

nn, e = model.Document.UnmarshalPolymorphicJSON(model.Document.JsonData)
if e != nil {
return
}
if nn != nil {
m.Document = nn.(DocumentDetails)
} else {
m.Document = nil
}

return
}
106 changes: 106 additions & 0 deletions aidocument/analyze_document_request_response.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
// Copyright (c) 2016, 2018, 2023, Oracle and/or its affiliates. All rights reserved.
// This software is dual-licensed to you under the Universal Permissive License (UPL) 1.0 as shown at https://oss.oracle.com/licenses/upl or Apache License 2.0 as shown at http://www.apache.org/licenses/LICENSE-2.0. You may choose either license.
// Code generated. DO NOT EDIT.

package aidocument

import (
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"net/http"
"strings"
)

// AnalyzeDocumentRequest wrapper for the AnalyzeDocument operation
//
// # See also
//
// Click https://docs.cloud.oracle.com/en-us/iaas/tools/go-sdk-examples/latest/aidocument/AnalyzeDocument.go.html to see an example of how to use AnalyzeDocumentRequest.
type AnalyzeDocumentRequest struct {

// The details of how to analyze a document.
AnalyzeDocumentDetails `contributesTo:"body"`

// For optimistic concurrency control. In the PUT or DELETE call
// for a resource, set the `if-match` parameter to the value of the
// etag from a previous GET or POST response for that resource.
// The resource will be updated or deleted only if the etag you
// provide matches the resource's current etag value.
IfMatch *string `mandatory:"false" contributesTo:"header" name:"if-match"`

// The client request ID for tracing.
OpcRequestId *string `mandatory:"false" contributesTo:"header" name:"opc-request-id"`

// Metadata about the request. This information will not be transmitted to the service, but
// represents information that the SDK will consume to drive retry behavior.
RequestMetadata common.RequestMetadata
}

func (request AnalyzeDocumentRequest) String() string {
return common.PointerString(request)
}

// HTTPRequest implements the OCIRequest interface
func (request AnalyzeDocumentRequest) HTTPRequest(method, path string, binaryRequestBody *common.OCIReadSeekCloser, extraHeaders map[string]string) (http.Request, error) {

_, err := request.ValidateEnumValue()
if err != nil {
return http.Request{}, err
}
return common.MakeDefaultHTTPRequestWithTaggedStructAndExtraHeaders(method, path, request, extraHeaders)
}

// BinaryRequestBody implements the OCIRequest interface
func (request AnalyzeDocumentRequest) BinaryRequestBody() (*common.OCIReadSeekCloser, bool) {

return nil, false

}

// RetryPolicy implements the OCIRetryableRequest interface. This retrieves the specified retry policy.
func (request AnalyzeDocumentRequest) RetryPolicy() *common.RetryPolicy {
return request.RequestMetadata.RetryPolicy
}

// ValidateEnumValue returns an error when providing an unsupported enum value
// This function is being called during constructing API request process
// Not recommended for calling this function directly
func (request AnalyzeDocumentRequest) ValidateEnumValue() (bool, error) {
errMessage := []string{}
if len(errMessage) > 0 {
return true, fmt.Errorf(strings.Join(errMessage, "\n"))
}
return false, nil
}

// AnalyzeDocumentResponse wrapper for the AnalyzeDocument operation
type AnalyzeDocumentResponse struct {

// The underlying http response
RawResponse *http.Response

// The AnalyzeDocumentResult instance
AnalyzeDocumentResult `presentIn:"body"`

// The full URI of the resource related to the request
ContentLocation *string `presentIn:"header" name:"content-location"`

// The full URI of the resource related to the request
Location *string `presentIn:"header" name:"location"`

// For optimistic concurrency control. See `if-match`.
Etag *string `presentIn:"header" name:"etag"`

// A unique Oracle-assigned identifier for the request. If you need to contact
// Oracle about a particular request, please provide the request ID.
OpcRequestId *string `presentIn:"header" name:"opc-request-id"`
}

func (response AnalyzeDocumentResponse) String() string {
return common.PointerString(response)
}

// HTTPResponse implements the OCIResponse interface
func (response AnalyzeDocumentResponse) HTTPResponse() *http.Response {
return response.RawResponse
}
Loading

0 comments on commit 6bda88b

Please sign in to comment.