Example #1
0
        /// <summary>
        /// GetIdcsUser
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetIdcsUserResponse GetIdcsUser(GetIdcsUserRequest request)
        {
            var uri = new Uri(GetEndPoint(ConsoleIdcsServices.Users, this.Region));

            //var uri = new Uri("https://" +
            //    "console.us-ashburn-1.oraclecloud.com/a/identity/federations");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new GetIdcsUserResponse()
                        {
                            IdcsUsers = this.JsonSerializer.Deserialize <List <IdcsUser> >(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #2
0
        /// <summary>
        /// Gets a list of all records in the specified RRSet. The results are sorted by recordHash by default.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetRRSetResponse> GetRRSet(GetRRSetRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.Zones, this.Region)}/{request.ZoneNameOrId}/records/{request.Domain}/{request.Rtype}";

            var options = request.GetOptionQuery();

            if (!string.IsNullOrEmpty(options))
            {
                uriStr = $"{uriStr}?{options}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfNoneMatch     = request.IfNoneMatch,
                IfModifiedSince = request.IfModifiedSince
            };
            var webResponse = await this.RestClientAsync.Get(uri, httpRequestHeaderParam);

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

                    return(new GetRRSetResponse()
                    {
                        RRSet = this.JsonSerializer.Deserialize <RRSetDetails>(response),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        OpcTotalItems = webResponse.Headers.Get("opc-total-items"),
                        OpcNextPage = webResponse.Headers.Get("opc-next-page"),
                        ETag = webResponse.Headers.Get("ETag")
                    });
                }
        }
Example #3
0
        /// <summary>
        /// Updates the specified secondary zone with your new external master server information.
        /// For more information about secondary zone, see Manage DNS Service Zone.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <UpdateZoneResponse> UpdateZone(UpdateZoneRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.Zones, this.Region)}/{request.ZoneNameOrId}";

            if (!string.IsNullOrEmpty(request.CompartmentId))
            {
                uriStr = $"{uriStr}?compartmentId={request.CompartmentId}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch           = request.IfMatch,
                IfUnmodifiedSince = request.IfUnmodifiedSince
            };
            var webResponse = await this.RestClientAsync.Put(uri, request.UpdateZoneDetails, httpRequestHeaderParam);

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

                    return(new UpdateZoneResponse()
                    {
                        Zone = this.JsonSerializer.Deserialize <ZoneDetails>(response),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        ETag = webResponse.Headers.Get("ETag")
                    });
                }
        }
Example #4
0
        /// <summary>
        /// Get table usage info.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ListTableUsageResponse ListTableUsage(ListTableUsageRequest request)
        {
            var uriStr   = $"{GetEndPoint(NoSQLServices.Tables, this.Region)}/{request.TableNameOrId}/usage";
            var optional = request.GetOptionalQuery();

            if (!string.IsNullOrEmpty(optional))
            {
                uriStr = $"{uriStr}?{optional}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new ListTableUsageResponse()
                        {
                            TableUsageCollection = this.JsonSerializer.Deserialize <TableUsageCollection>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcNextPage = webResponse.Headers.Get("opc-next-page")
                        });
                    }
        }
