update all

This commit is contained in:
Minhan Xia 2016-05-18 12:39:56 -07:00
parent a1bd33f510
commit 466bc3831b
12 changed files with 386 additions and 151 deletions

View File

@ -18391,6 +18391,13 @@
"loadBalancerIP": { "loadBalancerIP": {
"type": "string", "type": "string",
"description": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature." "description": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature."
},
"loadBalancerSourceRanges": {
"type": "array",
"items": {
"type": "string"
},
"description": "If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.\" More info: http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md"
} }
} }
}, },

View File

@ -1320,7 +1320,7 @@ Examples:<br>
</div> </div>
<div id="footer"> <div id="footer">
<div id="footer-text"> <div id="footer-text">
Last updated 2016-05-02 18:47:14 UTC Last updated 2016-05-23 07:07:20 UTC
</div> </div>
</div> </div>
</body> </body>

View File

@ -7770,6 +7770,13 @@ The resulting set of endpoints can be viewed as:<br>
<td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td> <td class="tableblock halign-left valign-top"><p class="tableblock">string</p></td>
<td class="tableblock halign-left valign-top"></td> <td class="tableblock halign-left valign-top"></td>
</tr> </tr>
<tr>
<td class="tableblock halign-left valign-top"><p class="tableblock">loadBalancerSourceRanges</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature." More info: <a href="http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md">http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md</a></p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">false</p></td>
<td class="tableblock halign-left valign-top"><p class="tableblock">string array</p></td>
<td class="tableblock halign-left valign-top"></td>
</tr>
</tbody> </tbody>
</table> </table>
@ -7984,7 +7991,7 @@ The resulting set of endpoints can be viewed as:<br>
</div> </div>
<div id="footer"> <div id="footer">
<div id="footer-text"> <div id="footer-text">
Last updated 2016-05-24 11:53:20 UTC Last updated 2016-05-26 18:58:49 UTC
</div> </div>
</div> </div>
</body> </body>

View File

@ -3007,6 +3007,13 @@ func DeepCopy_api_ServiceSpec(in ServiceSpec, out *ServiceSpec, c *conversion.Cl
} }
out.LoadBalancerIP = in.LoadBalancerIP out.LoadBalancerIP = in.LoadBalancerIP
out.SessionAffinity = in.SessionAffinity out.SessionAffinity = in.SessionAffinity
if in.LoadBalancerSourceRanges != nil {
in, out := in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
*out = make([]string, len(in))
copy(*out, in)
} else {
out.LoadBalancerSourceRanges = nil
}
return nil return nil
} }

View File

