Skip to content

Commit

Permalink
Releasing version 98.0.0
Browse files Browse the repository at this point in the history
Releasing version 98.0.0
  • Loading branch information
oci-dex-release-bot authored Oct 22, 2024
2 parents cad62fc + 54879b7 commit de51dae
Show file tree
Hide file tree
Showing 494 changed files with 19,727 additions and 1,228 deletions.
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,28 @@ The format is based on Keep a [Changelog](http://keepachangelog.com/).
### Breaking Changes
- The property `Credentials` was made required in the model `CreateDbSystemDetails` in the PostgreSQL service

## 98.0.0 - 2024-10-22
### Added
- Support for resource locking in the File storage service
- Support for customer managed keys via Azure key vault and Amazon Web Services key vault in the Database service
- Support for generated tokens on create secret operations in the Identity Domains service
- Support for creating and updating Amazon Web Services asset-sources, EC2 and EBS assets in the Cloud Bridge service
- Support for listing Amazon Web Services regions which are available for discovery and migration in the Cloud Bridge service
- Support for model backup retention and restore in the Datascience service
- Support for host capacity planning for host IO metrics in the Operations Insight service
- Support for FastConnect redundancy in the Compute service
- Support for create, publish, clone and delete operations on runbooks in the Fleet Application Management service
- Support for platform configurations and metadata management in the Fleet Application Management service
- Support for management of compliance policy rules in the Fleet Application Management service
- Support for compliance report details based on compliance policy in the Fleet Application Management service
- Support for administrative settings like auto discovery frequency in the Fleet Application Management service

### Breaking Changes
- The property `DiscoveryScheduleId` was removed from the model `UpdateVmWareAssetSourceDetails` in the Cloud Bridge service
- The operation `UpdatePlugin` was removed from the `OcbAgentSvcClient` client in the Cloud Bridge service
- The enum `HOST_CONTAINERS` was removed from the enum `MetricNameEnum` in the model `HostPerformanceMetricGroup` in the Operations Insight service
- The parent class of model `HostContainers` was changed from `HostPerformanceMetricGroup` to `HostConfigurationMetricGroup` in the Operations Insight service

## 97.0.0 - 2024-10-15
### Added
- Support for open id connect discovery in the Oracle Kubernetes Engine service
Expand Down
57 changes: 57 additions & 0 deletions Cloudbridge/DiscoveryClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -690,6 +690,63 @@ public async Task<ListDiscoverySchedulesResponse> ListDiscoverySchedules(ListDis
}
}

/// <summary>
/// Returns a list of supported cloud regions related to AssetSourceTypeParam.
///
/// </summary>
/// <param name="request">The request object containing the details to send. Required.</param>
/// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param>
/// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param>
/// <param name="completionOption">The completion option for this operation. Optional.</param>
/// <returns>A response object containing details about the completed operation</returns>
/// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/cloudbridge/ListSupportedCloudRegions.cs.html">here</a> to see an example of how to use ListSupportedCloudRegions API.</example>
public async Task<ListSupportedCloudRegionsResponse> ListSupportedCloudRegions(ListSupportedCloudRegionsRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead)
{
logger.Trace("Called listSupportedCloudRegions");
Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/supportedCloudRegions".Trim('/')));
HttpMethod method = new HttpMethod("GET");
HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request);
requestMessage.Headers.Add("Accept", "application/json");
GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration);
HttpResponseMessage responseMessage;

try
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
if (retryingClient != null)
{
responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false);
}
else
{
responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false);
}
stopWatch.Stop();
ApiDetails apiDetails = new ApiDetails
{
ServiceName = "Discovery",
OperationName = "ListSupportedCloudRegions",
RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}",
ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/OCB/20220509/SupportedCloudRegionSummary/ListSupportedCloudRegions",
UserAgent = this.GetUserAgent()
};
this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails);
logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms");
return Converter.FromHttpResponseMessage<ListSupportedCloudRegionsResponse>(responseMessage);
}
catch (OciException e)
{
logger.Error(e);
throw;
}
catch (Exception e)
{
logger.Error($"ListSupportedCloudRegions failed with error: {e.Message}");
throw;
}
}