Example #5
0
        /// <summary>
        /// Get information about a single index.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetIndexResponse GetIndex(GetIndexRequest request)
        {
            var uriStr = $"{GetEndPoint(NoSQLServices.Tables, this.Region)}/{request.TableNameOrId}/{request.IndexName}";

            if (!string.IsNullOrEmpty(request.CompartmentId))
            {
                uriStr = $"{uriStr}?{request.CompartmentId}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new GetIndexResponse()
                        {
                            Index = this.JsonSerializer.Deserialize <IndexDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            Etag = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #6
0
        /// <summary>
        /// Gets the status of the service.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetStatusResponse GetStatus(GetStatusRequest request)
        {
            var uri = new Uri($"{GetEndPoint(SupportManagementServices.Incidents, this.Region)}/status/{request.Source}");

            var headers = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            headers.FreeHeader.Add("ocid", request.Ocid);
            if (!string.IsNullOrEmpty(request.Homeregion))
            {
                headers.FreeHeader.Add("homeregion", request.Homeregion);
            }
            using (var webResponse = this.RestClient.Get(uri, headers))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new GetStatusResponse()
                        {
                            Status = this.JsonSerializer.Deserialize <StatusDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            ETag = webResponse.Headers.Get("ETag")
                        });
                    }
        }
Example #7
0
        /// <summary>
        /// Create user to request Customer Support Identifier(CSI) to Customer User Administrator(CUA).
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public CreateUserResponse CreateUser(CreateUserRequest request)
        {
            var uri = new Uri($"{GetEndPoint(SupportManagementServices.Users, this.Region)}");

            var headers = new HttpRequestHeaderParam()
            {
                OpcRetryToken = request.OpcRetryToken,
                OpcRequestId  = request.OpcRequestId
            };

            headers.FreeHeader.Add("ocid", request.Ocid);
            if (!string.IsNullOrEmpty(request.Homeregion))
            {
                headers.FreeHeader.Add("homeregion", request.Homeregion);
            }
            using (var webResponse = this.RestClient.Post(uri, request.CreateUserDetails, headers))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new CreateUserResponse()
                        {
                            User = this.JsonSerializer.Deserialize <UserDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            ETag = webResponse.Headers.Get("ETag")
                        });
                    }
        }
