Failover Groups - Create Or Update

Yük devretme grubu oluşturur veya güncelleştirir.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Sql/servers/{serverName}/failoverGroups/{failoverGroupName}?api-version=2021-02-01-preview

URI Parametreleri

Name In Required Type Description
failoverGroupName
path True
  • string

Yük devretme grubunun adı.

resourceGroupName
path True
  • string

Kaynağı içeren kaynak grubunun adı. Bu değeri Azure Resource Manager API'sinden veya portaldan alabilirsiniz.

serverName
path True
  • string

Yük devretme grubunu içeren sunucunun adı.

subscriptionId
path True
  • string

Azure aboneliğini tanımlayan abonelik kimliği.

api-version
query True
  • string

İstek için kullanılacak API sürümü.

İstek Gövdesi

Name Required Type Description
properties.partnerServers True

Yük devretme grubu için iş ortağı sunucu bilgilerinin listesi.

properties.readWriteEndpoint True

Yük devretme grubu örneğinin okuma-yazma uç noktası.

properties.databases
  • string[]

Yük devretme grubundaki veritabanlarının listesi.

properties.readOnlyEndpoint

Yük devretme grubu örneğinin salt okunur uç noktası.

tags
  • object

Kaynak etiketleri.

Yanıtlar

Name Type Description
200 OK

Yük devretme grubu başarıyla güncelleştirildi.

201 Created

Yük devretme grubu başarıyla oluşturuldu.

202 Accepted

Kabul edildi

Other Status Codes

