// This is an automatically generated code sample.
// To make this code sample work in your Oracle Cloud tenancy,
// please replace the values for any parameters whose current values do not fit
// your use case (such as resource IDs, strings containing ‘EXAMPLE’ or ‘unique_id’, and
// boolean, number, and enum parameters with values not fitting your use case).
package main
import (
"context"
"fmt"
"github.com/oracle/oci-go-sdk/v65/common"
"github.com/oracle/oci-go-sdk/v65/disasterrecovery"
"github.com/oracle/oci-go-sdk/v65/example/helpers"
)
func ExampleUpdateDrProtectionGroup() {
// Create a default authentication provider that uses the DEFAULT
// profile in the configuration file.
// Refer to <see href="https://docs.cloud.oracle.com/en-us/iaas/Content/API/Concepts/sdkconfig.htm#SDK_and_CLI_Configuration_File>the public documentation</see> on how to prepare a configuration file.
client, err := disasterrecovery.NewDisasterRecoveryClientWithConfigurationProvider(common.DefaultConfigProvider())
helpers.FatalIfError(err)
// Create a request and dependent object(s).
req := disasterrecovery.UpdateDrProtectionGroupRequest{DrProtectionGroupId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-drProtectionGroupId-Value"),
IfMatch: common.String("EXAMPLE-ifMatch-Value"),
OpcRequestId: common.String("VOLRU5GJEAIUNETU4XMA<unique_ID>"),
UpdateDrProtectionGroupDetails: disasterrecovery.UpdateDrProtectionGroupDetails{DefinedTags: map[string]map[string]interface{}{"EXAMPLE_KEY_pctym": map[string]interface{}{"EXAMPLE_KEY_0rDuh": "EXAMPLE--Value"}},
DisplayName: common.String("EXAMPLE-displayName-Value"),
FreeformTags: map[string]string{"EXAMPLE_KEY_Y6j0D": "EXAMPLE_VALUE_1c2xwUC7fuoYy4dtciBW"},
LogLocation: &disasterrecovery.UpdateObjectStorageLogLocationDetails{Bucket: common.String("EXAMPLE-bucket-Value"),
Namespace: common.String("EXAMPLE-namespace-Value")},
Members: []disasterrecovery.UpdateDrProtectionGroupMemberDetails{disasterrecovery.UpdateDrProtectionGroupMemberOkeClusterDetails{BackupLocation: &disasterrecovery.UpdateOkeBackupLocationDetails{Bucket: common.String("EXAMPLE-bucket-Value"),
Namespace: common.String("EXAMPLE-namespace-Value")},
JumpHostId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-jumpHostId-Value"),
LoadBalancerMappings: []disasterrecovery.UpdateOkeClusterLoadBalancerMappingDetails{disasterrecovery.UpdateOkeClusterLoadBalancerMappingDetails{SourceLoadBalancerId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-sourceLoadBalancerId-Value"),
DestinationLoadBalancerId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-destinationLoadBalancerId-Value")}},
NetworkLoadBalancerMappings: []disasterrecovery.UpdateOkeClusterNetworkLoadBalancerMappingDetails{disasterrecovery.UpdateOkeClusterNetworkLoadBalancerMappingDetails{DestinationNetworkLoadBalancerId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-destinationNetworkLoadBalancerId-Value"),
SourceNetworkLoadBalancerId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-sourceNetworkLoadBalancerId-Value")}},
VaultMappings: []disasterrecovery.UpdateOkeClusterVaultMappingDetails{disasterrecovery.UpdateOkeClusterVaultMappingDetails{DestinationVaultId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-destinationVaultId-Value"),
SourceVaultId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-sourceVaultId-Value")}},
VirtualNodePoolConfigs: []disasterrecovery.UpdateOkeClusterVirtualNodePoolConfigurationDetails{disasterrecovery.UpdateOkeClusterVirtualNodePoolConfigurationDetails{Id: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value"),
Maximum: common.Int(283),
Minimum: common.Int(142)}},
ManagedNodePoolConfigs: []disasterrecovery.UpdateOkeClusterManagedNodePoolConfigurationDetails{disasterrecovery.UpdateOkeClusterManagedNodePoolConfigurationDetails{Maximum: common.Int(611),
Minimum: common.Int(863),
Id: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-id-Value")}},
MemberId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-memberId-Value"),
PeerClusterId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-peerClusterId-Value"),
ResourceModifierMappings: []disasterrecovery.UpdateOkeClusterResourceModifierMappingDetails{disasterrecovery.UpdateOkeClusterResourceModifierMappingDetails{ConfigMap: common.String("EXAMPLE-configMap-Value"),
Namespace: common.String("EXAMPLE-namespace-Value")}},
BackupConfig: &disasterrecovery.UpdateOkeClusterBackupConfigDetails{ImageReplicationVaultSecretId: common.String("ocid1.test.oc1..<unique_ID>EXAMPLE-imageReplicationVaultSecretId-Value"),
MaxNumberOfBackupsRetained: common.Int(12),
Namespaces: []string{"EXAMPLE--Value"},
ReplicateImages: disasterrecovery.OkeClusterImageReplicationEnable,
BackupSchedule: common.String("EXAMPLE-backupSchedule-Value"),
ExcludeNamespaces: []string{"EXAMPLE--Value"}}}}}}
// Send the request using the service client
resp, err := client.UpdateDrProtectionGroup(context.Background(), req)
helpers.FatalIfError(err)
// Retrieve value from the response.
fmt.Println(resp)
}