Example #8
0
        /// <summary>
        /// Prepare a SQL statement for use in a query with variable substitution.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public PrepareStatementResponse PrepareStatement(PrepareStatementRequest request)
        {
            var uriStr   = GetEndPoint(NoSQLServices.Prepare, this.Region);
            var optional = request.GetOptionalQuery();

            if (!string.IsNullOrEmpty(optional))
            {
                uriStr = $"{uriStr}?{optional}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new PrepareStatementResponse()
                        {
                            PreparedStatement = this.JsonSerializer.Deserialize <PreparedStatement>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #9
0
        /// <summary>
        /// Execute a SQL query.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public QueryResponse Query(QueryRequest request)
        {
            var uriStr   = GetEndPoint(NoSQLServices.Query, this.Region);
            var optional = request.GetOptionalQuery();

            if (!string.IsNullOrEmpty(optional))
            {
                uriStr = $"{uriStr}?{optional}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Post(uri, request.QueryDetails, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new QueryResponse()
                        {
                            QueryResultCollection = this.JsonSerializer.Deserialize <QueryResultCollection>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcNextPage = webResponse.Headers.Get("opc-next-page")
                        });
                    }
        }
Example #10
0
        /// <summary>
        /// Updates certain fields on the specified instance.
        /// Fields that are not provided in the request will not be updated.
        /// Avoid entering confidential information.
        /// </summary>
        /// <param name="updateRequest"></param>
        /// <returns></returns>
        public UpdateInstanceResponse UpdateInstance(UpdateInstanceRequest updateRequest)
        {
            var uri = new Uri($"{GetEndPoint(CoreServices.Instance, this.Region)}/{updateRequest.InstanceId}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch       = updateRequest.IfMatch,
                OpcRetryToken = updateRequest.OpcRetryToken
            };

            using (var webResponse = this.RestClient.Put(uri, updateRequest.UpdateInstanceDetails, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new UpdateInstanceResponse()
                        {
                            Instance = this.JsonSerializer.Deserialize <Instance>(response),
                            ETag = webResponse.Headers.Get("etag"),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcWorkRequestId = webResponse.Headers.Get("opc-work-request-id")
                        });
                    }
        }
Example #11
0
        /// <summary>
        /// Get a single row from the table by primary key.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetRowResponse GetRow(GetRowRequest request)
        {
            var uriStr   = $"{GetEndPoint(NoSQLServices.Tables, this.Region)}/{request.TableNameOrId}/rows";
            var optional = request.GetOptionalQuery();

            if (!string.IsNullOrEmpty(optional))
            {
                uriStr = $"{uriStr}?{optional}";
            }
            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new GetRowResponse()
                        {
                            Row = this.JsonSerializer.Deserialize <RowDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            Etag = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #12
0
        /// <summary>
        /// Gets information about the specified steering policy.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetSteeringPolicyResponse> GetSteeringPolicy(GetSteeringPolicyRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.SteeringPolicies, this.Region)}/{request.SteeringPolicyId}";

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfNoneMatch     = request.IfNoneMatch,
                IfModifiedSince = request.IfModifiedSince
            };

            using (var webResponse = await this.RestClientAsync.Get(uri, httpRequestHeaderParam))

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

                        return(new GetSteeringPolicyResponse()
                        {
                            SteeringPolicy = this.JsonSerializer.Deserialize <SteeringPolicyDetails>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            ETag = webResponse.Headers.Get("ETag")
                        });
                    }
        }
        /// <summary>
        /// Performs a partial or full update of a bucket's user-defined metadata.
        ///
        /// Use UpdateBucket to move a bucket from one compartment to another within the same tenancy.
        /// Supply the compartmentID of the compartment that you want to move the bucket to.
        /// For more information about moving resources between compartments, see Moving Resources to a Different Compartment.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <UpdateBucketResponse> UpdateBucket(UpdateBucketRequest request)
        {
            var uri = new Uri(GetEndPointNoneVersion(ObjectStorageServices.Bucket(request.NamespaceName, request.BucketName), this.Region));

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch            = request.IfMatch,
                OpcClientRequestId = request.OpcClientRequestId
            };
            var webResponse = await this.RestClientAsync.Post(uri, request.UpdateBucketDetails, httpRequestHeaderParam);

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

                    return(new UpdateBucketResponse()
                    {
                        Bucket = JsonSerializer.Deserialize <Bucket>(response),
                        ETag = webResponse.Headers.Get("ETag"),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        OpcClientRequestId = webResponse.Headers.Get("opc-client-request-id")
                    });
                }
        }
        /// <summary>
        /// Download Object
        /// </summary>
        /// <param name="request"></param>
        /// <param name="savePath"></param>
        /// <param name="filename"></param>
        public async Task DownloadObject(GetObjectRequest request, string savePath, string filename)
        {
            var uri = new Uri($"{GetEndPointNoneVersion(ObjectStorageServices.Object(request.NamespaceName, request.BucketName), this.Region)}/{request.ObjectName}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch            = request.IfMatch,
                IfNoneMatch        = request.IfNoneMatch,
                OpcClientRequestId = request.OpcClientRequestId,
                Range = request.Range
            };
            var webResponse = await this.RestClientAsync.Get(uri, httpRequestHeaderParam);

            using (var stream = webResponse.GetResponseStream())
                using (var fs = new FileStream($"{savePath}/{filename}", FileMode.Create, FileAccess.Write))
                {
                    byte[] readData = new byte[1024];
                    while (true)
                    {
                        int readSize = stream.Read(readData, 0, readData.Length);
                        if (readSize == 0)
                        {
                            break;
                        }
                        fs.Write(readData, 0, readSize);
                    }
                }
        }
Example #15
0
        /// <summary>
        /// Updates records in the specified RRSet.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <PatchRRSetResponse> PatchRRSet(PatchRRSetRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.Zones, this.Region)}/{request.ZoneNameOrId}/records/{request.Domain}/{request.Rtype}";

            if (!string.IsNullOrEmpty(request.CompartmentId))
            {
                uriStr = $"{uriStr}?compartmentId={request.CompartmentId}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch           = request.IfMatch,
                IfUnmodifiedSince = request.IfUnmodifiedSince
            };
            var webResponse = await this.RestClientAsync.Patch(uri, request.PatchRRSetDetails, httpRequestHeaderParam);

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

                    return(new PatchRRSetResponse()
                    {
                        RecordCollection = this.JsonSerializer.Deserialize <RecordCollection>(response),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        OpcTotalItems = webResponse.Headers.Get("opc-total-items"),
                        OpcNextPage = webResponse.Headers.Get("opc-next-page"),
                        ETag = webResponse.Headers.Get("ETag")
                    });
                }
        }