Hata Yanıtları: ***

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabases - Sağlanan veritabanı kimlikleri doğru şekilde oluşturulmamış veritabanı kaynak kimlikleri. Uygun biçimlendirme örneği için bkz. https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidPartner - Yük devretme grubu oluşturma veya güncelleştirme istek gövdesindeki verilen iş ortakları alanı boş veya geçersiz. Lütfen bu alanın geçerli bir değerini belirtin. Düzgün biçimlendirilmiş istek örnekleri için bkz. https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestDuplicatePartner - Sağlanan iş ortağı sunucularından biri veya daha fazlası zaten yük devretme grubunun bir parçası. Birincil sunucunun ve verilen tüm iş ortağı sunucularının benzersiz olduğundan emin olun.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidDatabaseServer - Sağlanan veritabanlarından biri veya daha fazlası yük devretme grubunun birincil sunucusunda yok. Lütfen tüm veritabanlarının birincil sunucuda var olduğundan emin olun.

  • 400 FailoverGroupCreateOrUpdateRequestUnsupportedPartnerCount - Yük Devretme Grubu için yalnızca bir iş ortağı sunucusu desteklenir. Lütfen isteğinizi uygun şekilde değiştirin. Geçerli istek örnekleri için bkz. https://docs.microsoft.com/en-us/rest/api/sql/failovergroups/createorupdate

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpoint - Oluşturma veya güncelleştirme istekleri için readWriteEndpoint alanı gereklidir.

  • 400 FailoverGroupCreateOrUpdateRequestInvalid - Yük devretme grubu oluşturma veya güncelleştirme istek gövdesi boş veya geçersiz.

  • 400 FailoverGroupUpdateOrDeleteRequestOnSecondary - yük devretme grubunda yapılan değişikliklere ikincil sunucuda izin verilmez. İsteği birincil sunucuda yürütür.

  • 400 FailoverGroupCreateOrUpdateRequestNegativeGracePeriodValues - Okuma-yazma uç noktası için yetkisiz kullanım süresi değeri negatif olmamalıdır.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFields - Okuma-yazma uç noktası için otomatik yük devretme ilkesi seçildiğinde yük devretmeWithDataLossGracePeriodMinutes özelliği sağlanmalıdır.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteFailoverPolicy - Oluşturma veya güncelleştirme istekleri için okuma-yazma uç noktasının failoverPolicy alanı gereklidir.

  • 400 FailoverGroupCreateOrUpdateRequestInvalidReadWriteEndpointFieldsForManualPolicy - Okuma-yazma uç noktası için el ile yük devretme ilkesi seçildiğinde yetkisiz kullanım süresi değeri sağlanmamalıdır. Lütfen istekten kaldırın.

  • 400 FailoverGroupCreateOrUpdateRequestReadOnlyPropertyModified - Yük devretme grubu oluşturma veya güncelleştirme istek gövdesi '{0}' salt okunur özelliğini değiştirmemelidir.

  • 400 FailoverGroupFailoverRequestOnPrimary - Yük devretme isteği yük devretme grubunun ikincil sunucusunda başlatılmalıdır.

  • 400 FailoverGroupPartnerServerFromDifferentSubscription - Birincil sunucu ve yük devretme grubunun iş ortağı sunucuları farklı aboneliklerdendir. Yük devretme grubu sunucuları için çapraz aboneliğe izin verilmez.

  • 400 InvalidAddSecondaryPermission - Kullanıcının belirtilen sunucuya ikincil eklemek için yeterli izni yok.

  • 400 InvalidSku - Kullanıcı geçersiz bir sku belirtti.

  • 400 ServerNotFound - İstenen sunucu bulunamadı.

  • 400 FeatureDisabledOnSelectedEdition - Kullanıcı geçerli veritabanı sürümünde devre dışı bırakılmış bir özelliği kullanmaya çalıştı.

  • 400 TokenTooLong - Sağlanan belirteç çok uzun.

  • 400 InvalidTargetSubregion - Okunamayan bir ikincil sunucunun hedef sunucusu DR ile eşleştirilmiş bir Azure bölgesinde değil.

  • 400 PartnerServerNotCompatible - Kullanıcı sawa V1 sunucusundan bir veritabanını Sterling sunucusuna kopyalamaya çalışıyor veya tam tersi.

  • 400 IncorrectReplicationLinkState - İşlem, veritabanının çoğaltma bağlantısında beklenen bir durumda olmasını bekler.

  • 400 ResourcePoolNotFound - Belirtilen elastik havuz belirtilen mantıksal sunucuda yok.

  • 400 AzureKeyVaultKeyDisabled - Azure Key Vault anahtarı devre dışı bırakıldığından sunucuda işlem tamamlanamadı.

  • 400 AzureKeyVaultInvalidExpirationDate - Azure Key Vault anahtarı son kullanma tarihi geçersiz olduğundan işlem tamamlanamadı.

  • 400 SecurityAzureKeyVaultUrlNullOrEmpty - Azure Key Vault Uri null veya boş olduğundan işlem tamamlanamadı.

  • 400 AzureKeyVaultNoServerIdentity - Sunucu kimliği doğru yapılandırılmamış.

  • 400 AzureKeyVaultInvalidUri - Azure Key Vault geçersiz bir yanıt. Lütfen geçerli bir Azure Key Vault URI'si kullanın.

  • 400 AzureKeyVaultMissingPermissions - Sunucuda Azure Key Vault gerekli izinler eksik.

  • 400 SecurityAzureKeyVaultInvalidKeyName - Geçersiz bir Sunucu Anahtarı adı nedeniyle işlem tamamlanamadı.

  • 400 PlannedFailoverTimedOutForDatabase - Kullanıcı planlı yük devretmeyi çağırmış, zaman aşımına uğradı ve belirli bir veritabanı suçlanıyor gibi görünüyor.

  • 400 PlannedFailoverTimedOut - Kullanıcı planlı yük devretmeyi çağırmış ve iş ortağı yönetim hizmetiyle iletişim kurmaya çalışırken zaman aşımına uğradı.

  • 400 AdalGenericError - bir Azure Active Directory hatasıyla karşılaşıldığından işlem tamamlanamadı.

  • 400 AdalServicePrincipalNotFound - Azure Active Directory kitaplığı Hizmet Sorumlusu bulunamadı hatasıyla karşılaşıldığından işlem tamamlanamadı.

  • 400 AzureKeyVaultMalformedVaultUri - Sağlanan Key Vault uri geçerli değil.

  • 400 CannotUseReservedDatabaseName - Bu işlemde ayrılmış veritabanı adı kullanılamaz.

  • 400 InvalidFailoverGroupRegion - Yük Devretme Grubunda belirtilen sunucuların yalıtım sağlamak için farklı bölgelerde bulunması gerekir.

  • 400 FailoverGroupDoesNotExist - Yük devretme grubu sunucuda yok.

  • 400 FailoverGroupNotSecondary - Yük Devretme Grubundaki birincil sunucudan yük devretme başlatılamaz.

  • 400 InvalidServerName - Geçersiz sunucu adı belirtildi.

  • 400 DatabaseInFailoverGroupNotPrimary - Veritabanının GeoDR bağlantısı zaten var, ancak rolü 'Birincil' değil veya sürekli kopya bağlantısı değil.

  • 400 SecurityAdalPrincipalCertExpiredError - Azure Key Vault asıl sertifikasının süresi dolduğundan işlem tamamlanamadı.

  • 400 UnableToCreateFailoverGroupDueToTableAuditing - Tablo denetiminin açık olduğu sunucu için Yük Devretme Grubu oluşturulamıyor.

  • 400 InvalidIdentifier - Tanımlayıcı NULL veya geçersiz unicode karakter içeriyor.

  • 400 UnableToAddDbWithTableAuditingToFailoverGroup - Tablo Denetimi etkinleştirilmiş veritabanına Yük Devretme Grubu uç noktası üzerinden erişilemez.

  • 400 SecurityInvalidAzureKeyVaultRecoveryLevel - Sağlanan Key Vault uri geçerli değil.

  • 400 KeyMaterialNotFoundOnRemoteServer - Uzak sunucunun TDE koruyucusu olarak kullanılan anahtar malzemesine erişimi yok.

  • 400 LimitOfFailoverGroupsPerServerExceeded - Yeni Yük Devretme Grubu oluşturmak, sunucu başına izin verilen Yük Devretme Grubu sayısını aşacaktır.

  • 400 AzureKeyVaultMismatchError - Http yanıtında beklenmeyen Key Vault bölgesi bulundu.

  • 400 AzureKeyVaultRsaKeyNotSupported - Sağlanan anahtar kasası desteklenmeyen RSA Anahtar Boyutu veya Anahtar Türü kullanıyor. Desteklenen RSA anahtar boyutu 2048 veya 3072, Anahtar Türü ise RSA veya RSA-HSM'dir.

  • 400 GeoReplicationDatabaseNotSecondary - İşlem, veritabanının çoğaltma hedefi olmasını bekler.

  • 400 GeoReplicaLimitReached - Çoğaltma başına çoğaltma sınırına ulaşıldı.

  • 400 FailoverGroupWithVirtualNetworkRulesNotSupported - Otomatik yük devretme ilkesiyle yapılandırılmış yük devretme grupları şu anda sanal ağ güvenlik duvarı kurallarıyla yapılandırılmış sunucularda desteklenmemektedir. Lütfen yük devretme grubunu el ile yük devretme ilkesiyle yapılandırın.

  • 400 UnableToResolveRemoteServer - Uzak iş ortağı sunucu adı geçersiz bir sunucu adı veya DNS bağlantı sorunları nedeniyle çözümlenemedi.

  • 400 RemoteDatabaseCopyPermission - Kullanıcının belirtilen sunucuda veritabanı kopyası oluşturmak için yeterli izni yok.

  • 400 SecurityAzureKeyVaultGeoChainError - Azure Key Vault (BYOK) kullanarak Saydam Veri Şifrelemesi etkinleştirilirken ikincil ikincil (zincirleme olarak bilinen bir işlem) oluşturma desteklenmez.

  • 400 FailoverGroupCreateOrUpdatePartiallySucceeded - Bazı veritabanları eklenemedi veya kaldırılamadı.

  • 404 OperationIdNotFound - Kimliği olan işlem yok.

  • 404 ResourceNotFound - İstenen kaynak bulunamadı.

  • 404 OperationIdNotFound - Kimliği olan işlem yok.

  • 404 ServerNotInSubscriptionResourceGroup - Belirtilen sunucu belirtilen kaynak grubunda ve abonelikte yok.

  • 404 ServerNotInSubscription - Belirtilen sunucu belirtilen abonelikte yok.

  • 404 SourceDatabaseNotFound - Kaynak veritabanı yok.

  • 405 UnsupportedReplicationOperation - Veritabanında desteklenmeyen bir çoğaltma işlemi başlatıldı.

  • 409 OperationCancelled - İşlem kullanıcı tarafından iptal edildi.

  • 409 İşlem Kesildi - Aynı kaynakta başka bir işlem tarafından kesintiye uğradığından kaynak üzerindeki işlem tamamlanamadı.

  • 409 ConflictingServerOperation - Sunucu için şu anda bir işlem devam ediyor.

  • 409 SubscriptionDisabled - Abonelik devre dışı bırakıldı.

  • 409 ConflictingSystemOperationInProgress - Veritabanında bir sistem bakım işlemi devam ediyor ve diğer işlemlerin tamamlanana kadar beklemesi gerekiyor.

  • 409 GeoReplicationCannotBecomePrimaryDuringUndo - İkincil fiziksel olarak tutarlı olmayabileceği ve bu nedenle birincil rolü giremediği bir durumdayken kullanıcı bir coğrafi bağlantıyı yük devretmeye veya zorlamayla sonlandırmaya çalıştı.

  • 409 ServerKeyNameAlreadyExists - Sunucu anahtarı sunucuda zaten var.

  • 409 ServerKeyUriAlreadyExists - Sunucu anahtarı URI'si sunucuda zaten var.

  • 409 ServerKeyDoesNotExists - Sunucu anahtarı yok.

  • 409 UpdateSloInProgress - Kullanıcı, bir SLO güncelleştirmesi devam ederken uyumsuz bir işlem başlatmaya çalıştı.

  • 409 AzureKeyVaultKeyNameNotFound - Azure Key Vault Anahtarı adı mevcut olmadığından işlem tamamlanamadı.

  • 409 AzureKeyVaultKeyInUse - Anahtar şu anda sunucu tarafından kullanılıyor.

  • 409 FailoverGroupAlreadyExists - Belirli bir sunucuda yük devretme grubu zaten var. Lütfen farklı Bir Yük Devretme Grubu adı kullanın.

  • 409 FailoverGroupBusy - Yük Devretme Grubu başka bir işlemle meşgul.

  • 409 DatabaseBelongsToOtherFailoverGroup - Veritabanı başka bir Yük Devretme Grubuna aittir ve bunun bir parçası olarak düşünülemez.

  • 409 DatabaseBeingAddedToFailoverGroup - Veritabanı şu anda Yük Devretme Grubuna ekleniyor, müşterinin kaldırma işleminin bitmesini beklemesi gerekiyor.

  • 409 DatabaseBeingRemovedFromFailoverGroup - Veritabanı şu anda yük devretme grubundan kaldırılıyor, müşterinin ekleme işleminin bitmesini beklemesi gerekiyor.

  • 409 FailoverGroupDnsRecordInUse - İstenen uç nokta için yinelenen bir DNS kaydı var.

  • 409 InvalidFailoverGroupName - Geçersiz Yük Devretme Grubu adı sağlandı.

  • 409 InvalidOperationForDatabaseNotInReplicationRelationship - Zaten çoğaltma ilişkisinde olan bir veritabanında çoğaltma çekirdek oluşturma işlemi gerçekleştirildi.

  • 409 InvalidDatabaseStateForOperation - Veritabanında geçerli çoğaltma durumunda işleme izin verilmiyor.

  • 409 DuplicateGeoDrRelation - Veritabanları zaten bir çoğaltma ilişkisinde. Bu yinelenen bir istektir.

  • 409 RemoteDatabaseExists - Hedef veritabanı adı hedef sunucuda zaten var.

  • 409 FailoverGroupUnableToPerformGroupOperationOnDatabases - Yük Devretme Grubuna eklenecek/kaldırılacak veritabanlarının listesi, işlemin tamamlanmasını engelleyen hatalar içeriyor.

  • 429 SubscriptionTooManyCreateUpdateRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum isteğin ötesinde istekler.

  • 429 SubscriptionTooManyRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum istekler dışında istekler.

  • 500 OperationTimedOut - İşlem zaman aşımına uğradı ve otomatik olarak geri alındı. Lütfen işlemi yeniden deneyin.

  • 503 TooManyRequests - Kullanılabilir kaynaklar tarafından işlenebilen maksimum isteğin ötesindeki istekler.

  • 503 AzureKeyVaultConnectionFailed - Azure Key Vault bağlanma girişimleri başarısız olduğundan sunucuda işlem tamamlanamadı

  • 503 AzureKeyVaultGenericConnectionError - Key Vault bilgileri alınmaya çalışılırken bir hatayla karşılaşıldığından işlem tamamlanamadı.

  • 503 DatabaseUnavailable - Veritabanı kullanılamadığından işlem başarısız oldu.

  • 504 RequestTimeout - Hizmet isteği izin verilen zaman aşımını aştı.

