|
| 1 | +/** |
| 2 | + * Copyright (c) Microsoft Corporation. All rights reserved. |
| 3 | + * Licensed under the MIT License. See License.txt in the project root for |
| 4 | + * license information. |
| 5 | + * |
| 6 | + * Code generated by Microsoft (R) AutoRest Code Generator. |
| 7 | + */ |
| 8 | + |
| 9 | +package com.microsoft.azure.management.storage.v2018_07_01; |
| 10 | + |
| 11 | +import com.microsoft.azure.arm.model.HasInner; |
| 12 | +import com.microsoft.azure.management.storage.v2018_07_01.implementation.BlobServicePropertiesInner; |
| 13 | +import com.microsoft.azure.arm.model.Indexable; |
| 14 | +import com.microsoft.azure.arm.model.Refreshable; |
| 15 | +import com.microsoft.azure.arm.model.Updatable; |
| 16 | +import com.microsoft.azure.arm.model.Appliable; |
| 17 | +import com.microsoft.azure.arm.model.Creatable; |
| 18 | +import com.microsoft.azure.arm.resources.models.HasManager; |
| 19 | +import com.microsoft.azure.management.storage.v2018_07_01.implementation.StorageManager; |
| 20 | + |
| 21 | +/** |
| 22 | + * Type representing BlobServiceProperties. |
| 23 | + */ |
| 24 | +public interface BlobServiceProperties extends HasInner<BlobServicePropertiesInner>, Indexable, Refreshable<BlobServiceProperties>, Updatable<BlobServiceProperties.Update>, HasManager<StorageManager> { |
| 25 | + /** |
| 26 | + * @return the cors value. |
| 27 | + */ |
| 28 | + CorsRules cors(); |
| 29 | + |
| 30 | + /** |
| 31 | + * @return the defaultServiceVersion value. |
| 32 | + */ |
| 33 | + String defaultServiceVersion(); |
| 34 | + |
| 35 | + /** |
| 36 | + * @return the deleteRetentionPolicy value. |
| 37 | + */ |
| 38 | + DeleteRetentionPolicy deleteRetentionPolicy(); |
| 39 | + |
| 40 | + /** |
| 41 | + * @return the id value. |
| 42 | + */ |
| 43 | + String id(); |
| 44 | + |
| 45 | + /** |
| 46 | + * @return the name value. |
| 47 | + */ |
| 48 | + String name(); |
| 49 | + |
| 50 | + /** |
| 51 | + * @return the type value. |
| 52 | + */ |
| 53 | + String type(); |
| 54 | + |
| 55 | + /** |
| 56 | + * The entirety of the BlobServiceProperties definition. |
| 57 | + */ |
| 58 | + interface Definition extends DefinitionStages.Blank, DefinitionStages.WithStorageAccount, DefinitionStages.WithCreate { |
| 59 | + } |
| 60 | + |
| 61 | + /** |
| 62 | + * Grouping of BlobServiceProperties definition stages. |
| 63 | + */ |
| 64 | + interface DefinitionStages { |
| 65 | + /** |
| 66 | + * The first stage of a BlobServiceProperties definition. |
| 67 | + */ |
| 68 | + interface Blank extends WithStorageAccount { |
| 69 | + } |
| 70 | + |
| 71 | + /** |
| 72 | + * The stage of the blobserviceproperties definition allowing to specify StorageAccount. |
| 73 | + */ |
| 74 | + interface WithStorageAccount { |
| 75 | + /** |
| 76 | + * Specifies resourceGroupName, accountName. |
| 77 | + * @param resourceGroupName The name of the resource group within the user's subscription. The name is case insensitive |
| 78 | + * @param accountName The name of the storage account within the specified resource group. Storage account names must be between 3 and 24 characters in length and use numbers and lower-case letters only |
| 79 | + * @return the next definition stage |
| 80 | + */ |
| 81 | + WithCreate withExistingStorageAccount(String resourceGroupName, String accountName); |
| 82 | + } |
| 83 | + |
| 84 | + /** |
| 85 | + * The stage of the blobserviceproperties definition allowing to specify Cors. |
| 86 | + */ |
| 87 | + interface WithCors { |
| 88 | + /** |
| 89 | + * Specifies cors. |
| 90 | + * @param cors Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service |
| 91 | + * @return the next definition stage |
| 92 | + */ |
| 93 | + WithCreate withCors(CorsRules cors); |
| 94 | + } |
| 95 | + |
| 96 | + /** |
| 97 | + * The stage of the blobserviceproperties definition allowing to specify DefaultServiceVersion. |
| 98 | + */ |
| 99 | + interface WithDefaultServiceVersion { |
| 100 | + /** |
| 101 | + * Specifies defaultServiceVersion. |
| 102 | + * @param defaultServiceVersion DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions |
| 103 | + * @return the next definition stage |
| 104 | + */ |
| 105 | + WithCreate withDefaultServiceVersion(String defaultServiceVersion); |
| 106 | + } |
| 107 | + |
| 108 | + /** |
| 109 | + * The stage of the blobserviceproperties definition allowing to specify DeleteRetentionPolicy. |
| 110 | + */ |
| 111 | + interface WithDeleteRetentionPolicy { |
| 112 | + /** |
| 113 | + * Specifies deleteRetentionPolicy. |
| 114 | + * @param deleteRetentionPolicy The blob service properties for soft delete |
| 115 | + * @return the next definition stage |
| 116 | + */ |
| 117 | + WithCreate withDeleteRetentionPolicy(DeleteRetentionPolicy deleteRetentionPolicy); |
| 118 | + } |
| 119 | + |
| 120 | + /** |
| 121 | + * The stage of the definition which contains all the minimum required inputs for |
| 122 | + * the resource to be created (via {@link WithCreate#create()}), but also allows |
| 123 | + * for any other optional settings to be specified. |
| 124 | + */ |
| 125 | + interface WithCreate extends Creatable<BlobServiceProperties>, DefinitionStages.WithCors, DefinitionStages.WithDefaultServiceVersion, DefinitionStages.WithDeleteRetentionPolicy { |
| 126 | + } |
| 127 | + } |
| 128 | + /** |
| 129 | + * The template for a BlobServiceProperties update operation, containing all the settings that can be modified. |
| 130 | + */ |
| 131 | + interface Update extends Appliable<BlobServiceProperties>, UpdateStages.WithCors, UpdateStages.WithDefaultServiceVersion, UpdateStages.WithDeleteRetentionPolicy { |
| 132 | + } |
| 133 | + |
| 134 | + /** |
| 135 | + * Grouping of BlobServiceProperties update stages. |
| 136 | + */ |
| 137 | + interface UpdateStages { |
| 138 | + /** |
| 139 | + * The stage of the blobserviceproperties update allowing to specify Cors. |
| 140 | + */ |
| 141 | + interface WithCors { |
| 142 | + /** |
| 143 | + * Specifies cors. |
| 144 | + * @param cors Specifies CORS rules for the Blob service. You can include up to five CorsRule elements in the request. If no CorsRule elements are included in the request body, all CORS rules will be deleted, and CORS will be disabled for the Blob service |
| 145 | + * @return the next update stage |
| 146 | + */ |
| 147 | + Update withCors(CorsRules cors); |
| 148 | + } |
| 149 | + |
| 150 | + /** |
| 151 | + * The stage of the blobserviceproperties update allowing to specify DefaultServiceVersion. |
| 152 | + */ |
| 153 | + interface WithDefaultServiceVersion { |
| 154 | + /** |
| 155 | + * Specifies defaultServiceVersion. |
| 156 | + * @param defaultServiceVersion DefaultServiceVersion indicates the default version to use for requests to the Blob service if an incoming request’s version is not specified. Possible values include version 2008-10-27 and all more recent versions |
| 157 | + * @return the next update stage |
| 158 | + */ |
| 159 | + Update withDefaultServiceVersion(String defaultServiceVersion); |
| 160 | + } |
| 161 | + |
| 162 | + /** |
| 163 | + * The stage of the blobserviceproperties update allowing to specify DeleteRetentionPolicy. |
| 164 | + */ |
| 165 | + interface WithDeleteRetentionPolicy { |
| 166 | + /** |
| 167 | + * Specifies deleteRetentionPolicy. |
| 168 | + * @param deleteRetentionPolicy The blob service properties for soft delete |
| 169 | + * @return the next update stage |
| 170 | + */ |
| 171 | + Update withDeleteRetentionPolicy(DeleteRetentionPolicy deleteRetentionPolicy); |
| 172 | + } |
| 173 | + |
| 174 | + } |
| 175 | +} |
0 commit comments