/// <summary>
/// Initiates the process of asset metadata synchronization with the related asset source.
/// </summary>
Expand Down
49 changes: 49 additions & 0 deletions Cloudbridge/DiscoveryPaginators.cs
Original file line number Diff line number Diff line change
Expand Up @@ -196,5 +196,54 @@ public IEnumerable<DiscoveryScheduleSummary> ListDiscoverySchedulesRecordEnumera
);
}

/// <summary>
/// Creates a new enumerable which will iterate over the responses received from the ListSupportedCloudRegions operation. This enumerable
/// will fetch more data from the server as needed.
/// </summary>
/// <param name="request">The request object containing the details to send</param>
/// <param name="retryConfiguration">The configuration for retrying, may be null</param>
/// <param name="cancellationToken">The cancellation token object</param>
/// <returns>The enumerator, which supports a simple iteration over a collection of a specified type</returns>
public IEnumerable<ListSupportedCloudRegionsResponse> ListSupportedCloudRegionsResponseEnumerator(ListSupportedCloudRegionsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default)
{
return new Common.Utils.ResponseEnumerable<ListSupportedCloudRegionsRequest, ListSupportedCloudRegionsResponse>(
response => response.OpcNextPage,
input =>
{
if (!string.IsNullOrEmpty(input))
{
request.Page = input;
}
return request;
},
request => client.ListSupportedCloudRegions(request, retryConfiguration, cancellationToken)
);
}

/// <summary>
/// Creates a new enumerable which will iterate over the SupportedCloudRegionSummary objects
/// contained in responses from the ListSupportedCloudRegions operation. This enumerable will fetch more data from the server as needed.
/// </summary>
/// <param name="request">The request object containing the details to send</param>
/// <param name="retryConfiguration">The configuration for retrying, may be null</param>
/// <param name="cancellationToken">The cancellation token object</param>
/// <returns>The enumerator, which supports a simple iteration over a collection of a specified type</returns>
public IEnumerable<SupportedCloudRegionSummary> ListSupportedCloudRegionsRecordEnumerator(ListSupportedCloudRegionsRequest request, Common.Retry.RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default)
{
return new Common.Utils.ResponseRecordEnumerable<ListSupportedCloudRegionsRequest, ListSupportedCloudRegionsResponse, SupportedCloudRegionSummary>(
response => response.OpcNextPage,
input =>
{
if (!string.IsNullOrEmpty(input))
{
request.Page = input;
}
return request;
},
request => client.ListSupportedCloudRegions(request, retryConfiguration, cancellationToken),
response => response.SupportedCloudRegionCollection.Items
);
}

}
}
56 changes: 0 additions & 56 deletions Cloudbridge/OcbAgentSvcClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1311,61 +1311,5 @@ public async Task<UpdateEnvironmentResponse> UpdateEnvironment(UpdateEnvironment
}
}