Örnekler

Create failover group

Sample Request

PUT https://management.azure.com/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3?api-version=2021-02-01-preview

{
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}

Sample Response

{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/servers/failoverGroups",
  "location": "Japan East",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server",
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}
{
  "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/failoverGroups/failover-group-test-3",
  "name": "failover-group-test-3",
  "type": "Microsoft.Sql/servers/failoverGroups",
  "location": "Japan East",
  "properties": {
    "readWriteEndpoint": {
      "failoverPolicy": "Automatic",
      "failoverWithDataLossGracePeriodMinutes": 480
    },
    "readOnlyEndpoint": {
      "failoverPolicy": "Disabled"
    },
    "replicationRole": "Primary",
    "replicationState": "CATCH_UP",
    "partnerServers": [
      {
        "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-secondary-server",
        "location": "Japan West",
        "replicationRole": "Secondary"
      }
    ],
    "databases": [
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-1",
      "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/Default/providers/Microsoft.Sql/servers/failover-group-primary-server/databases/testdb-2"
    ]
  }
}

Tanımlar

FailoverGroup

Yük devretme grubu.

FailoverGroupReadOnlyEndpoint

Yük devretme grubu örneğinin salt okunur uç noktası.

FailoverGroupReadWriteEndpoint

Yük devretme grubu örneğinin okuma-yazma uç noktası.