Example #16
0
        /// <summary>
        /// Change a table's compartment.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ChangeTableCompartmentResponse ChangeTableCompartment(ChangeTableCompartmentRequest request)
        {
            var uriStr = $"{GetEndPoint(NoSQLServices.Tables, this.Region)}/{request.TableNameOrId}/actions/changeCompartment";
            var uri    = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch       = request.IfMatch,
                OpcRequestId  = request.OpcRequestId,
                OpcRetryToken = request.OpcRetryToken
            };

            using (var webResponse = this.RestClient.Post(uri, request.ChangeTableCompartmentDetails, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new ChangeTableCompartmentResponse()
                        {
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcWorkRequestId = webResponse.Headers.Get("opc-work-request-id")
                        });
                    }
        }
Example #17
0
        /// <summary>
        /// Deletes all records in the specified RRSet.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <DeleteRRSetResponse> DeleteRRSet(DeleteRRSetRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.Zones, this.Region)}/{request.ZoneNameOrId}/records/{request.Domain}/{request.Rtype}";

            if (!string.IsNullOrEmpty(request.CompartmentId))
            {
                uriStr = $"{uriStr}?compartmentId={request.CompartmentId}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch           = request.IfMatch,
                IfUnmodifiedSince = request.IfUnmodifiedSince
            };
            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 DeleteRRSetResponse()
                    {
                        OpcRequestId = webResponse.Headers.Get("opc-request-id")
                    });
                }
        }
Example #18
0
        /// <summary>
        /// Delete a table by tableNameOrId.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public DeleteTableResponse DeleteTable(DeleteTableRequest request)
        {
            var uriStr   = $"{GetEndPoint(NoSQLServices.Tables, this.Region)}/{request.TableNameOrId}";
            var optional = request.GetOptionalQuery();

            if (!string.IsNullOrEmpty(optional))
            {
                uriStr = $"{uriStr}?{optional}";
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch      = request.IfMatch,
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Delete(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new DeleteTableResponse()
                        {
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcWorkRequestId = webResponse.Headers.Get("opc-work-request-id")
                        });
                    }
        }
Example #19
0
        /// <summary>
        /// Returns the list of support tickets raised by the tenancy.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ListIncidentsResponse ListIncidents(ListIncidentsRequest request)
        {
            var uri = new Uri($"{GetEndPoint(SupportManagementServices.Incidents, this.Region)}?{request.GetOptionQuery()}");

            var headers = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };

            headers.FreeHeader.Add("csi", request.Csi);
            headers.FreeHeader.Add("ocid", request.Ocid);
            if (!string.IsNullOrEmpty(request.Homeregion))
            {
                headers.FreeHeader.Add("homeregion", request.Homeregion);
            }
            using (var webResponse = this.RestClient.Get(uri, headers))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new ListIncidentsResponse()
                        {
                            Items = this.JsonSerializer.Deserialize <List <IncidentSummary> >(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcNextPage = webResponse.Headers.Get("opc-next-page"),
                            ETag = webResponse.Headers.Get("ETag")
                        });
                    }
        }
