createOdbNetwork method

Future<CreateOdbNetworkOutput> createOdbNetwork({
  1. required String clientSubnetCidr,
  2. required String displayName,
  3. String? availabilityZone,
  4. String? availabilityZoneId,
  5. String? backupSubnetCidr,
  6. String? clientToken,
  7. List<String>? crossRegionS3RestoreSourcesToEnable,
  8. String? customDomainName,
  9. String? defaultDnsPrefix,
  10. Access? kmsAccess,
  11. String? kmsPolicyDocument,
  12. Access? s3Access,
  13. String? s3PolicyDocument,
  14. Access? stsAccess,
  15. String? stsPolicyDocument,
  16. Map<String, String>? tags,
  17. Access? zeroEtlAccess,
})

Creates an ODB network.

May throw AccessDeniedException. May throw ConflictException. May throw InternalServerException. May throw ServiceQuotaExceededException. May throw ThrottlingException. May throw ValidationException.

Parameter clientSubnetCidr : The CIDR range of the client subnet for the ODB network.

Constraints:

  • Must not overlap with the CIDR range of the backup subnet.
  • Must not overlap with the CIDR ranges of the VPCs that are connected to the ODB network.
  • Must not use the following CIDR ranges that are reserved by OCI:
    • 100.106.0.0/16 and 100.107.0.0/16
    • 169.254.0.0/16
    • 224.0.0.0 - 239.255.255.255
    • 240.0.0.0 - 255.255.255.255

Parameter displayName : A user-friendly name for the ODB network.

Parameter availabilityZone : The Amazon Web Services Availability Zone (AZ) where the ODB network is located.

This operation requires that you specify a value for either availabilityZone or availabilityZoneId.

Parameter availabilityZoneId : The AZ ID of the AZ where the ODB network is located.

This operation requires that you specify a value for either availabilityZone or availabilityZoneId.

Parameter backupSubnetCidr : The CIDR range of the backup subnet for the ODB network.

Constraints:

  • Must not overlap with the CIDR range of the client subnet.
  • Must not overlap with the CIDR ranges of the VPCs that are connected to the ODB network.
  • Must not use the following CIDR ranges that are reserved by OCI:
    • 100.106.0.0/16 and 100.107.0.0/16
    • 169.254.0.0/16
    • 224.0.0.0 - 239.255.255.255
    • 240.0.0.0 - 255.255.255.255

Parameter clientToken : A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If you don't specify a client token, the Amazon Web Services SDK automatically generates a client token and uses it for the request to ensure idempotency. The client token is valid for up to 24 hours after it's first used.

Parameter crossRegionS3RestoreSourcesToEnable : The cross-Region Amazon S3 restore sources to enable for the ODB network.

Parameter customDomainName : The domain name to use for the resources in the ODB network.

Parameter defaultDnsPrefix : The DNS prefix to the default DNS domain name. The default DNS domain name is oraclevcn.com.

Parameter kmsAccess : The Amazon Web Services Key Management Service (KMS) access configuration for the ODB network.

Parameter kmsPolicyDocument : The Amazon Web Services Key Management Service (KMS) policy document that defines permissions for key usage within the ODB network.

Parameter s3Access : Specifies the configuration for Amazon S3 access from the ODB network.

Parameter s3PolicyDocument : Specifies the endpoint policy for Amazon S3 access from the ODB network.

Parameter stsAccess : The Amazon Web Services Security Token Service (STS) access configuration for the ODB network.

Parameter stsPolicyDocument : The Amazon Web Services Security Token Service (STS) policy document that defines permissions for token service usage within the ODB network.

Parameter tags : The list of resource tags to apply to the ODB network.

Parameter zeroEtlAccess : Specifies the configuration for Zero-ETL access from the ODB network.

Implementation

Future<CreateOdbNetworkOutput> createOdbNetwork({
  required String clientSubnetCidr,
  required String displayName,
  String? availabilityZone,
  String? availabilityZoneId,
  String? backupSubnetCidr,
  String? clientToken,
  List<String>? crossRegionS3RestoreSourcesToEnable,
  String? customDomainName,
  String? defaultDnsPrefix,
  Access? kmsAccess,
  String? kmsPolicyDocument,
  Access? s3Access,
  String? s3PolicyDocument,
  Access? stsAccess,
  String? stsPolicyDocument,
  Map<String, String>? tags,
  Access? zeroEtlAccess,
}) async {
  final headers = <String, String>{
    'Content-Type': 'application/x-amz-json-1.0',
    'X-Amz-Target': 'Odb.CreateOdbNetwork'
  };
  final jsonResponse = await _protocol.send(
    method: 'POST',
    requestUri: '/',
    exceptionFnMap: _exceptionFns,
    // TODO queryParams
    headers: headers,
    payload: {
      'clientSubnetCidr': clientSubnetCidr,
      'displayName': displayName,
      if (availabilityZone != null) 'availabilityZone': availabilityZone,
      if (availabilityZoneId != null)
        'availabilityZoneId': availabilityZoneId,
      if (backupSubnetCidr != null) 'backupSubnetCidr': backupSubnetCidr,
      'clientToken': clientToken ?? _s.generateIdempotencyToken(),
      if (crossRegionS3RestoreSourcesToEnable != null)
        'crossRegionS3RestoreSourcesToEnable':
            crossRegionS3RestoreSourcesToEnable,
      if (customDomainName != null) 'customDomainName': customDomainName,
      if (defaultDnsPrefix != null) 'defaultDnsPrefix': defaultDnsPrefix,
      if (kmsAccess != null) 'kmsAccess': kmsAccess.value,
      if (kmsPolicyDocument != null) 'kmsPolicyDocument': kmsPolicyDocument,
      if (s3Access != null) 's3Access': s3Access.value,
      if (s3PolicyDocument != null) 's3PolicyDocument': s3PolicyDocument,
      if (stsAccess != null) 'stsAccess': stsAccess.value,
      if (stsPolicyDocument != null) 'stsPolicyDocument': stsPolicyDocument,
      if (tags != null) 'tags': tags,
      if (zeroEtlAccess != null) 'zeroEtlAccess': zeroEtlAccess.value,
    },
  );

  return CreateOdbNetworkOutput.fromJson(jsonResponse.body);
}