/// <summary>
/// Updates the plugin.
/// </summary>
/// <param name="request">The request object containing the details to send. Required.</param>
/// <param name="retryConfiguration">The retry configuration that will be used by to send this request. Optional.</param>
/// <param name="cancellationToken">The cancellation token to cancel this operation. Optional.</param>
/// <param name="completionOption">The completion option for this operation. Optional.</param>
/// <returns>A response object containing details about the completed operation</returns>
/// <example>Click <a href="https://docs.cloud.oracle.com/en-us/iaas/tools/dot-net-examples/latest/cloudbridge/UpdatePlugin.cs.html">here</a> to see an example of how to use UpdatePlugin API.</example>
public async Task<UpdatePluginResponse> UpdatePlugin(UpdatePluginRequest request, RetryConfiguration retryConfiguration = null, CancellationToken cancellationToken = default, HttpCompletionOption completionOption = HttpCompletionOption.ResponseContentRead)
{
logger.Trace("Called updatePlugin");
Uri uri = new Uri(this.restClient.GetEndpoint(), System.IO.Path.Combine(basePathWithoutHost, "/agents/{agentId}/plugins/{pluginName}".Trim('/')));
HttpMethod method = new HttpMethod("PUT");
HttpRequestMessage requestMessage = Converter.ToHttpRequestMessage(uri, method, request);
requestMessage.Headers.Add("Accept", "application/json");
GenericRetrier retryingClient = Retrier.GetPreferredRetrier(retryConfiguration, this.retryConfiguration);
HttpResponseMessage responseMessage;

try
{
Stopwatch stopWatch = new Stopwatch();
stopWatch.Start();
if (retryingClient != null)
{
responseMessage = await retryingClient.MakeRetryingCall(this.restClient.HttpSend, requestMessage, completionOption, cancellationToken).ConfigureAwait(false);
}
else
{
responseMessage = await this.restClient.HttpSend(requestMessage, completionOption: completionOption).ConfigureAwait(false);
}
stopWatch.Stop();
ApiDetails apiDetails = new ApiDetails
{
ServiceName = "OcbAgentSvc",
OperationName = "UpdatePlugin",
RequestEndpoint = $"{method.Method} {requestMessage.RequestUri}",
ApiReferenceLink = "https://docs.oracle.com/iaas/api/#/en/OCB/20220509/Plugin/UpdatePlugin",
UserAgent = this.GetUserAgent()
};
this.restClient.CheckHttpResponseMessage(requestMessage, responseMessage, apiDetails);
logger.Debug($"Total Latency for this API call is: {stopWatch.ElapsedMilliseconds} ms");
return Converter.FromHttpResponseMessage<UpdatePluginResponse>(responseMessage);
}
catch (OciException e)
{
logger.Error(e);
throw;
}
catch (Exception e)
{
logger.Error($"UpdatePlugin failed with error: {e.Message}");
throw;
}
}

}
}
6 changes: 6 additions & 0 deletions Cloudbridge/models/Asset.cs
Original file line number Diff line number Diff line change
Expand Up @@ -174,9 +174,15 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec
var discriminator = jsonObject["assetType"].Value<string>();
switch (discriminator)
{
case "AWS_EC2":
obj = new AwsEc2Asset();
break;
case "VMWARE_VM":
obj = new VmwareVmAsset();
break;
case "AWS_EBS":
obj = new AwsEbsAsset();
break;
case "VM":
obj = new VmAsset();
break;
Expand Down
3 changes: 3 additions & 0 deletions Cloudbridge/models/AssetSource.cs
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,9 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec
case "VMWARE":
obj = new VmWareAssetSource();
break;
case "AWS":
obj = new AwsAssetSource();
break;
}
if (obj != null)
{
Expand Down
7 changes: 5 additions & 2 deletions Cloudbridge/models/AssetSourceCredentials.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,11 @@ public class AssetSourceCredentials

/// <value>
/// The [OCID](https://docs.cloud.oracle.com/Content/General/Concepts/identifiers.htm) of the secret in a vault.
/// If the the type of the credentials is BASIC`, the secret must contain the username and
/// password in JSON format, which is in the form of `{ \"username\": \"<VMwareUser>\", \"password\": \"<VMwarePassword>\" }`.
/// If the type of the credentials is `BASIC`, the secret must contain the username and
/// password in JSON format, which is in the form of `{ \"username\": \"<User>\", \"password\": \"<Password>\" }`.
/// If the type of the credentials is `API_KEY`, the secret must contain the accessKeyId and
/// secretAccessKey in JSON format,
/// which is in the form of `{ \"accessKeyId\": \"<AccessKey>\", \"secretAccessKey\": \"<AccessKeyValue>\" }`.
///
/// </value>
/// <remarks>
Expand Down
4 changes: 3 additions & 1 deletion Cloudbridge/models/AssetSourceCredentialsType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public enum AssetSourceCredentialsType {
[EnumMember(Value = null)]
UnknownEnumValue,
[EnumMember(Value = "BASIC")]
Basic
Basic,
[EnumMember(Value = "API_KEY")]
ApiKey
}
}
3 changes: 3 additions & 0 deletions Cloudbridge/models/AssetSourceSummary.cs
Original file line number Diff line number Diff line change
Expand Up @@ -168,6 +168,9 @@ public override object ReadJson(JsonReader reader, System.Type objectType, objec
case "VMWARE":
obj = new VmWareAssetSourceSummary();
break;
case "AWS":
obj = new AwsAssetSourceSummary();
break;
}
if (obj != null)
{
Expand Down
4 changes: 3 additions & 1 deletion Cloudbridge/models/AssetSourceType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ public enum AssetSourceType {
[EnumMember(Value = null)]
UnknownEnumValue,
[EnumMember(Value = "VMWARE")]
Vmware
Vmware,
[EnumMember(Value = "AWS")]
Aws
}
}
6 changes: 5 additions & 1 deletion Cloudbridge/models/AssetType.cs
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,10 @@ public enum AssetType {
[EnumMember(Value = "VMWARE_VM")]
VmwareVm,
[EnumMember(Value = "VM")]
Vm
Vm,
[EnumMember(Value = "AWS_EC2")]
AwsEc2,
[EnumMember(Value = "AWS_EBS")]
AwsEbs
}
}
76 changes: 76 additions & 0 deletions Cloudbridge/models/AwsAssetSource.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
/*
* Copyright (c) 2020, 2024, 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.
*/