Example #20
0
        /// <summary>
        /// Updates the specified steering policy attachment with your new information.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <UpdateSteeringPolicyAttachmentResponse> UpdateSteeringPolicyAttachment(UpdateSteeringPolicyAttachmentRequest request)
        {
            var uriStr = $"{GetEndPoint(DNSServices.SteeringPolicyAttachments, this.Region)}/{request.SteeringPolicyAttachmentId}";

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch           = request.IfMatch,
                IfUnmodifiedSince = request.IfUnmodifiedSince
            };
            var webResponse = await this.RestClientAsync.Put(uri, request.UpdateSteeringPolicyAttachmentDetails, httpRequestHeaderParam);

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

                    return(new UpdateSteeringPolicyAttachmentResponse()
                    {
                        SteeringPolicyAttachment = this.JsonSerializer.Deserialize <SteeringPolicyAttachmentDetails>(response),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        ETag = webResponse.Headers.Get("ETag")
                    });
                }
        }
        /// <summary>
        /// Gets the current representation of the given bucket in the given Object Storage namespace.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public GetBucketResponse GetBucket(GetBucketRequest request)
        {
            var uri = new Uri($"{GetEndPointNoneVersion(ObjectStorageServices.Bucket(request.NamespaceName), this.Region)}/{request.BucketName}/");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch            = request.IfMatch,
                IfNoneMatch        = request.IfNoneMatch,
                OpcClientRequestId = request.OpcClientRequestId
            };
            var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam, request.Fields);

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

                    return(new GetBucketResponse()
                    {
                        Bucket = JsonSerializer.Deserialize <Bucket>(response),
                        ETag = webResponse.Headers.Get("ETag"),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        OpcClientRequestId = webResponse.Headers.Get("opc-client-request-id")
                    });
                }
        }
Example #22
0
        /// <summary>
        /// Returns usage for the given account.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <RequestSummarizedUsagesResponse> RequestSummarizedUsagesAsync(RequestSummarizedUsagesRequest request)
        {
            var uriStr  = $"{GetEndPoint(UsageServices.Usage, this.Region, "oci.oraclecloud.com")}";
            var options = request.GetOptions();

            if (!string.IsNullOrEmpty(options))
            {
                uriStr = uriStr + "?" + options;
            }

            var uri = new Uri(uriStr);

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId,
            };

            using (var webResponse = await this.RestClientAsync.Post(uri, request.RequestSummarizedUsagesDetails, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = await reader.ReadToEndAsync();

                        return(new RequestSummarizedUsagesResponse()
                        {
                            UsageAggregation = this.JsonSerializer.Deserialize <UsageAggregation>(response),
                            OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                            OpcNextPage = webResponse.Headers.Get("opc-next-page")
                        });
                    }
        }
Example #23
0
        /// <summary>
        /// Move the DB system and its dependent resources to the specified compartment.
        /// For more information about moving DB systems, see Moving Database Resources to a Different Compartment.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ChangeDbSystemCompartmentResponse ChangeDbSystemCompartment(ChangeDbSystemCompartmentRequest request)
        {
            var uri = new Uri($"{GetEndPoint(DatabaseServices.DbSystems, this.Region)}/{request.DbSystemId}/actions/changeCompartment");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId  = request.OpcRequestId,
                OpcRetryToken = request.OpcRetryToken,
                IfMatch       = request.IfMatch
            };
            var webResponse = this.RestClient.Post(uri, request.ChangeCompartmentDetails, httpRequestHeaderParam);

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

                    return(new ChangeDbSystemCompartmentResponse()
                    {
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        OpcWorkRequestId = webResponse.Headers.Get("opc-work-request-id"),
                        ETag = webResponse.Headers.Get("ETag")
                    });
                }
        }
