azure-cli
Version:
Microsoft Azure Cross Platform Command Line tool
172 lines (166 loc) • 6.15 kB
JavaScript
/*
* Copyright (c) Microsoft Corporation. All rights reserved.
* Licensed under the MIT License. See License.txt in the project root for
* license information.
*
* Code generated by Microsoft (R) AutoRest Code Generator.
* Changes may cause incorrect behavior and will be lost if the code is
* regenerated.
*/
;
const models = require('./index');
/**
* Describes a virtual machine scale set network profile's IP configuration.
*
* @extends models['SubResource']
*/
class VirtualMachineScaleSetIPConfiguration extends models['SubResource'] {
/**
* Create a VirtualMachineScaleSetIPConfiguration.
* @member {string} name The IP configuration name.
* @member {object} [subnet] Specifies the identifier of the subnet.
* @member {string} [subnet.id] The ARM resource id in the form of
* /subscriptions/{SubcriptionId}/resourceGroups/{ResourceGroupName}/...
* @member {boolean} [primary] Specifies the primary network interface in
* case the virtual machine has more than 1 network interface.
* @member {object} [publicIPAddressConfiguration] The
* publicIPAddressConfiguration.
* @member {string} [publicIPAddressConfiguration.name] The publicIP address
* configuration name.
* @member {number} [publicIPAddressConfiguration.idleTimeoutInMinutes] The
* idle timeout of the public IP address.
* @member {object} [publicIPAddressConfiguration.dnsSettings] The dns
* settings to be applied on the publicIP addresses .
* @member {string}
* [publicIPAddressConfiguration.dnsSettings.domainNameLabel] The Domain name
* label.The concatenation of the domain name label and vm index will be the
* domain name labels of the PublicIPAddress resources that will be created
* @member {string} [privateIPAddressVersion] Available from Api-Version
* 2017-03-30 onwards, it represents whether the specific ipconfiguration is
* IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and
* 'IPv6'. Possible values include: 'IPv4', 'IPv6'
* @member {array} [applicationGatewayBackendAddressPools] Specifies an array
* of references to backend address pools of application gateways. A scale
* set can reference backend address pools of multiple application gateways.
* Multiple scale sets cannot use the same application gateway.
* @member {array} [loadBalancerBackendAddressPools] Specifies an array of
* references to backend address pools of load balancers. A scale set can
* reference backend address pools of one public and one internal load
* balancer. Multiple scale sets cannot use the same load balancer.
* @member {array} [loadBalancerInboundNatPools] Specifies an array of
* references to inbound Nat pools of the load balancers. A scale set can
* reference inbound nat pools of one public and one internal load balancer.
* Multiple scale sets cannot use the same load balancer
*/
constructor() {
super();
}
/**
* Defines the metadata of VirtualMachineScaleSetIPConfiguration
*
* @returns {object} metadata of VirtualMachineScaleSetIPConfiguration
*
*/
mapper() {
return {
required: false,
serializedName: 'VirtualMachineScaleSetIPConfiguration',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetIPConfiguration',
modelProperties: {
id: {
required: false,
serializedName: 'id',
type: {
name: 'String'
}
},
name: {
required: true,
serializedName: 'name',
type: {
name: 'String'
}
},
subnet: {
required: false,
serializedName: 'properties.subnet',
type: {
name: 'Composite',
className: 'ApiEntityReference'
}
},
primary: {
required: false,
serializedName: 'properties.primary',
type: {
name: 'Boolean'
}
},
publicIPAddressConfiguration: {
required: false,
serializedName: 'properties.publicIPAddressConfiguration',
type: {
name: 'Composite',
className: 'VirtualMachineScaleSetPublicIPAddressConfiguration'
}
},
privateIPAddressVersion: {
required: false,
serializedName: 'properties.privateIPAddressVersion',
type: {
name: 'String'
}
},
applicationGatewayBackendAddressPools: {
required: false,
serializedName: 'properties.applicationGatewayBackendAddressPools',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'SubResourceElementType',
type: {
name: 'Composite',
className: 'SubResource'
}
}
}
},
loadBalancerBackendAddressPools: {
required: false,
serializedName: 'properties.loadBalancerBackendAddressPools',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'SubResourceElementType',
type: {
name: 'Composite',
className: 'SubResource'
}
}
}
},
loadBalancerInboundNatPools: {
required: false,
serializedName: 'properties.loadBalancerInboundNatPools',
type: {
name: 'Sequence',
element: {
required: false,
serializedName: 'SubResourceElementType',
type: {
name: 'Composite',
className: 'SubResource'
}
}
}
}
}
}
};
}
}
module.exports = VirtualMachineScaleSetIPConfiguration;