@ -39,7 +39,7 @@ func IsAllowAll(ipnets netsets.IPNet) bool {
} }
// GetLoadBalancerSourceRanges first try to parse and verify LoadBalancerSourceRanges field from a service. // GetLoadBalancerSourceRanges first try to parse and verify LoadBalancerSourceRanges field from a service.
// If field not specified, turn to verifies and parses the AnnotationLoadBalancerSourceRangesKey annotation from a service, // If the field is not specified, turn to parse and verify the AnnotationLoadBalancerSourceRangesKey annotation from a service,
// extracting the source ranges to allow, and if not present returns a default (allow-all) value. // extracting the source ranges to allow, and if not present returns a default (allow-all) value.
func GetLoadBalancerSourceRanges(service *api.Service) (netsets.IPNet, error) { func GetLoadBalancerSourceRanges(service *api.Service) (netsets.IPNet, error) {
var ipnets netsets.IPNet var ipnets netsets.IPNet

View File

@ -31819,7 +31819,7 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
} else { } else {
yysep2 := !z.EncBinary() yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [7]bool var yyq2 [8]bool
_, _, _ = yysep2, yyq2, yy2arr2 _, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false const yyr2 bool = false
yyq2[0] = x.Type != "" yyq2[0] = x.Type != ""
@ -31827,9 +31827,10 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
yyq2[4] = len(x.ExternalIPs) != 0 yyq2[4] = len(x.ExternalIPs) != 0
yyq2[5] = x.LoadBalancerIP != "" yyq2[5] = x.LoadBalancerIP != ""
yyq2[6] = x.SessionAffinity != "" yyq2[6] = x.SessionAffinity != ""
yyq2[7] = len(x.LoadBalancerSourceRanges) != 0
var yynn2 int var yynn2 int
if yyr2 || yy2arr2 { if yyr2 || yy2arr2 {
r.EncodeArrayStart(7) r.EncodeArrayStart(8)
} else { } else {
yynn2 = 2 yynn2 = 2
for _, b := range yyq2 { for _, b := range yyq2 {
@ -32007,6 +32008,39 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
x.SessionAffinity.CodecEncodeSelf(e) x.SessionAffinity.CodecEncodeSelf(e)
} }
} }
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[7] {
if x.LoadBalancerSourceRanges == nil {
r.EncodeNil()
} else {
yym25 := z.EncBinary()
_ = yym25
if false {
} else {
z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
}
}
} else {
r.EncodeNil()
}
} else {
if yyq2[7] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("loadBalancerSourceRanges"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.LoadBalancerSourceRanges == nil {
r.EncodeNil()
} else {
yym26 := z.EncBinary()
_ = yym26
if false {
} else {
z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
}
}
}
}
if yyr2 || yy2arr2 { if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234) z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else { } else {
@ -32128,6 +32162,18 @@ func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
} else { } else {
x.SessionAffinity = ServiceAffinity(r.DecodeString()) x.SessionAffinity = ServiceAffinity(r.DecodeString())
} }
case "loadBalancerSourceRanges":
if r.TryDecodeAsNil() {
x.LoadBalancerSourceRanges = nil
} else {
yyv14 := &x.LoadBalancerSourceRanges
yym15 := z.DecBinary()
_ = yym15
if false {
} else {
z.F.DecSliceStringX(yyv14, false, d)
}
}
default: default:
z.DecStructFieldNotFound(-1, yys3) z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3 } // end switch yys3
@ -32139,16 +32185,16 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234 var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d) z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r _, _, _ = h, z, r
var yyj14 int var yyj16 int
var yyb14 bool var yyb16 bool
var yyhl14 bool = l >= 0 var yyhl16 bool = l >= 0
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32158,13 +32204,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.Type = ServiceType(r.DecodeString()) x.Type = ServiceType(r.DecodeString())
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32172,21 +32218,21 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.Ports = nil x.Ports = nil
} else { } else {
yyv16 := &x.Ports yyv18 := &x.Ports
yym17 := z.DecBinary() yym19 := z.DecBinary()
_ = yym17 _ = yym19
if false { if false {
} else { } else {
h.decSliceServicePort((*[]ServicePort)(yyv16), d) h.decSliceServicePort((*[]ServicePort)(yyv18), d)
} }
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32194,21 +32240,21 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.Selector = nil x.Selector = nil
} else { } else {
yyv18 := &x.Selector yyv20 := &x.Selector
yym19 := z.DecBinary() yym21 := z.DecBinary()
_ = yym19 _ = yym21
if false { if false {
} else { } else {
z.F.DecMapStringStringX(yyv18, false, d) z.F.DecMapStringStringX(yyv20, false, d)
} }
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32218,13 +32264,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.ClusterIP = string(r.DecodeString()) x.ClusterIP = string(r.DecodeString())
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32232,21 +32278,21 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.ExternalIPs = nil x.ExternalIPs = nil
} else { } else {
yyv21 := &x.ExternalIPs yyv23 := &x.ExternalIPs
yym22 := z.DecBinary() yym24 := z.DecBinary()
_ = yym22 _ = yym24
if false { if false {
} else { } else {
z.F.DecSliceStringX(yyv21, false, d) z.F.DecSliceStringX(yyv23, false, d)
} }
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32256,13 +32302,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.LoadBalancerIP = string(r.DecodeString()) x.LoadBalancerIP = string(r.DecodeString())
} }
yyj14++ yyj16++
if yyhl14 { if yyhl16 {
yyb14 = yyj14 > l yyb16 = yyj16 > l
} else { } else {
yyb14 = r.CheckBreak() yyb16 = r.CheckBreak()
} }
if yyb14 { if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -32272,18 +32318,40 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.SessionAffinity = ServiceAffinity(r.DecodeString()) x.SessionAffinity = ServiceAffinity(r.DecodeString())
} }
for { yyj16++
yyj14++ if yyhl16 {
if yyhl14 { yyb16 = yyj16 > l
yyb14 = yyj14 > l } else {
yyb16 = r.CheckBreak()
}
if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.LoadBalancerSourceRanges = nil
} else {
yyv27 := &x.LoadBalancerSourceRanges
yym28 := z.DecBinary()
_ = yym28
if false {
} else { } else {
yyb14 = r.CheckBreak() z.F.DecSliceStringX(yyv27, false, d)
} }
if yyb14 { }
for {
yyj16++
if yyhl16 {
yyb16 = yyj16 > l
} else {
yyb16 = r.CheckBreak()
}
if yyb16 {
break break
} }
z.DecSendContainerState(codecSelfer_containerArrayElem1234) z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj14-1, "") z.DecStructFieldNotFound(yyj16-1, "")
} }
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} }
@ -55630,7 +55698,7 @@ func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
yyrg1 := len(yyv1) > 0 yyrg1 := len(yyv1) > 0
yyv21 := yyv1 yyv21 := yyv1
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 384) yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 408)
if yyrt1 { if yyrt1 {
if yyrl1 <= cap(yyv1) { if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1] yyv1 = yyv1[:yyrl1]

View File

@ -6588,6 +6588,13 @@ func autoConvert_v1_ServiceSpec_To_api_ServiceSpec(in *ServiceSpec, out *api.Ser
} }
out.SessionAffinity = api.ServiceAffinity(in.SessionAffinity) out.SessionAffinity = api.ServiceAffinity(in.SessionAffinity)
out.LoadBalancerIP = in.LoadBalancerIP out.LoadBalancerIP = in.LoadBalancerIP
if in.LoadBalancerSourceRanges != nil {
in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.LoadBalancerSourceRanges = nil
}
return nil return nil
} }
@ -6623,6 +6630,13 @@ func autoConvert_api_ServiceSpec_To_v1_ServiceSpec(in *api.ServiceSpec, out *Ser
} }
out.LoadBalancerIP = in.LoadBalancerIP out.LoadBalancerIP = in.LoadBalancerIP
out.SessionAffinity = ServiceAffinity(in.SessionAffinity) out.SessionAffinity = ServiceAffinity(in.SessionAffinity)
if in.LoadBalancerSourceRanges != nil {
in, out := &in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
*out = make([]string, len(*in))
copy(*out, *in)
} else {
out.LoadBalancerSourceRanges = nil
}
return nil return nil
} }