Example #24
0
        /// <summary>
        /// Removes any existing suppression for the specified alarm. For important limits information, see Limits on Monitoring.
        /// Transactions Per Second (TPS) per-tenancy limit for this operation: 1.
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task <RemoveAlarmSuppressionResponse> RemoveAlarmSuppression(RemoveAlarmSuppressionRequest param)
        {
            var uri = new Uri($"{GetEndPoint(MonitoringServices.Alarms, this.Region)}/{param.AlarmId}/actions/removeSuppression");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch      = param.IfMatch,
                OpcRequestId = param.OpcRequestId
            };

            using (var webResponse = await this.RestClientAsync.Post(uri, null, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = await reader.ReadToEndAsync();

                        return(new RemoveAlarmSuppressionResponse()
                        {
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #25
0
        /// <summary>
        /// Deletes the specified alarm. For important limits information, see Limits on Monitoring.
        /// Transactions Per Second (TPS) per-tenancy limit for this operation: 1.
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public async Task <DeleteAlarmResponse> DeleteAlarm(DeleteAlarmRequest param)
        {
            var uri = new Uri($"{GetEndPoint(MonitoringServices.Alarms, this.Region)}/{param.AlarmId}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch      = param.IfMatch,
                OpcRequestId = param.OpcRequestId
            };

            using (var webResponse = await this.RestClientAsync.Delete(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = await reader.ReadToEndAsync();

                        return(new DeleteAlarmResponse()
                        {
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
Example #26
0
        /// <summary>
        /// ListServiceEntitlementRegistrations
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public ListServiceEntitlementRegistrationsResponse ListServiceEntitlementRegistrations(ListServiceEntitlementRegistrationsRequest request)
        {
            var uri = new Uri($"{GetEndPoint(CommercialServices.ServiceEntitlementRegistrations, this.Region, DomainName)}?compartmentId={request.CompartmentId}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId
            };
            var webResponse = this.RestClient.Get(uri, httpRequestHeaderParam);

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

                    return(new ListServiceEntitlementRegistrationsResponse()
                    {
                        Items = this.JsonSerializer.Deserialize <List <ServiceEntitlementRegistrations> >(response),
                        OpcRequestId = webResponse.Headers.Get("opc-request-id")
                    });
                }
        }
        /// <summary>
        /// Deletes a specified Budget resource
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public DeleteBudgetResponse DeleteBudget(DeleteBudgetRequest request)
        {
            var uri = new Uri($"{GetEndPoint(BudgetsServices.Budgets, this.Region, "oci.oraclecloud.com")}/{request.BudgetId}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                IfMatch      = request.IfMatch,
                OpcRequestId = request.OpcRequestId
            };

            using (var webResponse = this.RestClient.Delete(uri, httpRequestHeaderParam))
                using (var stream = webResponse.GetResponseStream())
                    using (var reader = new StreamReader(stream))
                    {
                        var response = reader.ReadToEnd();

                        return(new DeleteBudgetResponse()
                        {
                            OpcRequestId = webResponse.Headers.Get("opc-request-id")
                        });
                    }
        }
        /// <summary>
        /// Deletes the specified subscription.
        /// Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <DeleteSubscriptionResponse> DeleteSubscription(DeleteSubscriptionRequest request)
        {
            var uri = new Uri($"{GetEndPoint(NotificationServices.Subscriptions, this.Region)}/{request.SubscriptionId}");

            var httpRequestHeaderParam = new HttpRequestHeaderParam()
            {
                OpcRequestId = request.OpcRequestId,
                IfMatch      = request.IfMatch
            };
            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 DeleteSubscriptionResponse()
                    {
                        OpcRequestId = webResponse.Headers.Get("opc-request-id")
                    });
                }
        }
        /// <summary>
        /// Gets the unsubscription details for the specified subscription.
        /// Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <GetUnsubscriptionResponse> GetUnsubscription(GetUnsubscriptionRequest request)
        {
            var uri = new Uri($"{GetEndPoint(NotificationServices.Subscriptions, this.Region)}/{request.Id}/unsubscription?{request.GetOptionQuery()}");

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

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

                    return(new GetUnsubscriptionResponse()
                    {
                        Body = response,
                        OpcRequestId = webResponse.Headers.Get("opc-request-id")
                    });
                }
        }
        /// <summary>
        /// Resends the confirmation details for the specified subscription.
        /// Transactions Per Minute (TPM) per-tenancy limit for this operation: 60.
        /// </summary>
        /// <param name="request"></param>
        /// <returns></returns>
        public async Task <ResendSubscriptionConfirmationResponse> ResendSubscriptionConfirmation(ResendSubscriptionConfirmationRequest request)
        {
            var uri = new Uri($"{GetEndPoint(NotificationServices.Subscriptions, this.Region)}/{request.Id}/resendConfirmation");

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

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

                    return(new ResendSubscriptionConfirmationResponse()
                    {
                        OpcRequestId = webResponse.Headers.Get("opc-request-id"),
                        Subscription = this.JsonSerializer.Deserialize <SubscriptionDetails>(response)
                    });
                }
        }