/** * @return parent resource id of the resource if any, otherwise null. */ public ResourceId parent() { if (this.id == null || this.parentId == null) { return null; } else { return fromString(this.parentId); } }
/** * Extract resource provider from a resource ID string. * @param id the resource ID string * @return the resource group name */ public static String resourceProviderFromResourceId(String id) { return (id != null) ? ResourceId.fromString(id).providerNamespace() : null; }
/** * Extract name of the resource from a resource ID. * @param id the resource ID * @return the name of the resource */ public static String nameFromResourceId(String id) { return (id != null) ? ResourceId.fromString(id).name() : null; }
/** * Extract resource group from a resource ID string. * @param id the resource ID string * @return the resource group name */ public static String groupFromResourceId(String id) { return (id != null) ? ResourceId.fromString(id).resourceGroupName() : null; }
/** * Extract the subscription ID from a resource ID string. * @param id the resource ID string * @return the subscription ID */ public static String subscriptionFromResourceId(String id) { return (id != null) ? ResourceId.fromString(id).subscriptionId() : null; }
/** * Extract resource type from a resource ID string. * @param id the resource ID string * @return the resource type */ public static String resourceTypeFromResourceId(String id) { return (id != null) ? ResourceId.fromString(id).resourceType() : null; }
/** * @param id resource id * @return resource group id for the resource id provided */ public static String resourceGroupId(String id) { final ResourceId resourceId = ResourceId.fromString(id); return String.format("/subscriptions/%s/resourceGroups/%s", resourceId.subscriptionId(), resourceId.resourceGroupName()); }
@Override public Observable<T> getByIdAsync(String id) { ResourceId resourceId = ResourceId.fromString(id); if (resourceId == null) { return null; } return this.getByResourceGroupAsync(resourceId.resourceGroupName(), resourceId.name()); } }
@Override public Observable<EventHubDisasterRecoveryPairing> getByIdAsync(String id) { Objects.requireNonNull(id); ResourceId resourceId = ResourceId.fromString(id); return getByNameAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()); }
@Override public Completable deleteByIdAsync(String id) { Objects.requireNonNull(id); ResourceId resourceId = ResourceId.fromString(id); return deleteByNameAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()); }
@Override public void acquire(String dnsAliasName, String oldSqlServerId, String newSqlServerId) { Objects.requireNonNull(oldSqlServerId); ResourceId resourceId = ResourceId.fromString(oldSqlServerId); this.sqlServerManager.inner().serverDnsAliases() .acquire(resourceId.resourceGroupName(), resourceId.name(), dnsAliasName, newSqlServerId + DNS_ALIASES + dnsAliasName); }
protected void setParentName(InnerModelT inner) { if (this.id() != null) { this.parentName = ResourceId.fromString(this.id()).parent().name(); } }
@Override public Completable acquireAsync(String dnsAliasName, String oldSqlServerId, String newSqlServerId) { Objects.requireNonNull(oldSqlServerId); ResourceId resourceId = ResourceId.fromString(oldSqlServerId); return this.sqlServerManager.inner().serverDnsAliases() .acquireAsync(resourceId.resourceGroupName(), resourceId.name(), dnsAliasName, newSqlServerId + DNS_ALIASES + dnsAliasName).toCompletable(); }
@Override public Completable deleteByIdAsync(String id) { ResourceId resourceId = ResourceId.fromString(id); return deleteByParentAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()); }
@Override public Observable<T> getByIdAsync(String id) { ResourceId resourceId = ResourceId.fromString(id); if (resourceId == null) { return null; } return getByParentAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()); }
@Override public Observable<EventHubAuthorizationRule> getByIdAsync(String id) { Objects.requireNonNull(id); ResourceId resourceId = ResourceId.fromString(id); return getByNameAsync(resourceId.resourceGroupName(), resourceId.parent().parent().name(), resourceId.parent().name(), resourceId.name()); }
@Override public Completable deleteByIdAsync(String id) { ResourceId resourceId = ResourceId.fromString(id); return this.inner().deleteAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()).toCompletable(); } }
@Override public Completable deleteByIdAsync(String id) { ResourceId resourceId = ResourceId.fromString(id); return this.inner().deleteAsync(resourceId.resourceGroupName(), resourceId.parent().name(), resourceId.name()).toCompletable(); } }
@Override public Completable deleteByIdAsync(String id) { try { ResourceId resourceId = ResourceId.fromString(id); return this.sqlServerManager.inner().syncGroups().deleteAsync(resourceId.resourceGroupName(), resourceId.parent().parent().name(), resourceId.parent().name(), resourceId.name()).toCompletable(); } catch (NullPointerException e) { } return null; }
@Override public Completable failOverAsync() { // Fail over is run against secondary namespace (because primary might be down at time of failover) // ResourceId secondaryNs = ResourceId.fromString(this.inner().partnerNamespace()); return this.manager().inner().disasterRecoveryConfigs().failOverAsync(secondaryNs.resourceGroupName(), secondaryNs.name(), this.name()) .toCompletable() .concatWith(this.refreshAsync().toCompletable()); }