View File

@ -2968,6 +2968,13 @@ func DeepCopy_v1_ServiceSpec(in ServiceSpec, out *ServiceSpec, c *conversion.Clo
} }
out.SessionAffinity = in.SessionAffinity out.SessionAffinity = in.SessionAffinity
out.LoadBalancerIP = in.LoadBalancerIP out.LoadBalancerIP = in.LoadBalancerIP
if in.LoadBalancerSourceRanges != nil {
in, out := in.LoadBalancerSourceRanges, &out.LoadBalancerSourceRanges
*out = make([]string, len(in))
copy(*out, in)
} else {
out.LoadBalancerSourceRanges = nil
}
return nil return nil
} }

View File

@ -7158,6 +7158,21 @@ func (m *ServiceSpec) MarshalTo(data []byte) (int, error) {
i++ i++
i = encodeVarintGenerated(data, i, uint64(len(m.LoadBalancerIP))) i = encodeVarintGenerated(data, i, uint64(len(m.LoadBalancerIP)))
i += copy(data[i:], m.LoadBalancerIP) i += copy(data[i:], m.LoadBalancerIP)
if len(m.LoadBalancerSourceRanges) > 0 {
for _, s := range m.LoadBalancerSourceRanges {
data[i] = 0x4a
i++
l = len(s)
for l >= 1<<7 {
data[i] = uint8(uint64(l)&0x7f | 0x80)
l >>= 7
i++
}
data[i] = uint8(l)
i++
i += copy(data[i:], s)
}
}
return i, nil return i, nil
} }
@ -9941,6 +9956,12 @@ func (m *ServiceSpec) Size() (n int) {
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
l = len(m.LoadBalancerIP) l = len(m.LoadBalancerIP)
n += 1 + l + sovGenerated(uint64(l)) n += 1 + l + sovGenerated(uint64(l))
if len(m.LoadBalancerSourceRanges) > 0 {
for _, s := range m.LoadBalancerSourceRanges {
l = len(s)
n += 1 + l + sovGenerated(uint64(l))
}
}
return n return n
} }
@ -32508,6 +32529,35 @@ func (m *ServiceSpec) Unmarshal(data []byte) error {
} }
m.LoadBalancerIP = string(data[iNdEx:postIndex]) m.LoadBalancerIP = string(data[iNdEx:postIndex])
iNdEx = postIndex iNdEx = postIndex
case 9:
if wireType != 2 {
return fmt.Errorf("proto: wrong wireType = %d for field LoadBalancerSourceRanges", wireType)
}
var stringLen uint64
for shift := uint(0); ; shift += 7 {
if shift >= 64 {
return ErrIntOverflowGenerated
}
if iNdEx >= l {
return io.ErrUnexpectedEOF
}
b := data[iNdEx]
iNdEx++
stringLen |= (uint64(b) & 0x7F) << shift
if b < 0x80 {
break
}
}
intStringLen := int(stringLen)
if intStringLen < 0 {
return ErrInvalidLengthGenerated
}
postIndex := iNdEx + intStringLen
if postIndex > l {
return io.ErrUnexpectedEOF
}
m.LoadBalancerSourceRanges = append(m.LoadBalancerSourceRanges, string(data[iNdEx:postIndex]))
iNdEx = postIndex
default: default:
iNdEx = preIndex iNdEx = preIndex
skippy, err := skipGenerated(data[iNdEx:]) skippy, err := skipGenerated(data[iNdEx:])

