/** * Copyright (c) Microsoft Corporation. All rights reserved. * Licensed under the MIT License. See License.txt in the project root for * license information. */ package com.microsoft.azure.management.sql.implementation; import com.microsoft.azure.management.apigeneration.LangDefinition; import com.microsoft.azure.management.sql.SqlFirewallRule; import com.microsoft.azure.management.sql.SqlFirewallRules; import com.microsoft.azure.management.sql.SqlServer; import rx.Completable; import java.util.List; /** * Implementation of SqlServer.FirewallRules, which enables the creating the firewall rules from the SQLServer directly. */ @LangDefinition class FirewallRulesImpl implements SqlServer.FirewallRules { private final String resourceGroupName; private final String sqlServerName; private final SqlFirewallRules.SqlFirewallRulesCreatable sqlFirewallRules; FirewallRulesImpl(SqlServerManager manager, String resourceGroupName, String sqlServerName) { this.resourceGroupName = resourceGroupName; this.sqlServerName = sqlServerName; this.sqlFirewallRules = new SqlFirewallRulesImpl(manager.inner().servers(), manager); } @Override public SqlFirewallRule get(String firewallRuleName) { return this.sqlFirewallRules.getBySqlServer(this.resourceGroupName, this.sqlServerName, firewallRuleName); } @Override public SqlFirewallRule.DefinitionStages.Blank define(String firewallRuleName) { return this.sqlFirewallRules.definedWithSqlServer(this.resourceGroupName, this.sqlServerName, firewallRuleName); } @Override public List<SqlFirewallRule> list() { return this.sqlFirewallRules.listBySqlServer(this.resourceGroupName, this.sqlServerName); } @Override public void delete(String firewallRuleName) { this.sqlFirewallRules.deleteByParent(this.resourceGroupName, this.sqlServerName, firewallRuleName); } @Override public Completable deleteAsync(String firewallRuleName) { return this.sqlFirewallRules.deleteByParentAsync(this.resourceGroupName, this.sqlServerName, firewallRuleName); } protected SqlFirewallRules sqlFirewallRules() { return this.sqlFirewallRules; } }