FailoverGroupReplicationRole

Yük devretme grubu örneğinin yerel çoğaltma rolü.

PartnerInfo

Yük devretme grubu için iş ortağı sunucusu bilgileri.

ReadOnlyEndpointFailoverPolicy

Yük devretme grubu için salt okunur uç noktanın yük devretme ilkesi.

ReadWriteEndpointFailoverPolicy

Yük devretme grubu için okuma-yazma uç noktasının yük devretme ilkesi. FailoverPolicy Otomatik ise yük devretmeWithDataLossGracePeriodMinutes gereklidir.

FailoverGroup

Yük devretme grubu.

Name Type Description
id
  • string

Kaynak Kimliği.

location
  • string

Kaynak konumu.

name
  • string

Kaynak adı.

properties.databases
  • string[]

Yük devretme grubundaki veritabanlarının listesi.

properties.partnerServers

Yük devretme grubu için iş ortağı sunucu bilgilerinin listesi.

properties.readOnlyEndpoint

Yük devretme grubu örneğinin salt okunur uç noktası.

properties.readWriteEndpoint

Yük devretme grubu örneğinin okuma-yazma uç noktası.

properties.replicationRole

Yük devretme grubu örneğinin yerel çoğaltma rolü.

properties.replicationState
  • string

Yük devretme grubu örneğinin çoğaltma durumu.