View File

@ -2701,6 +2701,12 @@ message ServiceSpec {
// the loadBalancerIP when a load balancer is created. // the loadBalancerIP when a load balancer is created.
// This field will be ignored if the cloud-provider does not support the feature. // This field will be ignored if the cloud-provider does not support the feature.
optional string loadBalancerIP = 8; optional string loadBalancerIP = 8;
// If specified and supported by the platform, this will restrict traffic through the cloud-provider
// load-balancer will be restricted to the specified client IPs. This field will be ignored if the
// cloud-provider does not support the feature."
// More info: http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md
repeated string loadBalancerSourceRanges = 9;
} }
// ServiceStatus represents the current status of a service. // ServiceStatus represents the current status of a service.

View File

@ -31128,7 +31128,7 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
} else { } else {
yysep2 := !z.EncBinary() yysep2 := !z.EncBinary()
yy2arr2 := z.EncBasicHandle().StructToArray yy2arr2 := z.EncBasicHandle().StructToArray
var yyq2 [8]bool var yyq2 [9]bool
_, _, _ = yysep2, yyq2, yy2arr2 _, _, _ = yysep2, yyq2, yy2arr2
const yyr2 bool = false const yyr2 bool = false
yyq2[1] = len(x.Selector) != 0 yyq2[1] = len(x.Selector) != 0
@ -31138,9 +31138,10 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
yyq2[5] = len(x.DeprecatedPublicIPs) != 0 yyq2[5] = len(x.DeprecatedPublicIPs) != 0
yyq2[6] = x.SessionAffinity != "" yyq2[6] = x.SessionAffinity != ""
yyq2[7] = x.LoadBalancerIP != "" yyq2[7] = x.LoadBalancerIP != ""
yyq2[8] = len(x.LoadBalancerSourceRanges) != 0
var yynn2 int var yynn2 int
if yyr2 || yy2arr2 { if yyr2 || yy2arr2 {
r.EncodeArrayStart(8) r.EncodeArrayStart(9)
} else { } else {
yynn2 = 1 yynn2 = 1
for _, b := range yyq2 { for _, b := range yyq2 {
@ -31357,6 +31358,39 @@ func (x *ServiceSpec) CodecEncodeSelf(e *codec1978.Encoder) {
} }
} }
} }
if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayElem1234)
if yyq2[8] {
if x.LoadBalancerSourceRanges == nil {
r.EncodeNil()
} else {
yym28 := z.EncBinary()
_ = yym28
if false {
} else {
z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
}
}
} else {
r.EncodeNil()
}
} else {
if yyq2[8] {
z.EncSendContainerState(codecSelfer_containerMapKey1234)
r.EncodeString(codecSelferC_UTF81234, string("loadBalancerSourceRanges"))
z.EncSendContainerState(codecSelfer_containerMapValue1234)
if x.LoadBalancerSourceRanges == nil {
r.EncodeNil()
} else {
yym29 := z.EncBinary()
_ = yym29
if false {
} else {
z.F.EncSliceStringV(x.LoadBalancerSourceRanges, false, e)
}
}
}
}
if yyr2 || yy2arr2 { if yyr2 || yy2arr2 {
z.EncSendContainerState(codecSelfer_containerArrayEnd1234) z.EncSendContainerState(codecSelfer_containerArrayEnd1234)
} else { } else {
@ -31490,6 +31524,18 @@ func (x *ServiceSpec) codecDecodeSelfFromMap(l int, d *codec1978.Decoder) {
} else { } else {
x.LoadBalancerIP = string(r.DecodeString()) x.LoadBalancerIP = string(r.DecodeString())
} }
case "loadBalancerSourceRanges":
if r.TryDecodeAsNil() {
x.LoadBalancerSourceRanges = nil
} else {
yyv16 := &x.LoadBalancerSourceRanges
yym17 := z.DecBinary()
_ = yym17
if false {
} else {
z.F.DecSliceStringX(yyv16, false, d)
}
}
default: default:
z.DecStructFieldNotFound(-1, yys3) z.DecStructFieldNotFound(-1, yys3)
} // end switch yys3 } // end switch yys3
@ -31501,16 +31547,16 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
var h codecSelfer1234 var h codecSelfer1234
z, r := codec1978.GenHelperDecoder(d) z, r := codec1978.GenHelperDecoder(d)
_, _, _ = h, z, r _, _, _ = h, z, r
var yyj16 int var yyj18 int
var yyb16 bool var yyb18 bool
var yyhl16 bool = l >= 0 var yyhl18 bool = l >= 0
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31518,21 +31564,21 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.Ports = nil x.Ports = nil
} else { } else {
yyv17 := &x.Ports yyv19 := &x.Ports
yym18 := z.DecBinary() yym20 := z.DecBinary()
_ = yym18 _ = yym20
if false { if false {
} else { } else {
h.decSliceServicePort((*[]ServicePort)(yyv17), d) h.decSliceServicePort((*[]ServicePort)(yyv19), d)
} }
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31540,21 +31586,21 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.Selector = nil x.Selector = nil
} else { } else {
yyv19 := &x.Selector yyv21 := &x.Selector
yym20 := z.DecBinary() yym22 := z.DecBinary()
_ = yym20 _ = yym22
if false { if false {
} else { } else {
z.F.DecMapStringStringX(yyv19, false, d) z.F.DecMapStringStringX(yyv21, false, d)
} }
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31564,13 +31610,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.ClusterIP = string(r.DecodeString()) x.ClusterIP = string(r.DecodeString())
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31580,13 +31626,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.Type = ServiceType(r.DecodeString()) x.Type = ServiceType(r.DecodeString())
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31594,29 +31640,7 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
if r.TryDecodeAsNil() { if r.TryDecodeAsNil() {
x.ExternalIPs = nil x.ExternalIPs = nil
} else { } else {
yyv23 := &x.ExternalIPs yyv25 := &x.ExternalIPs
yym24 := z.DecBinary()
_ = yym24
if false {
} else {
z.F.DecSliceStringX(yyv23, false, d)
}
}
yyj16++
if yyhl16 {
yyb16 = yyj16 > l
} else {
yyb16 = r.CheckBreak()
}
if yyb16 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DeprecatedPublicIPs = nil
} else {
yyv25 := &x.DeprecatedPublicIPs
yym26 := z.DecBinary() yym26 := z.DecBinary()
_ = yym26 _ = yym26
if false { if false {
@ -31624,13 +31648,35 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
z.F.DecSliceStringX(yyv25, false, d) z.F.DecSliceStringX(yyv25, false, d)
} }
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.DeprecatedPublicIPs = nil
} else {
yyv27 := &x.DeprecatedPublicIPs
yym28 := z.DecBinary()
_ = yym28
if false {
} else {
z.F.DecSliceStringX(yyv27, false, d)
}
}
yyj18++
if yyhl18 {
yyb18 = yyj18 > l
} else {
yyb18 = r.CheckBreak()
}
if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31640,13 +31686,13 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.SessionAffinity = ServiceAffinity(r.DecodeString()) x.SessionAffinity = ServiceAffinity(r.DecodeString())
} }
yyj16++ yyj18++
if yyhl16 { if yyhl18 {
yyb16 = yyj16 > l yyb18 = yyj18 > l
} else { } else {
yyb16 = r.CheckBreak() yyb18 = r.CheckBreak()
} }
if yyb16 { if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return return
} }
@ -31656,18 +31702,40 @@ func (x *ServiceSpec) codecDecodeSelfFromArray(l int, d *codec1978.Decoder) {
} else { } else {
x.LoadBalancerIP = string(r.DecodeString()) x.LoadBalancerIP = string(r.DecodeString())
} }
for { yyj18++
yyj16++ if yyhl18 {
if yyhl16 { yyb18 = yyj18 > l
yyb16 = yyj16 > l } else {
yyb18 = r.CheckBreak()
}
if yyb18 {
z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
return
}
z.DecSendContainerState(codecSelfer_containerArrayElem1234)
if r.TryDecodeAsNil() {
x.LoadBalancerSourceRanges = nil
} else {
yyv31 := &x.LoadBalancerSourceRanges
yym32 := z.DecBinary()
_ = yym32
if false {
} else { } else {
yyb16 = r.CheckBreak() z.F.DecSliceStringX(yyv31, false, d)
} }
if yyb16 { }
for {
yyj18++
if yyhl18 {
yyb18 = yyj18 > l
} else {
yyb18 = r.CheckBreak()
}
if yyb18 {
break break
} }
z.DecSendContainerState(codecSelfer_containerArrayElem1234) z.DecSendContainerState(codecSelfer_containerArrayElem1234)
z.DecStructFieldNotFound(yyj16-1, "") z.DecStructFieldNotFound(yyj18-1, "")
} }
z.DecSendContainerState(codecSelfer_containerArrayEnd1234) z.DecSendContainerState(codecSelfer_containerArrayEnd1234)
} }
@ -55921,7 +55989,7 @@ func (x codecSelfer1234) decSliceService(v *[]Service, d *codec1978.Decoder) {
yyrg1 := len(yyv1) > 0 yyrg1 := len(yyv1) > 0
yyv21 := yyv1 yyv21 := yyv1
yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 408) yyrl1, yyrt1 = z.DecInferLen(yyl1, z.DecBasicHandle().MaxInitLen, 432)
if yyrt1 { if yyrt1 {
if yyrl1 <= cap(yyv1) { if yyrl1 <= cap(yyv1) {
yyv1 = yyv1[:yyrl1] yyv1 = yyv1[:yyrl1]

View File

@ -1598,15 +1598,16 @@ func (ServiceProxyOptions) SwaggerDoc() map[string]string {
} }
var map_ServiceSpec = map[string]string{ var map_ServiceSpec = map[string]string{
"": "ServiceSpec describes the attributes that a user creates on a service.", "": "ServiceSpec describes the attributes that a user creates on a service.",
"ports": "The list of ports that are exposed by this service. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", "ports": "The list of ports that are exposed by this service. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies",
"selector": "This service will route traffic to pods having labels matching this selector. Label keys and values that must match in order to receive traffic for this service. If empty, all pods are selected, if not specified, endpoints must be manually specified. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview", "selector": "This service will route traffic to pods having labels matching this selector. Label keys and values that must match in order to receive traffic for this service. If empty, all pods are selected, if not specified, endpoints must be manually specified. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#overview",
"clusterIP": "ClusterIP is usually assigned by the master and is the IP address of the service. If specified, it will be allocated to the service if it is unused or else creation of the service will fail. Valid values are None, empty string (\"\"), or a valid IP address. 'None' can be specified for a headless service when proxying is not required. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", "clusterIP": "ClusterIP is usually assigned by the master and is the IP address of the service. If specified, it will be allocated to the service if it is unused or else creation of the service will fail. Valid values are None, empty string (\"\"), or a valid IP address. 'None' can be specified for a headless service when proxying is not required. Cannot be updated. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies",
"type": "Type of exposed service. Must be ClusterIP, NodePort, or LoadBalancer. Defaults to ClusterIP. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services", "type": "Type of exposed service. Must be ClusterIP, NodePort, or LoadBalancer. Defaults to ClusterIP. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#external-services",
"externalIPs": "externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system. A previous form of this functionality exists as the deprecatedPublicIPs field. When using this field, callers should also clear the deprecatedPublicIPs field.", "externalIPs": "externalIPs is a list of IP addresses for which nodes in the cluster will also accept traffic for this service. These IPs are not managed by Kubernetes. The user is responsible for ensuring that traffic arrives at a node with this IP. A common example is external load-balancers that are not part of the Kubernetes system. A previous form of this functionality exists as the deprecatedPublicIPs field. When using this field, callers should also clear the deprecatedPublicIPs field.",
"deprecatedPublicIPs": "deprecatedPublicIPs is deprecated and replaced by the externalIPs field with almost the exact same semantics. This field is retained in the v1 API for compatibility until at least 8/20/2016. It will be removed from any new API revisions. If both deprecatedPublicIPs *and* externalIPs are set, deprecatedPublicIPs is used.", "deprecatedPublicIPs": "deprecatedPublicIPs is deprecated and replaced by the externalIPs field with almost the exact same semantics. This field is retained in the v1 API for compatibility until at least 8/20/2016. It will be removed from any new API revisions. If both deprecatedPublicIPs *and* externalIPs are set, deprecatedPublicIPs is used.",
"sessionAffinity": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies", "sessionAffinity": "Supports \"ClientIP\" and \"None\". Used to maintain session affinity. Enable client IP based session affinity. Must be ClientIP or None. Defaults to None. More info: http://releases.k8s.io/HEAD/docs/user-guide/services.md#virtual-ips-and-service-proxies",
"loadBalancerIP": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.", "loadBalancerIP": "Only applies to Service Type: LoadBalancer LoadBalancer will get created with the IP specified in this field. This feature depends on whether the underlying cloud-provider supports specifying the loadBalancerIP when a load balancer is created. This field will be ignored if the cloud-provider does not support the feature.",
"loadBalancerSourceRanges": "If specified and supported by the platform, this will restrict traffic through the cloud-provider load-balancer will be restricted to the specified client IPs. This field will be ignored if the cloud-provider does not support the feature.\" More info: http://releases.k8s.io/HEAD/docs/user-guide/services-firewalls.md",
} }
func (ServiceSpec) SwaggerDoc() map[string]string { func (ServiceSpec) SwaggerDoc() map[string]string {