// NOTE: Code generated by OracleSDKGenerator.
// DO NOT EDIT this file manually.


using System.ComponentModel.DataAnnotations;
using System.Runtime.Serialization;
using Newtonsoft.Json;
using Newtonsoft.Json.Converters;


namespace Oci.CloudbridgeService.Models
{
/// <summary>
/// AWS asset source. Used for discovery of EC2 instances and EBS volumes registered for the AWS account.
///
/// </summary>
public class AwsAssetSource : AssetSource
{

/// <remarks>
/// Required
/// </remarks>
[Required(ErrorMessage = "DiscoveryCredentials is required.")]
[JsonProperty(PropertyName = "discoveryCredentials")]
public AssetSourceCredentials DiscoveryCredentials { get; set; }

[JsonProperty(PropertyName = "replicationCredentials")]
public AssetSourceCredentials ReplicationCredentials { get; set; }

/// <value>
/// AWS region information, from where the resources are discovered.
/// </value>
/// <remarks>
/// Required
/// </remarks>
[Required(ErrorMessage = "AwsRegion is required.")]
[JsonProperty(PropertyName = "awsRegion")]
public string AwsRegion { get; set; }

/// <value>
/// The key of customer's aws account to be discovered/migrated.
/// </value>
/// <remarks>
/// Required
/// </remarks>
[Required(ErrorMessage = "AwsAccountKey is required.")]
[JsonProperty(PropertyName = "awsAccountKey")]
public string AwsAccountKey { get; set; }

/// <value>
/// Flag indicating whether historical metrics are collected for assets, originating from this asset source.
/// </value>
[JsonProperty(PropertyName = "areHistoricalMetricsCollected")]
public System.Nullable<bool> AreHistoricalMetricsCollected { get; set; }

/// <value>
/// Flag indicating whether real-time metrics are collected for assets, originating from this asset source.
/// </value>
[JsonProperty(PropertyName = "areRealtimeMetricsCollected")]
public System.Nullable<bool> AreRealtimeMetricsCollected { get; set; }

/// <value>
/// Flag indicating whether cost data collection is enabled for assets, originating from this asset source.
/// </value>
[JsonProperty(PropertyName = "isCostInformationCollected")]
public System.Nullable<bool> IsCostInformationCollected { get; set; }

[JsonProperty(PropertyName = "type")]
private readonly string type = "AWS";
}
}
Loading

0 comments on commit de51dae

Please sign in to comment.