tags
  • object

Kaynak etiketleri.

type
  • string

Kaynak türü.

FailoverGroupReadOnlyEndpoint

Yük devretme grubu örneğinin salt okunur uç noktası.

Name Type Description
failoverPolicy

Yük devretme grubu için salt okunur uç noktanın yük devretme ilkesi.

FailoverGroupReadWriteEndpoint

Yük devretme grubu örneğinin okuma-yazma uç noktası.

Name Type Description
failoverPolicy

Yük devretme grubu için okuma-yazma uç noktasının yük devretme ilkesi. FailoverPolicy Otomatik ise yük devretmeWithDataLossGracePeriodMinutes gereklidir.

failoverWithDataLossGracePeriodMinutes
  • integer

Okuma-yazma uç noktası için veri kaybıyla yük devretme denenmeden önce yetkisiz kullanım süresi. FailoverPolicy Otomatik ise yük devretmeWithDataLossGracePeriodMinutes gereklidir.

FailoverGroupReplicationRole

Yük devretme grubu örneğinin yerel çoğaltma rolü.

Name Type Description
Primary
  • string
Secondary
  • string

PartnerInfo

Yük devretme grubu için iş ortağı sunucusu bilgileri.

Name Type Description
id
  • string

İş ortağı sunucusunun kaynak tanımlayıcısı.

location
  • string

İş ortağı sunucusunun coğrafi konumu.

replicationRole

İş ortağı sunucusunun çoğaltma rolü.

ReadOnlyEndpointFailoverPolicy

Yük devretme grubu için salt okunur uç noktanın yük devretme ilkesi.

Name Type Description
Disabled
  • string
Enabled
  • string

ReadWriteEndpointFailoverPolicy

Yük devretme grubu için okuma-yazma uç noktasının yük devretme ilkesi. FailoverPolicy Otomatik ise yük devretmeWithDataLossGracePeriodMinutes gereklidir.

Name Type Description
Automatic
  • string
Manual
  • string